关于对函数名地址
对函数名取址和直接取函数名是一样的:#include <stdio.h>
//typedef int (*PFUN)(void);
int fun(void)
{
printf("Hello world\n");
return 0;
}
int main(void)
{
int (*pfun_test)(void);
pfun_test = fun;
pfun_test();
(pfun_test)();
(*pfun_test)();
(*****pfun_test)();
(*****************pfun_test)();
printf("fun addr %x\n",fun);
printf("fun addr %x\n",&fun);
return 0;
}
Hello world
Hello world
Hello world
Hello world
Hello world
fun addr 401005
fun addr 401005
Press any key to continue
楼主你好,看过你发的好多帖子,发现 你应该是喜欢追求 知其所以然 的鱼油。
既然喜欢谈其究竟,建议你学一点汇编,然后学学反汇编协助你的调试工作 (这些课程甲鱼老大都有)
然后再探寻这些知识的时候,就发现 底层是怎么实现的了。
至于为什么,我是这么看的:对于新手和一些只关注上层应用的人,他们不关注这些东西,因为没什么实际作用;而对于像我们这些懂一丢丢汇编的来说,这个又说的太浅了。
所以,希望楼主保持这份刨根问底的精神,探求生命的最根源 。。。 咳咳,程序的原理。
期待楼主的精彩!与君共勉!大牛,看你的了!!!
不一定的。 n0noper 发表于 2016-6-24 11:50
楼主你好,看过你发的好多帖子,发现 你应该是喜欢追求 知其所以然 的鱼油。
既然喜欢谈其究竟,建议 ...
你调试用的什么工具?我用的VC6++,win7的机子上debug很不好用。之前有个帖子的回复是从汇编的角度来解释的,确实非常有说服力。我正在寻找一个能从汇编角度分析的好用软件。谢谢 图记 n0noper 发表于 2016-6-24 11:50
楼主你好,看过你发的好多帖子,发现 你应该是喜欢追求 知其所以然 的鱼油。
既然喜欢谈其究竟,建议 ...
看到了你发的VC调试简介,下载下来了,正在看。多谢 从汇编角度来讲,调用的是内存中同一个地址 n0noper 发表于 2016-6-24 11:50
楼主你好,看过你发的好多帖子,发现 你应该是喜欢追求 知其所以然 的鱼油。
既然喜欢谈其究竟,建议 ...
那个40M的VC6 的好像下不了 阁龙1427 发表于 2016-6-24 15:38
那个40M的VC6 的好像下不了
我也用VC6 ~~~
VC6就可以啊,但是网上大多数下载的VC6貌似有BUG (假死那个最常见),需要打补丁,补丁 ···
补丁下载:http://pan.baidu.com/s/1eSHMQps n0noper 发表于 2016-6-24 21:04
我也用VC6 ~~~
VC6就可以啊,但是网上大多数下载的VC6貌似有BUG (假死那个最常见),需要打补丁,补丁...
已经下载,现在调试正常,tack somigen
页:
[1]