nostdlib 选项使用疑惑

清钟沁桐 2010-08-14 12:13:51
int printf(int a, int b)
{
return a+b;
}

void _start()
{
printf(1, 2);
}
我使用
zyd@HCC:~/projects> gcc test1.c -o main -nostdlib 进行编译,为什么会提示:
test1.c:1: warning: conflicting types for built-in function ‘printf’
我已经使用 -nostdlib,表示不连接 built-in function了,为什么还能去找 built-in function函数呢?
...全文
516 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
清钟沁桐 2011-12-14
  • 打赏
  • 举报
回复
-nostdlib
不连接系统标准启动文件和标准库文件.只把指定的文件传递给连接器.
steptodream 2010-08-14
  • 打赏
  • 举报
回复
不明白
清钟沁桐 2010-08-14
  • 打赏
  • 举报
回复
虽然仅仅是警告,但是说明这个选项没有发挥其功能,是个大问题
int printf(int a, int b)
{
return a+b;
}

int main()
{
printf(1, 2);
return 0;
}
使用 gcc test1.c -o main 进行编译,也只是一个警告而已
yzx714 2010-08-14
  • 打赏
  • 举报
回复
只是个warning~就不管了吧
清钟沁桐 2010-08-14
  • 打赏
  • 举报
回复
我的意思是我希望程序真的在 有编译选项 -nostdlib 时,没有使用built-in function

23,128

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧