概述
c语言中执行汇编代码可以直接嵌在_asm{}块中,但是怎么执行机器码呢。
先定义一个机器码数组,然后通过函数指针调用。
unsigned char code[] =//{return x+y;}
{
0x55, 0x8B, 0xEC, 0x83, 0xEC, 0x40, 0x53, 0x56, 0x57,
0x8d, 0x7d, 0xc0, 0xb9, 0x10, 0x00, 0x00, 0x00, 0xb8,
0xcc, 0xcc, 0xcc, 0xcc, 0xf3, 0xab,
0x8b, 0x45, 0x08, 0x03, 0x45, 0x0c,
0x5f, 0x5e, 0x5b, 0x8b, 0xe5, 0x5d, 0xc3
};
typedef int(*FUN)(int, int);
FUN fun = (FUN)(void *)code;
int x = fun(1, 2);
```
最后
以上就是坚强热狗为你收集整理的c执行机器码的全部内容,希望文章能够帮你解决c执行机器码所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复