【例子】堆栈中运行程序
2009-09-14 18:23
106 查看
#include<stdio.h> #include<string.h> typedef int (*PFunc0)(const char*,...); void test() { PFunc0 pf = printf; pf("test/n"); // printf("1"); //栈上直接调用函数会出错,用函数指针正常。应该是相对偏移和绝对偏移的原因。 } typedef void (*PFunc1)(); int main() { char buf[1024] = {0}; memcpy( buf, (void*)test, 1024 ); //将代码拷贝到堆栈 ((PFunc1)(int)buf)(); //执行堆栈中的代码 return 0; }
相关文章推荐
- C语言中内存分布及程序运行中(BSS段、数据段、代码段、堆栈)
- dos命令下运行java程序(链接mysql为例子)
- 数字猜大小(经典多线程和自动生成控件的小例子)和确定程序的运行时间方法
- C语言中内存分布及程序运行中(BSS段、数据段、代码段、堆栈)
- 为golang程序使用pprof远程查看httpserver运行堆栈,cpu耗时等信息
- C语言中内存分布及程序运行中(BSS段、数据段、代码段、堆栈)
- ogre例子程序SampleBrowser_d.exe运行出错
- Google Protocol Buffers自带c++,java,python例子程序编译运行
- 关于官网例子程序的运行失败【tutorial文件夹】
- SAStruts运行例子程序前的配置
- 运行Keras例子程序:imdb_cnn.py
- C# ASP.NET 通用权限管理系统组件源码中WCF例子程序客户端运行详细配置参考
- C语言中内存分布及程序运行中(BSS段、数据段、代码段、堆栈)
- BCB程序开机自动运行启用与取消的代码例子
- c语言获取程序运行的时间例子
- 程序运行中(BSS段、数据段、代码段、堆栈)
- 有没有记录程序运行中所有的函数调用堆栈的工具?
- 如何运行jasperReport自带的例子程序
- C# ASP.NET 通用权限管理系统组件源码中WCF例子程序服务器端运行详细配置参考
- 如何快速地编写和运行一个属于自己的 MapReduce 例子程序