gcc的printf() 优化?

Fuz 发布于 2012/06/12 08:33
阅读 1K+
收藏 0
GCC

【领华为电脑包】容器化时代到来!跳转机分配问题终于“有救”了!>>>

这两天在用 gcc 编译一个自定义的 printf() 的函数时,里面特意没有包含库文件。开始时 printf 工作的还不错,什么格式化字符串都能正确地输出。但是当 printf() 里面只有一个%c的格式符时,像这样

printf("%c",'c');

在链接时,gcc就会报错:

tty.c:(.text+0xe3): undefined reference to `putchar'
没有找到 putchar() ????? 我明明就没有用到这个东西啊。难道gcc编译时会把 只有一个单字符输出的printf() 优化成 putchar() ???? 我凌乱了~~~我的猜想是否正确?谁知道这个问题的关键所在呢?
加载中
0
jundai
jundai

Bingo! 你猜对了 -fno-builtin 可以关掉这个优化

返回顶部
顶部