2302得票12回答
为什么GCC不把a*a*a*a*a*a优化成(a*a*a)*(a*a*a)?

我正在进行一些科学应用的数值优化。其中一个问题是,GCC会通过编译成a*a来优化调用pow(a,2),但是调用pow(a,6)不会被优化,并且实际上会调用库函数pow,这会大大降低性能。(相比之下,英特尔C++编译器,可执行文件icc,将消除对pow(a,6)的库调用。) 我很好奇的是,在使...

1825得票35回答
致命错误:Python.h: 没有那个文件或目录。

我正在尝试使用C扩展文件构建共享库,但首先必须使用以下命令生成输出文件: gcc -Wall utilsmodule.c -o Utilc 执行命令后,我收到了以下错误信息: > utilsmodule.c:1:20: fatal error: Python.h: No such...

1624得票23回答
在高放射环境中编译应用程序

我们正在编译一个嵌入式C++应用程序,部署在一个受电离辐射轰击的屏蔽设备中。我们使用GCC并进行ARM交叉编译。当应用程序部署后,会生成一些错误数据,并且比我们希望的更频繁地崩溃。硬件是为此环境设计的,我们的应用程序已在该平台上运行了几年。 我们是否可以对代码进行更改或进行编译时优化以识别/...

1157得票10回答
g++和gcc有什么区别?

g++和gcc有什么区别?在一般的C++开发中应该使用哪一个?

1111得票5回答
为什么C预处理器将单词“linux”解释为常数“1”?

为什么GCC中的C预处理器将单词linux(小写字母)解释为常数1? test.c:#include <stdio.h> int main(void) { int linux = 5; return 0; } $ gcc -E test.c 的执行结...

796得票2回答
为什么我的程序在循环遍历恰好8192个元素时变得缓慢?

以下是有关该程序的一段摘录。矩阵img [][ ]的大小为SIZE×SIZE,并初始化为: img [j] [i] = 2 * j + i 然后,您创建一个矩阵res[][],每个字段都被设置为img矩阵周围9个字段的平均值。 为简单起见,边界保留为0。for(i=1;i<SIZE...

689得票31回答
当我的程序崩溃时如何自动生成堆栈跟踪

我正在使用GCC编译器在Linux上工作。当我的C++程序崩溃时,我希望它能自动生成一个堆栈跟踪。 我的程序由许多不同的用户运行,它还在Linux、Windows和Macintosh上运行(所有版本都是使用gcc编译的)。 我希望我的程序能够在崩溃时生成堆栈跟踪,并在下次用户运行它时询问他...

611得票11回答
如何列出.so文件中的符号列表

如何列出从.so文件中导出的符号?如果可能的话,我还想知道它们的来源(例如它们是否来自静态库)。 我正在使用gcc 4.0.2,如果有区别请告诉我。

586得票14回答
在C和C++中将字符转换为整数

如何在 C 和 C++ 中将 char 转换为 int ?

583得票5回答
GCC -fPIC option

我阅读过GCC代码生成约定的选项,但无法理解“生成位置无关代码(PIC)”是什么意思。请举个例子来说明这是什么意思。