[ZLG-ARM] 有无“_”的区别

[复制链接]
 楼主| lifcy 发表于 2007-8-2 09:07 | 显示全部楼层 |阅读模式
我买了一个easyARM2131的开发板,在附带的书《深入浅出ARM7》上册125页有下面一段程序:<br />IMPORT&nbsp;&nbsp;&nbsp;&nbsp;FIQ_Exception&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;快速中断异常处理程序(在Target.c中)<br />IMPORT&nbsp;&nbsp;&nbsp;&nbsp;__main&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;C语言主程序入口<br />IMPORT&nbsp;&nbsp;&nbsp;&nbsp;TargetResetInit&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;目标板基本初始化(在Target.c中)<br /><br /><br />和128页<br />BL&nbsp;&nbsp;&nbsp;&nbsp;InitStack<br />BL&nbsp;&nbsp;&nbsp;&nbsp;TargetResetInit<br /><br />B&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;__main<br /><br />同是C语言文件中的函数,为什么有的带“__”而有的不带?带和不带的区别在哪里?
 楼主| lifcy 发表于 2007-8-2 13:39 | 显示全部楼层

我可否这样理解

意思是不是说,带了“__”的函数,连接器加了一些东西(_main.o),但是不加“__”的函数,连接器就不会加这些东西,是吗?
zlgARM 发表于 2007-8-2 14:56 | 显示全部楼层

lifcy

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

好像明白了一点点

谢谢,我好像明白了一点点,就按照你说的,先跳过去吧
 楼主| lifcy 发表于 2007-8-3 09:14 | 显示全部楼层

明白了

真是热心,哈哈,你这么一说,我明白了好多好多。<br />呵呵,看来买你们的开发板没有错。
Ice_River 发表于 2007-8-3 15:16 | 显示全部楼层

收藏

  
greatbin 发表于 2007-8-4 11:31 | 显示全部楼层

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

  
liu_huan 发表于 2007-8-4 15:35 | 显示全部楼层

下载此页,漫漫研究

  
您需要登录后才可以回帖 登录 | 注册

本版积分规则

15

主题

31

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部