为什么__inbyte使我的软件崩溃
Why does __inbyte crash my software?
我遇到了这个函数,我想知道它是做什么的,所以我写了下面的代码,用mingw32编译并在Wine和Windows下执行,在这两种情况下程序都崩溃了。
#include <stdio.h>
#include <stdlib.h>
#include <intrin.h>
int main()
{
unsigned char j = __inbyte(0xABC); // example value
printf("%in", j);
return 0;
}
我已经在MSDN上查过了,但是我发现描述是模糊的。http://msdn.microsoft.com/en-us/library/732t2y37%28v=vs.100%29.aspx
unsigned char __inbyte(unsigned short Port);
在指令中生成,返回从port指定的端口读取的一个字节。
IN指令试图直接从CPU I/O端口读取一个字节。这是一个特权操作,并且(几乎)总是会失败,除非您处于主管模式(例如,在内核中)。
除非您打算编写内核驱动程序,否则您可以放心地忘记您曾经见过这个内在的
相关文章:
- 当回溯以零开始时,如何调试崩溃
- 内联映射初始化的动态atexit析构函数崩溃
- 执行函数时导致崩溃的变量
- 程序崩溃并显示"std::out_of_range"错误
- CoInitialize()在单独的线程上崩溃而不返回
- 使用调试/崩溃报告将应用程序部署到客户端
- 为什么所有C++编译器都会崩溃或挂起此代码
- 为什么lambda在clang上崩溃而不是在gcc上崩溃
- 为什么我的多线程作业队列崩溃
- ExtractIconEx:可以工作,但偶尔会崩溃
- 为什么引用传递会导致此崩溃(C++)
- 试图创建流或fopen时程序崩溃
- 类对象数组的问题会导致崩溃
- 排序时无法执行交换操作.我做的时候它会崩溃.为什么
- 为什么要增加导致崩溃的指针
- 在虚幻引擎中删除NXOpen对象时崩溃
- 为什么它只打印双链接列表的第一个值,而我的程序却崩溃了
- 应用程序崩溃并显示"symbol _ZdlPvm, version Qt_5 not defined in file libQt5Core.so.5 with link time reference"
- 为什么__inbyte使我的软件崩溃
- Qt:使用QOpenGLWidget的软件在mainwindow.show()上崩溃