我想用gcc编译一个C文件,我的问题是:当我们的代码中有错误(例如忘记分号)时,gcc是否可以向我们显示包含错误的源代码( s)?
谢谢
最佳答案
gcc 诊断的格式是行号和诊断消息。不显示有问题的代码。
如果您想要更具表现力的诊断,您可以尝试 clang
编译器。 clang
诊断的格式是行号、列号、诊断消息以及粘贴有问题的代码以及一些标记以显示问题所在。
例如,假设此代码在 printf 语句后缺少分号:
#include <stdio.h>
int main(void)
{
int a = 42;
printf("%d\n", a)
return 0;
}
以下是 gcc
和 clang
之间诊断消息的区别:
$ gcc -Wall tst.c
tst.c: In function ‘main’:
tst.c:9: error: expected ‘;’ before ‘return’
$ clang -Wall tst.c
tst.c:7:22: error: expected ';' after expression
printf("%d\n", a)
^
;
1 diagnostic generated.
$
关于c - 使用 gcc 进行调试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8662069/