【问题标题】:GCC Source Code modifications in libstdc++-v3 not being shown未显示 libstdc++-v3 中的 GCC 源代码修改
【发布时间】:2015-03-17 20:51:49
【问题描述】:

我是 GCC 源代码的新手。我开始对 libstdc++-v3 做一些简单的修改,因为我需要为我正在处理的项目做更大的修改。

我下载了 GCC 4.8.5 源代码并在 __cxxabiv1::__cxa_allocate_exception 函数中添加了一条打印语句,只是为了知道函数何时被调用。为了测试它,我做了 ma​​ke -j4,然后做了 ma​​ke install。使用这个构建版本的 GCC,我编译了一个引发异常的简单程序。但是,没有显示打印。

然后我尝试在同一个函数中增加一个在我尝试编译的程序中声明的全局变量。使用 GDB,我意识到全局变量在范围内,但从未递增。最后,我尝试将消息写入文件,但该文件从未创建。

我确定该函数正在被调用。但我不确定为什么它没有做它应该做的事情。如果我在代码中输入了错误的内容,它将无法编译,但是当它编译时,修改不会反映在程序的行为中。

我需要知道我是否做错了什么来测试我所做的小修改,或者我可以在哪里阅读某种指南以开始与 GCC 源代码协作。

【问题讨论】:

标签: c++ gcc std rtti abi


【解决方案1】:

您需要调整LD_LIBRARY_PATH 指向您的GCC/lib 目录,否则您的二进制文件将使用您的系统libstdc++

另一种方法是-static-libstdc++

【讨论】:

    猜你喜欢
    • 2021-07-02
    • 2012-11-04
    • 1970-01-01
    • 2022-01-05
    • 1970-01-01
    • 1970-01-01
    • 2020-02-16
    • 2018-07-02
    • 2015-03-23
    相关资源
    最近更新 更多