问题标签 [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.

0 投票
1 回答
2817 浏览

linux - gcc-3.4 编译错误

我需要gcc-3.4编译一些软件。
Ubuntu-12.4使用以下说明安装:--
https://superuser.com/questions/351742/how-to-install-gcc-3-4-on-ubuntu-11-10

sudo dpkg -i *.deb

我编译了简单的hello程序。然后在 rpi_exp.c 里,#include<stdio.h>开始i get lots of error. 好像libc没有找到。

请建议为此安装正确的软件包?

这里有很多库要安装哪一个:?:
http://packages.ubuntu.com/hardy-updates/gcc-3.4

https://ftp7.de.netbsd.org/pub/releases.ubuntu.com/ubuntu/pool/main/g/glibc/ http://packages.ubuntu.com/hardy-updates/i386/libc6-i686/下载

错误 : -

rpi_exp.c :---

我尝试安装 gcc-3.4 参考:---- http://simplyrisc.blogspot.in/2009/11/install-gcc-34-on-ubuntu-910.html

错误得到:---

- - - - - - - - - - - - - - [编辑] : - - - - - - - - - - --------

请帮助我出了什么问题。

我需要它来编译 QEmu。

我再次从以下链接重新安装,没有警告没有错误:-----
https://launchpad.net/ubuntu/+archive/primary/+sourcepub/277794/+listing-archive-extra

程序再次崩溃:-----

请帮助我出了什么问题。

0 投票
1 回答
368 浏览

gcc - gcc builtins 是否应该在编译步骤或链接器步骤中始终被解析?

在 Solaris 5.11 机器上运行 gcc 3.4.3 时,我看到内置函数在编译期间未定义,但是当 Solaris 链接器链接到 libgcc.a 时,会针对 libgcc.a 进行解析。

在另一个 Solaris 机器上的 gcc 4.5.2 上,相同的内置函数在 .o 的编译期间被解析,并且链接器不关心它们。

在 gcc 3.4.3 上编译的简化示例文件:

首先编译 ctzll.c,并检查符号:

现在编译 main.c,并链接对象:

因此,如果我理解正确,Solaris 链接器解析了 __ctzdi2(__builtin_ctzll 的内部表示)。

现在,在另一台 Solaris 机器上使用 gcc 4.5.2 进行编译:

该符号已在目标文件中很好地解析,并且已内联到 .o 程序集中,如下所示:

3.4.3 编译器的行为是否正确?我希望实际编译通过引用 64 位版本的 libgcc.a 来处理内置函数,如 4.5.2。编译器之间缺乏一致性导致我的项目出现上游问题,因为内置函数仍未定义,并且链接器没有解析符号,因为我没有链接到操作系统特定的 64 位库 (libgcc.a)。我不确定 3.4.3 编译器是否配置错误导致 .o 文件具有通过链接捕获的未定义内置函数,或者新编译器是否更智能,我需要将 64 位库添加到链接器以处理较旧的编译器。

3.4.3 似乎显示了一个有效的 libgcc.a,其中包含 _ctzdi2 的定义:

0 投票
1 回答
5224 浏览

ubuntu - 在 Ubuntu 14.04 中编译 GCC 3.4.6 时出错

我正在尝试在 Ubuntu 14.04 x64 中编译 GCC 3.4.6。它已经有更新版本的 GCC-4.8.2。

我跑./configure --prefix=/usr/local/gcc-3.4make

我最终遇到了几个错误,我可以在搜索中找到解决方案。

错误 1

错误 2

最后我遇到了这个错误,我找不到任何解决方案。

有人知道如何解决吗?如果需要更多详细信息,请告诉我。

0 投票
1 回答
1221 浏览

c++ - C++ 中的 hash_set 是如何工作的?

我不知道如何hash_set在 C++ 中使用。我对这种语言非常陌生,所以我不明白如何做很多事情。如何使用 SGIhash_set扩展使编译器最终编译无误?这是我的头文件:

当我尝试编译时,我得到:

  1. 我不知道“类范围内的非成员使用声明”是什么意思。
  2. 为什么编译器抱怨“预期的`;' 当我基本上遵循与SGI 在其网站上的相同示例时,在 '<' token" 之前?
  3. 我正在使用 gcc 3.4.6,所以我不能使用unordered_set
  4. 我看过简单的 C++ hash_set 示例,但我不明白他们为什么使用hash<int> H;这相关吗?

我陷入了僵局,因为在咨询谷歌数小时后我真的无法弄清楚这一点。

0 投票
5 回答
4913 浏览

c - 将 int 转换为在 C 中浮动时的奇怪行为

我对以下 C 程序的输出有疑问。我尝试使用 Visual C++ 6.0 和 MinGW32 (gcc 3.4.2) 编译它。

输出是:

我的问题是:为什么两条线不同?当您将整数值 2147483647 转换为 IEEE 754 浮点格式时,它会近似为 2147483648.0。所以,我预计两条线都等于 2147483648.000000。

编辑:值“2147483647.000000”不能是单精度浮点值,因为数字 2147483647 不能以 IEEE 754 单精度浮点格式精确表示而不会损失精度。

0 投票
3 回答
289 浏览

c++ - 具有与 GCC 3.4 类似的 GCC 3.3 的静态 const 变量

当使用 g++ 3.4.6(使用 ld 2.15.92.0.2)时,我可以写:

除了初始化其他常量外,几乎在所有地方都使用ConstantContainer::MyConstant1和其他方法来代替作用域文字。

但是,当使用 g++ 3.3.6(使用相同版本 2.15.92.0.2 的 ld,尽管二进制文件和发行版不同)时,代码也可以正常编译,但在某些情况下,由于在任何时候无法解析引用,链接会失败使用“常数”:

我不知道是哪些独特的功能引起了这种行为。例如,不兼容的情况可能像这样简单:

IE。只有一小部分 uint 类型的静态常量成员,但它们没有资格被视为命名文字;同时,在其他情况下,即使是浮点值也可以。唯一明显的区别是范围级别(类嵌套),但在简化示例的一般情况下,这并不是真正的原因。

显而易见的解决方法是将上述类变成怪物:

但这很丑陋,不太干净,而且更容易出错,因为常量和容器类的数量很多。更重要的是,虽然就地声明和定义的常量可能已经优化,因为它们是真正的文字,但非常值得怀疑的是,当它们成为单例对象的一部分时,它们是否会被如此对待。

所以我想知道:GCC 3.3 及更高版本用于将一些静态 const POD 声明视为常量定义的确切规则是什么?

0 投票
0 回答
79 浏览

assembly - 组装 AT91SAM9261EK 时出错

我正在尝试使用 keil uVision 平台编译一个汇编程序。该程序应该在 AT91SAM9261EK 上运行(我已按预期修改了设置),但出现以下错误。

0 投票
0 回答
93 浏览

c - “未定义对 _spill 的引用”:什么是 _spill,为什么 gcc 想要访问它?

我正在使用自定义版本的 gcc 开发自定义嵌入式平台,该版本基于gcc-2.8.0 (egcs-2.91.02). 是的,它很旧。它适用于 CoolRISC C816 内核。

我有时会遇到一个奇怪的错误,在我的嵌入式 C 项目 gcc 的链接期间给我这个错误:

未定义的 _spill 引用

实际上,在这些特定情况下编译源文件时查看 gcc 生成的临时 *.s 文件时,我看到了这种指令:

移动 __spill+4,%a

我很惊讶,因为这个 _spill 错误只偶尔发生一次,在多个大型项目(20k+ LOC)上没有这个错误的迹象,也没有在 *.s 文件中对 _spill 的任何引用。

我已经有一个修复程序,包括在我的启动程序集文件中分配 _spill,但我想了解更多关于此的信息。

什么是“_spill”,我为什么需要它?另外,如果我必须静态分配它,如何知道我应该给它哪个大小?

编辑:按照评论中的建议,我查看了相应的 C 代码,并且似乎包含“_spill”的指令包的来源是这一行:

pStruct本地声明的 typedef 结构(称为 Foo)上的指针在哪里: Foo *pStruct = &MyStruct,其MyStruct类型为 extern 变量,Foo位于另一个文件中。 psConst是另一个 typedef 结构(称为 Bar)上的 const 指针。 puRegister是 Bar 声明类型的成员volatile uint8_t * 最后,CONST_VALUE是来自枚举的常量值。

因此,这可能是一个问题,仅在连续大量取消引用或相关内容时才会发生。

0 投票
0 回答
61 浏览

c++ - 使用 __single_client_alloc 找到了一些旧代码 - 我该如何恢复它?

我在网上找到了一个我想使用的旧包。其中一个头文件包括以下几行:

我的 GCC_VERSION 是 7003,__single_client_alloc显然早已不复存在。 single_client_alloc也存在了一段时间,但我不知道它是否仍然存在,或者如果存在,它存在于哪个标题中。

看起来唯一实际使用 this 的地方是以下看起来很吓人的函数:

仅评论它们并恢复为默认值newdelete行为是否安全?或者这些是否在做一些超出使代码更节省内存的事情,在这种情况下我需要一个实际的修复?

基本上,是否有对此代码的修复,以便它可以在最新的 GCC 版本下工作?

0 投票
1 回答
52 浏览

cross-compiling - How to fix "Section .vectors overlaps section .data " | Adding ATmega1281 Support to Compiler

So, I was working on a project to add ATmega1281 architecture support to my Toolchain.

I was having avr-gcc-v3.3, avr-binutils-2.13.1, and avr-libc-cvs2003.

I have added the ATmega1281 support to Binutils-2.13, Gcc-3.3 and Avr-libc-cvs2003.

After the complete toolchain is created, when I try to compile a Hello-World program for the ATmega1281, I get the following errors.

Error Given when executed with -mmcu=atmega1281

I tried with other mcu's , they are working fine except the ATmega1281.

What can be the issue here ?