34得票1回答
如何获取GCC链接器命令?

如何获取GCC用于调用ld的命令行? 我在针对AVR目标进行编译时遇到了问题。 GCC似乎添加了一个链接器选项,我想覆盖它并查看GCC用于ld的确切选项。

8得票5回答
在C语言中定义未使用的参数

我需要使用pthread,但是不需要向函数传递任何参数。因此,我在pthread_create函数中将参数设置为NULL。我有7个pthread,所以gcc编译器会警告我有7个未使用的参数。在C编程中如何定义这7个参数为未使用?如果不将这些参数定义为未使用,是否会导致问题?非常感谢您的回应。 ...

10得票1回答
提示C编译器(GCC或Clang)可能存在的变量值/范围。

在下面的代码中,只会进行一次比较,因为编译器知道这些条件是互斥的,我们将总是进入第二个条件,因为 bar 将必须 > 32:int foo(int bar) { if (bar <= 64) return 1; if (bar > 32) { ...

8得票4回答
在类中的静态常量ODR

在类中使用static初始化const成员有些令人困惑。例如,在下面的代码中: #include <iostream> struct Foo { const static int n = 42; }; // const int Foo::n; // No ODR v...

7得票4回答
现代优化编译器如何确定何时进行优化?

现代优化编译器如何确定何时应用某些优化,例如循环展开和代码内联? 由于两者都会影响缓存,因此简单的启发式算法,如内联少于X行的函数,可能会生成性能更差的代码。那么,现代编译器如何处理这个问题? 我很难找到相关信息(特别是易于理解的信息...),最好能找到的是wikipedia articl...

7得票1回答
EC2上没有C编译器?

我一直在尝试在我的EC2实例上安装Gearman,但当我尝试./configure gearmand时,我收到了以下错误信息: checking build system type... x86_64-unknown-linux-gnu checking host system type.....

32得票2回答
constexpr是否可以与volatile组合使用?

以下代码片段在Clang 3.5中可以正常工作,但在GCC 4.9.2中不能:int main() { constexpr volatile int i = 5; } 带有错误: 错误: 此处不能同时使用 'volatile' 和 'constexpr' 如果我检查Clan...

20得票5回答
C++错误:Sleep在此作用域中未声明

我在Ubuntu上使用codeBlocks和GCC 4.7中的boost 1.46 [ yield_k.hpp ],使用C++语言。我遇到了以下编译时错误:error : Sleep was not declared in this scope 代码:#include <iostream...

10得票3回答
为什么GCC会警告这种隐式转换?

GCC警告我以下代码段包含可能会改变值的隐式转换:#include <stdlib.h> float square = rand(); 然而,以下代码并未产生任何警告:float square = 100; GCC 给出的警告如下:tests/ChemTests.cpp:17:23...

13得票2回答
是否有GCC警告可以检测有符号类型的位移操作?

如果我对C++ ISO规范(5.8.2和5.8.3节)的阅读正确的话,负有符号类型的右移是实现相关的,左移则是未定义行为。 因此,我想在我们使用g++ 4.8.2编译的遗留源代码中找到有符号类型的移位操作。 不幸的是,在手册中我找不到这样的选项。例如,我可以使用"g++ -Wall -We...