2024年5月5日发(作者:)

gcc 常见的编译警告与错误(按字母顺序排列)

C语言初学者遇到的最大问题往往是看不懂编译错误,进而不知如何修改程序。有鉴于

此,本附录罗列了用gcc编译程序时经常出现的编译警告与错误。需要提醒读者的是,出现

警告(warning)并不影响目标程序的生成,但出现错误(error)则无法生成目标程序。

为便于读者查阅,下面列出了经常遇到的警告与错误,给出了中英文对照(英文按字典

顺序排列),并对部分错误与警告做了必要的解释。

#%s expects FILENAME or …

#%s 需要 FILENAME 或…

#%s is a deprecated GCC extension

#%s 是一个已过时的 GCC 扩展

#%s is a GCC extension

#%s 是一个 GCC 扩展

#~ error:

#~ 错误:

#~ In file included from %s:%u

#~ 在包含自 %s:%u 的文件中

#~ internal error:

#~ 内部错误:

#~ no newline at end of file

#~ 文件未以空白行结束

#~ warning:

#~ 警告:

#elif after #else

#elif 出现在 #else 后

#elif without #if

#elif 没有匹配的 #if

#else after #else

#else 出现在 #else 后

#else without #if

1

#else 没有匹配的 #if

#endif without #if

#endif 没有匹配的 #if

#include nested too deeply

#include 嵌套过深

#include_next in primary source file

#include_next 出现在主源文件中

#pragma %s %s is already registered

#pragma %s %s 已经被注册

#pragma %s is already registered

#pragma %s 已经被注册

#pragma once in main file

#pragma once 出现在主文件中

#pragma system_header ignored outside include file

#pragma system_heade 在包含文件外被忽略

%.*s is not a valid universal character

%.*s 不是一个有效的 Unicode 字符

%s in preprocessing directive

预处理指示中出现 %s

%s is a block device

%s 是一个块设备

%s is shorter than expected

%s 短于预期

%s is too large

%s 过大

%s with no expression

%s 后没有表达式

%s: not used because `%.*s’ defined as `%s’ not `%.*s’

%s:未使用因为‘%.*s’被定义为‘%s’而非‘%*.s’

2