gpt4 book ai didi

c++ - 如何防止产生__IO_putc?

转载 作者:太空狗 更新时间:2023-10-29 11:27:06 37 4
gpt4 key购买 nike

当我objdump我的a.out时,我发现使用了__IO_putc

我知道当 printf 的输入很简单时,gcc 会使用 putc 来代替 printf。但是为什么 gcc 将我的 putc 替换成 __IO_putc?我可以通过使用像 -U_FORTYFY(禁用 __printf_chk)或 --fno-stack-protector(禁用__stack_chk_fail)?

最佳答案

why gcc replace my putc into __IO_putc

在你的/usr/include/stdio.h ,你会发现这一行:

#define putc(_ch, _fp) _IO_putc (_ch, _fp)

Can I prevent this replacement by using some command line

你可以把#undef putc#include <stdio.h> 之后进入您的源代码,或者在每个调用点将函数名称括在括号中,如下所示:

(putc)('a', stdout);

一般来说,您不应该乱用像这样的标准函数。

关于c++ - 如何防止产生__IO_putc?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33857191/

37 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com