有没有办法在C代码运行时获取源代码行号?
这背后的想法是,假设一个软件是用纯C语言编写的。exe文件被分发给一个对C一无所知的用户。现在如果有任何错误,用户可以看到行号并向制造商报告错误,以便在制造商站点进行调试。我只想调试运行时错误并在运行时获取相应的源代码行号。我是这些东西的初学者。
__LINE__
作为行号占位符。printf("%d",__LINE__);
__LINE__
宏不仅适用于GCC。 - Govind Parmar if(someThingsWrong())
printf("wrong at line number %d in file %s\n", __LINE__, __FILE__);
__LINE__
和__FILE__
,它们始终会展开为当前文件名和行号。#include <stdio.h>
int main(int argc, char *argv[])
{
if(argc<2)
{
printf("Error: invalid arguments (%s:%d)\n", __FILE__, __LINE__);
return 0;
}
printf("You said: %s\n", argv[1]);
return 0;
}