我只使用tempnam()获取目录名称,因此此安全警告不适用于我的情况。我该如何禁用它?我找不到任何开关来做它。
答案 0 :(得分:6)
如果您真的只想要目录名,请使用P_tmpdir
中定义的字符串常量宏<stdio.h>
。
答案 1 :(得分:0)
“tempnam()函数返回一个指向有效文件名的字符串的指针,并且当tempnam()选中时,该名称的文件不存在。”
由于检查和稍后创建文件之间的竞争条件而产生警告。
您想只获取目录名称?这应该有什么用呢?
就像陌生人已经说过的那样,您可以使用-Wno-deprecated-declarations禁用此(以及类似的警告)。
答案 2 :(得分:0)
答案是否定的,因为-在许多系统上-实现该功能的GNU C库(glibc)已编译,以便在使用时触发链接器警告。
请参阅:
请注意,问题不是GCC特有的-任何链接程序都应发出此警告,其触发条件是已编译库中的“硬编码”。
答案 3 :(得分:-5)
您可以使用GCC的-Wno-deprecated-declarations
选项禁用此类警告。我建议您正确处理警告,并采用编译器的建议。