gcc

来自百合仙子's Wiki
跳转到导航 跳转到搜索

用法

标准

警告非 C89 标准的用法:[1]

gcc -ansi -pedantic -o 可执行文件 源文件.c

在 64 位系统上编译 32 位程序

Arch 上需要安装这些软件包:gcc-multilib, binutils-multilib, gcc-libs-multilib。

export CC='gcc -m32'
export PKG_CONFIG_PATH='/usr/lib32/pkgconfig'
./configure \
      --prefix=/usr \
      --libdir=/usr/lib32
make

预编译

To see a full list of compiler defined symbols, use

gcc -dM -E - < /dev/null

调试

-g
包含调试符号。默认级别为 2。使用-g3指定级别为 3 可以调试宏

注意

文件

gcc 并不检查目标文件有几个硬链接,因此使用硬链接不是明知之举。

警告和优化

因为只有使用优化时才会进行变量跟踪,所以即使给出-Wall,只有启用优化时才会对可能未初始化的变量进行警告。[2]

要显式标注一个未使用的变量,以免警告,可使用如下代码:

#ifdef __GNUC__
#  define UNUSED __attribute__((__unused__))
#else
#  define UNUSED
#endif
void foo (int UNUSED a){...}

参见

外部链接

参考资料