问题标签 [gcc4]
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.
iphone - 为官方 iPhone SDK 交叉编译基于 Autotools 的库
背景
我正在编写一个针对几种不同手机的程序,包括 iPhone。该程序依赖于几个第三方库。我很难为 iPhone 和 iPhone 模拟器交叉编译这些第三方库。这些库包括 Apache Portable Runtime 和 GNUTLS,以及它们的依赖项。我希望构建的库以前缀“/opt/iphone-3.1”、“/opt/iphone-3.0”、“/opt/iphone-2.2.1”、“/opt/iphone-simulator-3.1”结尾”和“/opt/iphone-simulator-3.0”。
为了使交叉编译过程易于重复,我正在创建脚本来为每个目标平台调用“配置”脚本(“iphone3.1-configure”、“iphone3.0-configure”、“iphone2.2.1 -configure”、“iphonesim3.1-configure”和“iphonesim3.0-configure”)。这是我遇到麻烦的地方。
我正在使用带有官方 Xcode 3.2 + iPhone SDK 3.1 的 Mac OS X 10.6 Snow Leopard 计算机。
地位
我目前有以下“iphone3.1-configure”脚本:
在“apr-1.3.8”文件夹中,我正在运行“iphone3.1-configure --disable-dso”,并且得到:
“config.log”的相关部分是:
问题
如何修复“iphone3.1-configure”脚本?谢谢。
c++ - 默认情况下,GCC 4.3.3 中如何处理 C++ 风格的注释?
我在 Ubuntu 9.04 64 位上使用 GCC 4.3.3,并且在 C 代码中使用 C++ 样式的注释时遇到错误。当我在标题中说“默认情况下”时,我的意思是简单地调用gcc test.c
根据 GCC 4.3.3 文档(此处),这是受支持的......但我还是得到了错误。
这些错误在我的编译字符串中添加了一个简单的 -std=c99 就消失了,所以我的问题得到了解决。好奇是否有任何 GCC 专家对此有解释,因为在我看来这与文档明显矛盾。
c++ - 与 gcc 链接时出错
我尝试编译这段代码:
它可以工作,但是我在使用调试符号与 gcc 链接时遇到了很多问题,并且它没有链接:-(
需要帮忙!
大的链接器错误:
facon@facon-laptop:~/Windows - Mis documentos/Prog/C/Ejercicios/pedirentero$ g++ -o main main.o main.o: 在函数 `_start' 中:
/build/buildd/eglibc-2.10.1/csu/../sysdeps/i386/elf/start.S:65: '_start' 的多重定义
/usr/lib/gcc/i486-linux-gnu/4.4.1/../../../../lib/crt1.o:/build/buildd/eglibc-2.10.1/csu/.. /sysdeps/i386/elf/start.S:65:
首先在这里定义 main.o:(.rodata+0x0): `_fp_hw' 的多重定义
/usr/lib/gcc/i486-linux-gnu/4.4.1/../../../../lib/crt1.o:(.rodata+0x0): 这里首先定义 main.o: 在函数
_fini': (.fini+0x0): multiple definition of
_fini'/usr/lib/gcc/i486-linux-gnu/4.4.1/../../../../lib/crti.o:(.fini+0x0): 这里首先定义main.o:( .rodata+0x4): `_IO_stdin_used' 的多重定义
/usr/lib/gcc/i486-linux-gnu/4.4.1/../../../../lib/crt1.o:(.rodata.cst4+0x0): 这里首先定义main.o : 在函数
__data_start': (.data+0x0): multiple definition of
__data_start'/usr/lib/gcc/i486-linux-gnu/4.4.1/../../../../lib/crt1.o:(.data+0x0): 这里首先定义 main.o: 在函数
__data_start': (.data+0x4): multiple definition of
__dso_handle'/usr/lib/gcc/i486-linux-gnu/4.4.1/crtbegin.o:(.data+0x0): 首先在这里定义 main.o: In function
_init': (.init+0x0): multiple definition of
_init'/usr/lib/gcc/i486-linux-gnu/4.4.1/../../../../lib/crti.o:(.init+0x0): 这里首先定义
/usr/lib/gcc/i486-linux-gnu/4.4.1/crtend.o:(.dtors+0x0): ` DTOR_END '的多重定义 main.o:(.dtors+0x4): 首先定义在这里
/usr/bin/ld:警告:无法创建 .eh_frame_hdr 部分,--eh-frame-hdr 被忽略。/usr/bin/ld: main.o(.eh_frame) 中的错误;不会创建 .eh_frame_hdr 表。
collect2: ld 返回 1 个退出状态
PD:已编辑。
multicore - 一些理解 GCC 源代码的指针
我是一名正在为多核处理器优化 GCC 的学生。我尝试浏览源代码,但很难通过它,因为我需要在后端添加一些代码。谁能建议一些好的资源来解释不同阶段的代码流。也建议一些调试GCC的开发环境,主要是单步调试代码。在windows上可以吗?
c - gcc 结构中的内存对齐
我正在用 C 语言将应用程序移植到 ARM 平台,该应用程序也在 x86 处理器上运行,并且必须向后兼容。
我现在在变量对齐方面遇到了一些问题。我已经阅读了 gcc 手册,因为
__attribute__((aligned(4),packed))
我解释了所说的内容,因为结构的开头与 4 字节边界对齐,并且内部由于打包语句而保持不变。
最初我有这个,但偶尔它会与 4 字节边界不对齐。
所以我把它改成这个。
我之前所说的理解似乎是不正确的,因为结构现在与 4 字节边界对齐,内部数据现在与 4 字节边界对齐,但由于字节序,结构的大小在大小从 42 到 44 字节。这个大小很关键,因为我们有其他应用程序依赖于 42 字节的结构。
有人可以向我描述如何执行我需要的操作。任何帮助深表感谢。
c - 为什么 gcc4 会发出警告以及如何避免它
我有一个声明为的函数:
和工会
当我编译以下代码时:
启用警告-Wconversion
我收到以下警告:
为什么 gcc4 不成功以及如何修复它???
objective-c - (不是这样)使用属性时出现愚蠢的 Objective-C 继承问题 - GCC Bug?
更新 - 许多人坚持我需要为该属性声明一个 iVar。有些人说不是这样,因为我使用的是现代运行时(64 位)。我可以确认几个月来我已经成功地使用了没有 iVars 的 @property。因此,我认为“正确”的答案是对为什么在 64 位上我突然必须在(且仅当)我要从子类访问它时显式声明 iVar 的解释。到目前为止,我看到的唯一一个可能是 GCC 错误(感谢 Yuji)。毕竟不是那么简单......为了澄清可能的错误是:当从基类继承时,如果孩子也碰巧在访问 iVar 之前使用 @synthesize 实现了一个 UNRELATED 访问器,则孩子无法访问父母的 iVar。
几个小时以来,我一直在为此挠头——我没有过多地使用继承。
在这里,我设置了一个简单的 Test B 类,它继承自 Test A,其中声明了 ivar。但是我得到了变量未声明的编译错误。这只发生在我添加属性和综合声明时 - 没有它们也能正常工作。
测试头:
TestA 实现为空:
测试B标头:
TestB 实现(错误 - 'testString' 未声明)
unix - 如何使用 gcc 4.5?
http://gcc.gnu.org/install/binaries.html
此页面包含二进制文件。哪一个适用于 Fedora?
c - pow 不接受第二个参数作为 gcc 上的变量
pow 不接受第二个参数作为 gcc 上的变量
以下代码在 VC++10 上运行良好
但以下代码不适用于 gcc: