我最近尝试扩展我对C语言的了解,并且遇到了一个使用emit的程序,可能会发出一个字节.
__declspec(naked) void marker_begin() {
__asm {
_emit 0x51;
_emit 0x21;
_emit 0x1A;
_emit 0x14;
_emit 0x2C;
_emit 0x5B;
}
Run Code Online (Sandbox Code Playgroud)
}
这可以用于什么?提前致谢.
Dee*_*epu 10
您的C程序使用_asm关键字执行内联汇编代码._asm是Microsoft中使用的特定关键字MSDN.该__asm关键字调用内联汇编.必须紧接着是汇编指令,括在括号中的一组指令,或者至少是一对空的括号.
该_emit伪指令类似DB的指令MASM._emit是一个MSDN特定的伪指令._emit用于在当前文本段中的当前位置定义单个立即数字节点._emit可以一次只定义一个字节,并且只能在文本段中定义.
| 归档时间: |
|
| 查看次数: |
5360 次 |
| 最近记录: |