有些时候我们需要加入一些汇编级的代码来完成独特的功能,比较一些加密加壳之类的程序。
如果你也一直使用MICROSOFT的VS编写,可能也知道了C++嵌入式汇编代码的方法
__asm mov eax,ebx
__asm{
mov eax,0
pop eax
}
如此的代码,可是有没有想象如何加入一些机器码,就是执行时就是的二进制代码。别急,其实还是有方法的,也是在其他地方学来的,看来VS的其它功能还是用得少,不曾发现。这就是VC编译器的特有方式,不知道常规的C++语言有没有这样的汇编代码呢?
加入二进制代码
__asm{
__emit 0X90;
__emit 0X90;
__emit 0XEB;
__emit 0X02;
__emit 0X90;
__emit 0X90;
}
使用__emit后面加进制代码,不过只能加一个字节的。