我在 linux 内核中打开了 ld 选项 --fatal-warning 。如何生成简单的链接器警告来测试此功能?
问问题
662 次
2 回答
1
#include<stdio.h>
int main()
{
printf("Run !!");
static const char warning[] __attribute__((section(".gnu.warning.printf")))="My sweet linker warning";
return 0;
}
将此另存为 test.c
如果您使用以下方法构建它:
gcc -Wl,--fatal-warnings test.c -o my_exe
您应该收到链接器警告,它不会准备“my_exe”
现在尝试:
gcc -Wl,--no-fatal-warnings test.c -o my_exe
在这种情况下,警告将按原样报告,但不会被视为错误,它会为您准备“my_exe”。
我不确定您所说的“打开”到底是什么意思,但是如果您看到上述行为,那么我想您很好。
如果您正在使用内核源代码做某事,那么您需要将 printf 替换为您在源代码中已有的任何函数名称(同时更改 .gnu.warning 部分名称)
于 2013-04-12T19:48:03.747 回答
0
谢谢大家的建议。我浏览了makefile,发现了一些抑制警告的链接器标志。我刚刚删除了它们以生成 ld 警告。
于 2015-02-24T19:50:50.700 回答