直接地址跳转C实现
2024-09-16 11:41:03
《C缺陷和陷阱》讲过的一种方法:
( *( void (*)() ) 0 )(); //跳转到0地址执行
解析:
1.void (*p_fun)(void); //声明函数指针
2.void (*)(void)函数指针类型,(void (*)(void))0,将产量0强制转换成函数指针;
3.(*(void (*)(void))0)();引用函数指针;
另外一种使用方法:
函数指针调用可以略写*强制转换,例如:void (*p_fun)(void);
调用时
*p_fun(); 等同p_fun();
所以两外一种书写方法:((void (*) (void))0)();
最新文章
- 7、ASP.NET MVC入门到精通——第一个ASP.NET MVC程序
- 错误信息:内存位置访问无效。 (Exception from HRESULT: 0x800703E6)
- 浅谈Javascript中Promise对象的实现
- Magicodes.WeiChat——自定义knockoutjs template、component实现微信自定义菜单
- 《JS高程》实现继承的6种方式(完整版)
- oracle 所有下级
- maven插件mybatis-generator生成代码配置
- JNI加载Native Library 以及 跨线程和Qt通信
- Xaml于string(弦)定义常量和处理空间
- 解析CommandMessage
- bzoj1997 [HNOI2010]平面图判定Plana
- Java学习笔记之——final关键字
- linux服务器运维
- Confluence 6 启用 HTTP 压缩
- ASP.NET自定义服务器控件
- 【BZOJ 3620】 3620: 似乎在梦中见过的样子 (KMP)
- Dubbo+Zookeeper+Spring整合应用篇-Dubbo基于Zookeeper实现分布式服务(转)
- 十天精通CSS3(9)
- JSTORM 问题排查
- css计数器 及 鼠标经过从中间扩散一个矩形(正方形长方形均可)