打印
[ZLG-ARM]

有无“_”的区别

[复制链接]
1305|8
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
lifcy|  楼主 | 2007-8-2 09:07 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我买了一个easyARM2131的开发板,在附带的书《深入浅出ARM7》上册125页有下面一段程序:
IMPORT    FIQ_Exception        ;快速中断异常处理程序(在Target.c中)
IMPORT    __main               ;C语言主程序入口
IMPORT    TargetResetInit      ;目标板基本初始化(在Target.c中)


和128页
BL    InitStack
BL    TargetResetInit

B     __main

同是C语言文件中的函数,为什么有的带“__”而有的不带?带和不带的区别在哪里?

相关帖子

沙发
lifcy|  楼主 | 2007-8-2 13:39 | 只看该作者

我可否这样理解

意思是不是说,带了“__”的函数,连接器加了一些东西(_main.o),但是不加“__”的函数,连接器就不会加这些东西,是吗?

使用特权

评论回复
板凳
zlgARM| | 2007-8-2 14:56 | 只看该作者

lifcy

您好:
   不知您有没有注意到我给您画的流程图?
   进入main函数之前必须进行C运行时环境的初始化--〉所以链接器就添加了代码_main来完成这个工作。
   
   因为要进入main函数前必须初始化C运行时环境,所以链接器就添加了这部分代码。是否添加这部分代码,和加不加“_”没有任何关系。
   
   如果还是不明白这些解释,那么请您先暂时放下这个知识点。学习并不意味着什么都要懂,什么都要学。
    

使用特权

评论回复
地板
lifcy|  楼主 | 2007-8-2 17:25 | 只看该作者

好像明白了一点点

谢谢,我好像明白了一点点,就按照你说的,先跳过去吧

使用特权

评论回复
5
lifcy|  楼主 | 2007-8-3 09:14 | 只看该作者

明白了

真是热心,哈哈,你这么一说,我明白了好多好多。
呵呵,看来买你们的开发板没有错。

使用特权

评论回复
6
Ice_River| | 2007-8-3 15:16 | 只看该作者

收藏

使用特权

评论回复
7
greatbin| | 2007-8-4 11:31 | 只看该作者

学校里教些什么知识?搞不明白

使用特权

评论回复
8
liu_huan| | 2007-8-4 15:35 | 只看该作者

下载此页,漫漫研究

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

15

主题

31

帖子

0

粉丝