C如何使用固定地址来访问函数
来源:互联网 发布:数据港公司怎么样 编辑:程序博客网 时间:2024/05/18 03:00
#include "stdafx.h"
#include "stdio.h"
int add(int a,int b)
{
return a+b;
}
int main(int argc, char* argv[])
{
//直接地址
int c=((int (*)(int,int))4198405)(1,2);
printf("%d\n",c);
//声明一个相同类型的变量
int (*ad)(int,int);
ad=add;
printf("%d\n",ad(1,2));
return 0;
}
解释:printf(“%d”,add); add的物理地址为 4198405;
我直接通过访问地址,而不是函数变量add。
我曾在c陷阱与缺陷中看过(*(void(*)())0)()这样的式子;void(*)()指向返回值为viod类型的函数的指针。(http://www.nowamagic.net/librarys/veda/detail/2020)
提示 printf(“%d %d”,add,&add); 他们的只是一样的,也就是说add本身就是一个地址,指针。
0 0
- C如何使用固定地址来访问函数
- 如何使用java来访问BLOB
- 函数来访问m_nvalue
- 如何使用java代码来访问managed-bean 的属性?
- 如何嵌入并使用 C# 来访问资源
- 如何嵌入和使用 C# 来访问资源
- 使用OTL来访问数据库
- 使用TortoiseGit来访问GitHub
- 使用SwitchySharp来访问google
- 使用Hive来访问HBase
- 使用configobj 来访问配置文件
- 用" #include<absacc.h> “ 即可使用其中定义的宏来访问绝对地址
- 如何通过花生壳域名来访问PLC。
- 用线程函数来访问一个类
- 使用XML-RPC来访问Web服务
- JS使用[ ]来访问对象属性
- 使用javascript来访问本地文件夹
- 使用 HttpLib 来访问 Web 服务
- jsp基础
- Caused by: java.sql.SQLException: ORA-01795: 列表中的最大表达式数为 1000解决方案
- 网络摄像头:H.264的编解码应用
- Java利用ShutDownHook关闭系统资源
- 30多条mysql数据库优化方法,千万级数据库记录查询轻松解决
- C如何使用固定地址来访问函数
- Android Studio 常用快捷键
- DIV定位,position属性
- openstack DBusException:Unable to autolaunch a dbus-daemon without a $DISPLAY for X11
- 我对Java Serializable(序列化)的理解和总结
- AVAudioPlayer 播放音频文件无声音的问题
- 软件项目管理面面观之“玩的就是心跳”
- mybatis实战教程(mybatis in action),mybatis入门到精通
- D3js-绘制SVG