专注收集记录技术开发学习笔记、技术难点、解决方案
网站信息搜索 >> 请输入关键词:
您当前的位置: 首页 > Linux/Unix

Linux C,该怎么处理

发布时间:2011-06-27 17:43:44 文章来源:www.iduyao.cn 采编人员:星星草
Linux C
请大家帮我看看
代码1,add.c,
extern int num[2];
int b=2;
int add(void)
{
int a;
a=num[0];
return a+b;
}
代码2 main.c ,
extern int add(void);
int num[2]={1,2};
int main()
{
  int c;
 c=add();
return 0;
}
然后编译,gcc -c add.c main.c 没有问题,然后链接,ld add.o main.o -o app,出问题了,
报错“ld: warning: cannot find entry symbol _start; defaulting to 0000000008048094
不过还是生成了app,然后我执行它 ./app 无法执行,报错:段错误(吐核)
然后,我直接执行这个命令gcc add.c main.c -o app, 这时它又生成了可执行文件app。。。。而且可以正确执行!!
请问这是怎么回事????

------解决方案--------------------
探讨

除非你非常清楚自己程序编译,汇编,链接的整个过程,没有必要分步骤,应该全部交给gcc处理。
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。

其他相似内容:

热门推荐: