未显示 libstdc++-v3 中的 GCC 源代码修改
GCC Source Code modifications in libstdc++-v3 not being shown
我是 GCC 源代码的新手。我开始对 libstdc++-v3 做一些简单的修改,因为我需要对我正在处理的项目做更大的修改。
我下载了 GCC 4.8.5 源代码并在 __cxxabiv1::__cxa_allocate_exception
函数中添加了一个打印语句,只是为了知道函数何时被调用。为了测试它,我做了 make -j4 然后 make install。使用这个构建版本的 GCC,我编译了一个抛出异常的简单程序。但是,没有打印出来。
然后我尝试在同一个函数中增加一个全局变量,该变量是在我试图编译的程序中声明的。使用 GDB 我意识到全局变量在范围内,但它从未递增。最后,我尝试将消息写入文件,但文件从未创建。
我确定正在调用函数。但是我不确定为什么它没有按预期进行。如果我在代码中输入不正确的内容,它不会编译,但是当它编译时,修改不会反映在程序的行为中。
我需要知道我是否做错了什么来测试我所做的小修改,或者我可以在哪里阅读某种指南以开始与 GCC 源代码协作。
您需要调整 LD_LIBRARY_PATH
以指向您的 GCC/lib 目录,否则您的二进制文件将使用您的系统 libstdc++
.
另一种方法是 -static-libstdc++
。
我是 GCC 源代码的新手。我开始对 libstdc++-v3 做一些简单的修改,因为我需要对我正在处理的项目做更大的修改。
我下载了 GCC 4.8.5 源代码并在 __cxxabiv1::__cxa_allocate_exception
函数中添加了一个打印语句,只是为了知道函数何时被调用。为了测试它,我做了 make -j4 然后 make install。使用这个构建版本的 GCC,我编译了一个抛出异常的简单程序。但是,没有打印出来。
然后我尝试在同一个函数中增加一个全局变量,该变量是在我试图编译的程序中声明的。使用 GDB 我意识到全局变量在范围内,但它从未递增。最后,我尝试将消息写入文件,但文件从未创建。
我确定正在调用函数。但是我不确定为什么它没有按预期进行。如果我在代码中输入不正确的内容,它不会编译,但是当它编译时,修改不会反映在程序的行为中。
我需要知道我是否做错了什么来测试我所做的小修改,或者我可以在哪里阅读某种指南以开始与 GCC 源代码协作。
您需要调整 LD_LIBRARY_PATH
以指向您的 GCC/lib 目录,否则您的二进制文件将使用您的系统 libstdc++
.
另一种方法是 -static-libstdc++
。