Fatal Error C1055 致命错误 C1055

本文介绍了解决MSDN中C1055致命错误的方法,包括拆分源文件、减少不必要的头文件和重复利用变量等。此外,还提供了调整项目属性中的调试信息格式选项的具体步骤。

MSDN的错误提示如下:

Fatal Error C1055

compiler limit : out of keysThe
  source file contains too many symbols. The compiler ran out of hash keys for the symbol table.
Possible solutions
  Split the source file into smaller files.
  Eliminate unnecessary header files.
  Reuse temporary and global variables instead of creating new ones.
---------------------------


致命错误 C1055

编译器限制 : 超出键范围
  源文件包含的符号太多。编译器用完了符号表的哈希键。
可能的解决方案
  将源文件拆分成更小的文件。
  消除不需要的头文件。
  重用临时变量和全局变量,而不是创建新的变量。

  首先检查以上问题是否存在,若还不能解决问题,查看是否使用了"ZI"编译项。
  这里提供另一个可能的解决方法:在项目属性 / C/C++ / 常规 / 调试信息格式 中,使用 "程序数据库(/Zi)" 选项 代替 "用于“编辑并继续”的程序数据库(/ZI)"选项。
  在VC60中为 菜单 / Project / Setting / General / Debug Info: 使用 "Program Database" 代替 " Program Database for Edit and Continue".

在C语言里,位左对齐右对齐一般在格式化输出时会用到,主要用于控制数据在输出时的位置。以下是相关介绍: ### 整型数据的左对齐右对齐 通过`printf`函数实现整型数据的左对齐右对齐右对齐是默认方式,在格式说明符`%`和`d`之间添加数字来规定输出宽度,若数字位数小于规定宽度,会在左边补空格;左对齐则需在数字前加`-`号,若数字位数小于规定宽度,会在右边补空格。 示例代码如下: ```c #include <stdio.h> int main() { // 右对齐。数字宽度为10,若不足10,在左边补足空格 printf("%10d\n", 1234); // 左对齐。数字宽度为10,若不足10,在右边补足空格 printf("%-10d\n", 1234); return 0; } ``` ### 不同输出长度的情况 当规定的输出宽度和数字实际位数不同时,有不同的处理方式。若规定宽度小于数字实际位数,会完整输出数字;若规定宽度大于数字实际位数,右对齐在左边补空格,左对齐在右边补空格。 示例代码如下: ```c #include <stdio.h> int main() { // -5是左对齐,输出长度为5。5是右对齐,输出长度为5 printf("%-5d %5d\n", 455, 455); printf("%-5d %5d\n", -123, -123); // 规定宽度小于实际位数,完整输出数字 printf("%-5d %5d\n", 987654, 987654); return 0; } ``` ### 其他数据类型的对齐 除整型外,其他数据类型也能实现左对齐右对齐。例如浮点数(`%f`)、字符串(`%s`)等,方法和整型一致。 示例代码如下: ```c #include <stdio.h> int main() { // 右对齐浮点数,宽度为10 printf("%10f\n", 3.14); // 左对齐浮点数,宽度为10 printf("%-10f\n", 3.14); // 右对齐字符串,宽度为10 printf("%10s\n", "hello"); // 左对齐字符串,宽度为10 printf("%-10s\n", "hello"); return 0; } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值