gpt4 book ai didi

c++ - C/C++ 行号

转载 作者:IT老高 更新时间:2023-10-28 11:55:34 25 4
gpt4 key购买 nike

出于调试目的,我可以在 C/C++ 编译器中获取行号吗?(某些编译器的标准方式或特定方式)

例如

if(!Logical)
printf("Not logical value at line number %d \n",LineNumber);
// How to get LineNumber without writing it by my hand?(dynamic compilation)

最佳答案

您应该使用预处理宏__LINE____FILE__。它们是预定义的宏,是 C/C++ 标准的一部分。在预处理期间,它们分别被一个常量字符串替换,该字符串包含一个表示当前行号的整数和当前文件名。

其他预处理器变量:

  • __func__ : 函数名(这是 C99 的一部分,并非所有 C++ 编译器都支持)
  • __DATE__ : "Mmm dd yyyy"形式的字符串
  • __TIME__ : "hh:mm:ss"形式的字符串

您的代码将是:

if(!Logical)
printf("Not logical value at line number %d in file %s\n", __LINE__, __FILE__);

关于c++ - C/C++ 行号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2849832/

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