gpt4 book ai didi

c - C预处理文件是否包含源文件行号信息?

转载 作者:行者123 更新时间:2023-12-02 15:51:43 25 4
gpt4 key购买 nike

问题来了:
我有一个 C 源文件 main.c 和相应的预处理文件 main.i。给定 main.i 中的一行,如何在 main.c 中获取相应的行号?

最佳答案

C 标准没有指定这一点。 GCC and Clang emit lines starting with # followed by a space, a line number, a file name, and other information. .您可以在 main.c 中确定行号:

  • 读取预处理文件main.i。在任何带有 # 后跟一个空格、一个数字和一个不是“main.c”的文件名的行之后,阅读并忽略更多行,直到出现 #后跟一个空格、一个数字和“main.c”。请记住该数字作为当前行号。
  • 此表单中直到另一 # 行的后续行是来自 main.c(预处理后)的行,连续行号从上面记住的行号继续。<

关于c - C预处理文件是否包含源文件行号信息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72391926/

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