问题标签 [gcc3]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - 这是 gcc 优化错误吗?
这是我的代码:
输出:
如果我用 -O0 编译上面的代码,一切正常。但是,如果我使用 -O2 编译它,则在func
调用该函数后,将ptr
变为NULL
!
这是一个 gcc 错误吗?有没有人遇到过类似的错误?
我的 gcc 版本是:gcc version 3.4.5 20051201 (Red Hat 3.4.5-2)
c - GCC 3.4.3 选项 -fstack-protector-all 的替代品?
我正在尝试-fstack-protector-all
在 GCC 3.4.3 编译器中设置选项以启用一些堆栈粉碎保护方案。但是,在使用此编译时出现
错误:无法识别的命令行选项“-fstack-protector-all”
。所以似乎这个选项没有在 GCC 3.4.3 中实现?还是我错过了什么?
如果它没有在较旧的 GCC 编译器中实现,那么最好/最简单的替代方法是什么?
或者也许一些有用的代码模式可以在 C 代码本身中实现堆栈粉碎保护器?
谢谢
c - 显示切换到现代 C 编译器如何帮助发现错误的示例?
我正在准备一个说明来说服人们从 GCC2 切换到 GCC4(作为 C 编译器)是一个好主意。
特别是,我认为它可以揭示现有的错误。我想举一些例子,但作为一名 Java 程序员,我对这种情况的经验是有限的。一个例子是返回类型检查,我猜。
还有哪些令人信服的例子表明切换到现代编译器可以帮助发现 C 代码中存在的错误?
c++ - 带有 std::map.find 的 gcc 3.4 内部编译器错误
有没有人在 gcc 3.4 中遇到以下错误,boost 1.34.1 冲突的代码如下:
Symbol.h:97 引用一个 bool operator<( const Symbol& ) const 成员函数,它比较 Symbol 类型的两个实例。这在所有编译器上都可以正常工作,除了 gcc 3.4 会导致以下内部编译器错误。
/XYZ/include/XYZ/AAA/Type/Symbol.h:97:内部编译器错误:在 gen_subprogram_die 中,位于 dwarf2out.c:11278
我一直试图在网上找到任何指向上述失败原因的指针,但找不到任何解决方案。有没有人通过任何改变遇到过这个?或者有人指出为什么 gcc 编译器在那个时候死掉了?
谢谢你的帮助。
memory - C 程序的空间确定
我可以确定 C 程序占用的空间吗?目前我在 Windows XP 上使用 GCC 编译器。实际上我想检查 C 程序消耗了多少空间。
如果某个函数告诉我 C 中其他函数消耗的大小,那就太好了。
c++ - 基于 C++ 的 MEX 文件的 GCC 3.4 与 4.4?
使用 gcc 3.4 与 4.4 编译现代 Matlab MEX 文件有哪些权衡/顾虑?
我需要将一些现成的 C++ 代码 ( kdtree ) 编译为 MEX 文件,以便在 Fedora v16 下与 MATLAB (R2012a) 一起使用。我使用集群默认的最新 GCC 编译器 (4.6.x) 遇到了符号问题。并且系统管理员非常抗拒让Matlab官方支持的编译器gcc 4.4.x 可用。(不知道为什么)所以,他建议使用旧的(大约 2006 年)gcc 3.4.6 编译器。所以我的问题是,如果使用旧的 gcc 编译器有任何权衡或问题怎么办?表现?64位支持?线程安全(或真正的多个并行调用)?ETC?
c++ - GCC 3.4 中奇怪的递归模板模式(确切地说是 MoSync)
我目前正在尝试用 C++ 编写类似Artemis的游戏组件/实体系统。我计划让这个系统与一个跨平台工具一起工作,用于在 Android 和 iOS 上编写应用程序,称为MoSync。
不幸的是,MoSync 目前使用的是旧版本的 GCC,并且在移植我在 Visual Studio 中测试过的库时,我遇到了一大堆错误。其中大部分我可以解决,但有一个模板错误,我无法理解。
我写了一个小例子
我的库使用 Curiously Recursive Template Pattern 来定义组件。此示例在 GCC 4.4 和 Visual Studio 2010 中编译良好。但是,当我尝试在 MoSync(使用 GCC 3.4.6)中编译它时,我收到此链接器错误
有没有一种解决方法可以让它在这个编译器中工作,还是我必须找到另一种方法来定义我的组件?
编辑* 事实上,我可以用一个更简单的例子来使这个错误发生:
给出这个错误
我想这可能与好奇递归模板模式根本没有任何关系。我该怎么做才能让它在 GCC 3.4.6 下编译?
gcc - Boost.Spirit 的内部编译器错误
我正在尝试使用 GCC 3.4.6 和 Boost 1.43 编译以下看似简单的代码,它会产生内部编译器错误:
生成的错误:
最后一行main()
是产生这个错误。通过让expression
规则在 astd::string::iterator
而不是IteratorT
.
非常感谢在仍然使用词法分析器的同时修复错误的任何帮助。
谢谢!
c - gcc 报告“将永远不会被执行”关于该行:while(fgets(line, MAX_LINE, stdin) != NULL)
我正在寻找解释为什么要给我gcc
这个警告。
我正在使用带有标志的gcc-3
on进行编译,gcc 对我说这个警告:cygwin
-Wunreachable-code
main.c:223:警告:永远不会被执行
就是这一行:while(fgets(line, MAX_LINE, stdin) != NULL) {
此代码位于根据命令行参数(由 解析)动态设置的if(exp) { }
块内,请查看代码部分:exp
getopt()
默认值为0
. 但是1
如果将-t
标志传递给应用程序,它就变成了,如下所示:
因此,执行代码是有原因的。碰巧。
qemu - 用gcc3.4编译qemu neo
我意识到用 gcc4 编译 qemu 很麻烦和痛苦,所以我在我的 linux 机器中安装了 gcc-3.2 工具链,现在我正在编译 qemu,这些是我遵循并发出输出的步骤。
但是编译会因这些错误消息而停止,听起来它没有正确的系统包含路径,所以我用 -isystem 开关明确地给出了它。但仍然无法正确编译。
有什么解决方法吗?
- 提前致谢 -