在C编程中,“发射”有什么作用?
我最近试图扩展我对C语言的了解,并且遇到了一个使用emit的程序,可能会发出一个字节。
__declspec(naked) void marker_begin() { __asm { _emit 0x51; _emit 0x21; _emit 0x1A; _emit 0x14; _emit 0x2C; _emit 0x5B; }
}
这可以用于什么? 提前致谢。
您的C程序使用_asm
关键字执行内联汇编代码。 _asm是MSDN
使用的Microsoft特定关键字。 __asm
关键字调用内联汇编程序。 必须紧接着是汇编指令,括在括号中的一组指令,或者至少是一对空括号。
_emit
伪指令类似于MASM
的DB
指令。 _emit
是一个MSDN
特定的伪指令。 _emit
用于在当前文本段中的当前位置定义单个立即数字节。 _emit
只能定义一个字节,并且只能在文本段中定义。