-qchars (-fsigned-char , -funsigned-char)
适用的调用
选项 | xlc (编译 C) | xlC (编译 C++) | xlclang(编译 C) | xlclang++(编译 C++) |
---|---|---|---|---|
-qchars | ✓ | ✓ | ✓ | ✓ |
-fsigned-char, -funsigned-char | ✓ | ✓ |
注: 此表中仅列出典型调用。 对于所有基本调用及其等效特殊调用,您可以参阅 编译器调用的完整列表 。
类别
等效编译指示
xlc/xlC 和其他遗留的调用命令 | xlclang/xlclang + + 调用命令 |
---|---|
#pragma 个选项字符, #pragma 个字符 | 无 |
用途
确定类型为 char
的所有变量是视为 signed
还是 unsigned
。
语法
缺省值
-funsigned-char 或 -qchars=unsigned
参数
- unsigned
- 类型为
char
的变量将被视为unsigned char
。 - 已签名
- 类型为
char
的变量将被视为signed char
。
使用量
无论此 选项或 编译指示的设置如何,出于类型兼容性检查 或 C++ 重载的目的,仍认为 char
的类型与类型 unsigned
char
和 signed char
不同。
实用程序必须出现在任何源语句之前。 如果在源文件中多次指定编译指示,那么第一个编译指示将优先。 指定后,该编译指令将应用于整个文件,且无法禁用;如果源文件中包含任何您想要编译的函数,且这些函数中不包含 #pragma字符 ,请将这些函数放置在不同的文件中。
预定义的宏
- 当 signed 生效时,将 _CHAR_SIGNED 和 __CHAR_SIGNED__ 定义为 1; 否则,将其定义为 undefined。
- 当 unsigned 生效时,将 _CHAR_UNSIGNED 和 __CHAR_UNSIGNED__ 定义为 1; 否则,将取消定义它们。
示例
要在编译
myprogram.c
时将所有 char
类型视为 signed
,请输入:xlc myprogram.c -qchars=signed