阁龙1427 发表于 2016-6-24 11:41:55

关于对函数名地址

对函数名取址和直接取函数名是一样的:
#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:34


楼主你好,看过你发的好多帖子,发现 你应该是喜欢追求 知其所以然 的鱼油。

既然喜欢谈其究竟,建议你学一点汇编,然后学学反汇编协助你的调试工作 (这些课程甲鱼老大都有)

然后再探寻这些知识的时候,就发现 底层是怎么实现的了。

至于为什么,我是这么看的:对于新手和一些只关注上层应用的人,他们不关注这些东西,因为没什么实际作用;而对于像我们这些懂一丢丢汇编的来说,这个又说的太浅了。

所以,希望楼主保持这份刨根问底的精神,探求生命的最根源 。。。 咳咳,程序的原理。

期待楼主的精彩!与君共勉!大牛,看你的了!!!

无符号整形 发表于 2016-6-24 11:59:55

不一定的。

阁龙1427 发表于 2016-6-24 13:44:40

n0noper 发表于 2016-6-24 11:50
楼主你好,看过你发的好多帖子,发现 你应该是喜欢追求 知其所以然 的鱼油。

既然喜欢谈其究竟,建议 ...

你调试用的什么工具?我用的VC6++,win7的机子上debug很不好用。之前有个帖子的回复是从汇编的角度来解释的,确实非常有说服力。我正在寻找一个能从汇编角度分析的好用软件。谢谢

阁龙1427 发表于 2016-6-24 13:47:48

图记

阁龙1427 发表于 2016-6-24 13:59:03

n0noper 发表于 2016-6-24 11:50
楼主你好,看过你发的好多帖子,发现 你应该是喜欢追求 知其所以然 的鱼油。

既然喜欢谈其究竟,建议 ...

看到了你发的VC调试简介,下载下来了,正在看。多谢

阁龙1427 发表于 2016-6-24 14:29:08

从汇编角度来讲,调用的是内存中同一个地址

阁龙1427 发表于 2016-6-24 15:38:35

n0noper 发表于 2016-6-24 11:50
楼主你好,看过你发的好多帖子,发现 你应该是喜欢追求 知其所以然 的鱼油。

既然喜欢谈其究竟,建议 ...

那个40M的VC6 的好像下不了

n0noper 发表于 2016-6-24 21:04:31

阁龙1427 发表于 2016-6-24 15:38
那个40M的VC6 的好像下不了

我也用VC6 ~~~

VC6就可以啊,但是网上大多数下载的VC6貌似有BUG (假死那个最常见),需要打补丁,补丁 ···

补丁下载:http://pan.baidu.com/s/1eSHMQps

阁龙1427 发表于 2016-6-26 14:04:44

n0noper 发表于 2016-6-24 21:04
我也用VC6 ~~~

VC6就可以啊,但是网上大多数下载的VC6貌似有BUG (假死那个最常见),需要打补丁,补丁...

已经下载,现在调试正常,tack somigen
页: [1]
查看完整版本: 关于对函数名地址