gpt4 book ai didi

c++ - 如何调试并进入编译为C++的自定义语言源?

转载 作者:行者123 更新时间:2023-12-02 10:10:38 26 4
gpt4 key购买 nike

我想将自定义预处理程序语言与C++一起使用。首先使用我的自定义编译器将我的源代码编译为有效的C++,然后使用常规C++编译器进行编译。例:

my_transpiler -o source_gen.cpp source.mycpp
g++ -o myapp source_gen.cpp
在这种情况下,生成的调试信息与source_gen.cpp文件相关联。因此,我可以调试并进入source_gen.cpp。但是,如果我想进入原始源文件source.mycpp怎么办?
作为gdb或Visual Studio的调试器,还是作为clang,gcc或msvc的编译器是否提供将调试信息映射到原始源文件的机制?

最佳答案

正如对该问题的评论所暗示的那样,解决此问题的常用方法是#line指令。尤其是,

# line digit-sequence " s-char-sequenceopt " new-line
您的编译器应将原始文件中每个源代码行的此伪指令放入生成的文件中:
#line 3 "source.mycpp"
如果您的C++编译器基于这些指令(我使用过的指令)生成调试信息,则当您进入代码时,您将进入source.mycpp中的相应位置。

关于c++ - 如何调试并进入编译为C++的自定义语言源?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63702046/

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