我正在做一个项目,将读取特定品种的编译器错误消息,并与他们做有用的事情。 我正在testing这个(一个随机的开源应用程序),因此经常重build的示例代码库,包含一些产生警告的位,这是我不感兴趣的。 如何禁用GCC的所有警告,如果有任何错误信息,我只能看到?
我使用GCC 4.3编译我的C ++应用程序。 我没有手动select优化标志,而是使用-march=native ,理论上应该添加所有适用于我正在编译的硬件的优化标志。 但是,我怎样才能检查它实际使用哪个标志?
快速的问题:编译器标志是什么让g ++能够产生多个自己的实例,以便更快地编译大型项目(例如,一个多核CPU的4个源文件)? 非常感谢。
我已经从各种来源(尽pipe大部分来自我的一位同事)得知,在g++中编译-O3的优化级别是某种“危险的”,除非certificate是必要的,否则应该避免。 这是真的吗?如果是这样,为什么? 我应该坚持-O2吗?
我只是遇到以下错误(并find解决scheme在线,但它不存在堆栈溢出): (.gnu.linkonce。[stuff]):未定义的引用[方法] [目标文件] 🙁 .gnu.linkonce。[stuff]):未定义的引用`typeinfo for [classname]' 为什么会得到这些“未定义的引用typeinfo”链接器错误之一? (如果你可以解释幕后发生了什么,奖金分数。)
如何为Fedora Linux安装g++ ? 我一直在寻找dnf命令来安装g++但没有find任何东西。 我如何安装? 我已经安装了gcc
我想用C写一个接受任意数量参数的macros,而不是一个特定的数字 例: #define macro( X ) something_complicated( whatever( X ) ) 其中X是任意数量的参数 我需要这个,因为whatever是超载,可以调用2或4参数。 我试过两次定义这个macros,但是第二个定义覆盖了第一个macros! 我正在使用的编译器是g ++(更具体地说,mingw)
我从第三方代码中得到很多这些警告,我无法修改。 有没有办法来禁用此警告或至less禁用某些地区(如#pragma push /stream行在VC + +)? 例: list.h:1122: warning: `list<LogOutput*, allocator<LogOutput*> >::node_alloc_' will be initialized after list.h:1117: warning: `allocator<LogOutput*> list<LogOutput*, allocator<LogOutput*> >::alloc_'
我正在尝试将我的C ++编译器更新到C ++ 11。 我已经search了一下,我得出结论,我必须使用标志-std=c++0x或-std=gnu++0x ,但我不知道关于标志的许多事情。 谁能帮我? (我正在使用Ubuntu 12.04。) 这里是我从编译器中得到的错误,当我尝试使用包含在C ++ 11(即数组)中的库时: #include <array> #include <iostream> int main() { std::array<int, 3> arr = {2, 3, 5}; … } This file requires compiler and library support for the upcoming ISO C++ standard, C++0x. This support is currently experimental, and must be enabled with the -std=c++0x or […]
另外,任何人都可以点我一个关于这个问题的好教程? 我找不到任何东西。