c - 如何避免段错误?
问题描述
我正在使用一个完全没有库的 GNU GCC 编译器,使用 macOS
这是我的代码:
#define in(port, to) __asm__ volatile ("inb %1, %0" : "=a" (to) : "Nd" (port))
char key() {
char c;
in(0x60, c);
return c;
}
调用此函数会导致段错误,怀疑预处理器中的 in() 函数如何避免这种情况?
解决方案
推荐阅读
- python-3.x - 从函数返回 memoryview 是否安全?
- cluster-computing - 访问由流量管理器管理的特定 Azure 应用服务
- excel - 如果满足特定要求,则在循环中插入额外的行
- java - 如何从edittext获取给定年份的第三个星期三?
- node.js - forEach 函数不等待在 AWS lambda 上返回缓冲区
- c# - 对 Azure Devops Git 存储库进行身份验证
- jasper-reports - 元素 jr:jrxml 文件中不允许使用表
- javascript - 在 JavaScript 中将整数转换为随模式浮动
- javascript - 由 javascript 更改的元素未提交
- c# - Winforms - 列表框项目悬停并选择颜色