草庐IT

GCC-style

全部标签

c++ - 我可以为 assert() 禁用 GCC 的 noreturn 属性吗

Glibc在assert.h中使用GCC的noreturn属性:externvoid__assert_fail(...)...__attribute__((__noreturn__));这会导致GCC在进入调试器之前优化所有局部变量和this指针。优化甚至发生在-Og级别,并且在-O0级别省略了许多其他有用的优化,以至于测试变得非常缓慢。理想情况下,我只想从那里删除__noreturn__属性。我不在乎我的assert()是否运行得更快,我想看看它在何处以及为何触发。是否有GCC命令行标志或任何其他机制可用于禁用__noreturn__优化,而不禁用其他优化?可运行示例代码:#incl

c++ - gcc-4.0.0-8 和 gcc-4.3.2 的区别

SPOJ和Codechef都在接受的语言列表中。它们之间有什么区别这么大,必须加以区分? 最佳答案 一方面,对于C++,它们彼此不二进制兼容。在4.0和4.3之间有很多openmp功能。 关于c++-gcc-4.0.0-8和gcc-4.3.2的区别,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/5612017/

c++ - 新的 MinGW gcc 不做任何事情

我正在尝试在Windows上使用MinGW编译一个简单的helloworld程序,但没有任何反应。没有输出,没有可执行文件,什么都没有。我刚刚使用他们的mingw-get-inst-20120421.exe安装程序安装了最新的MinGW。当我使用Code::Blocks附带的旧版本MinGW时,我能够编译该程序。我没有想法,我的谷歌搜索是徒劳的。C:\MinGW\bin在我的路径上,我正在使用MSYS。MSYS中的命令行参数:gcchelloworld.c-ohelloworld 最佳答案 从开始菜单、开始->MingW->MinG

c++ - 尝试使用 gcc 工具链构建 Boost

出于某种原因,当我尝试使用toolset=gcc运行b2时,我得到以下信息。C:\boost_1_49_0>.\b2.exetoolset=gccC:/boost_1_49_0/tools/build/v2/tools\gcc.jam:129:ingcc.initfrommodulegccerror:toolsetgccinitialization:error:nocommandprovided,defaultcommand'g++'notfounderror:initializedfromC:/boost_1_49_0/tools/build/v2/build\toolset.jam

c++ - doxygen 和 "old style"类列表

我注意到新版本的doxygen(我有1.8.1.1)会生成类列表,其中嵌套是分层完成的,例如:命名空间MyClass1MyClass2例如http://www.itk.org/Doxygen/html/annotated.html我更想拥有类列表的旧样式:命名空间::MyClass1命名空间::MyClass2例如http://trilinos.sandia.gov/packages/docs/r10.8/packages/tpetra/doc/html/annotated.htmldoxyfile中是否有一个设置可以让我获得旧样式?我提出此请求的原因是,我通常通过搜索“namespa

c++ - GLM 是否与 GLload 和 GCC 兼容

我目前正在设置我的OpenGL“框架”,并决定使用GLload,主要用于扩展加载,但它具有证明适当的“gl”namespace的额外好处。因此,所有gl*函数都被用作gl::*例如:glUniformMatrix4fv(...)//insteadofthisgl::UniformMatrix4fv(...)//usethis我还想使用glm,根据我的理解,它应该像includeglm/glm.hpp一样简单,并确保我告诉我的编译器在哪里可以找到它。但似乎它可能无法直接与glload兼容,因为我尝试使用它进行编译时出现以下错误。Infileincludedfromglm/glm/fwd.

c++ - 在 GCC 中替换 "fvtable-gc"

GCCv4.7.1中是否有“fvtable-gc”选项的替代品(GCCv3.x支持)?我想在链接过程中删除未使用的虚函数。fvtable-gcEmitspecialrelocationsforvtablesandvirtualfunctionreferencessothatthelinkercanidentifyunusedvirtualfunctionsandzerooutvtableslotsthatrefertothem.Thisismostusefulwith-ffunction-sectionsand-Wl,--gc-sections,inordertoalsodiscard

c++ - 在 GCC 中列出库函数

是否可以在GCC命令行中列出任何库/头文件中可用的所有库函数?是否有类似JAVAP之类的可用于Java的程序?谢谢。 最佳答案 您可以使用objdump列出共享库(或可执行文件)中的符号:$objdump-T/usr/lib/libclang.so0000000000124150gDF.text00000000000000c1Baseclang_reparseTranslationUnit000000000010fe40gDF.text0000000000000021Baseclang_getNullRange00000000001

c++ - GCC 4.6.3 - 模板特化受优化级别影响?

在我正在开发的应用程序中,我有一个这样的模板函数:templatevoidCIO::writeln(Titem){stringstreamss;ss这个函数从几个地方调用,T=constchar*和T=std::string。使用CodeSourceryLite2008.03-41(GCC4.3.2),此编译和链接很好,带有-O3编译器标志。但是,由于我更改为CodeSourceryLite2012.03-57(GCC4.6.3),使用-O3进行编译是可以的,但随后链接失败并显示undefinedreferencetovoidCIO::writeln(std::string)。.使用-

c++ - GCC 消耗太多内存!!图形工具

编译时graph-toolgcc编译器消耗了超过7Gb的内存,并且在消耗越来越多之后什么也没有发生,我被迫停止编译。我试图嵌入acompilersuffix:CFLAGS="$CFLAGS--paramggc-min-expand=0--paramggc-min-heapsize=8192"但我无法将它带入./configure过程。有人知道这个问题吗?(应该没什么区别,但我的操作系统是Archlinux-64)编辑(1):我现在能够添加CFLAGS进行配置,但它继续消耗无限数量的内存。我的Gcc版本是4.8.2!编辑(2):新版图形工具(2.2.28)解决了我的问题,因为他们修复了这