在我正在阅读的书中(C++ Without Fear),它表示如果你没有为一个类声明一个默认构造函数,那么编译器会为你提供一个"零逻辑".我已经尝试过这个,而且我没有看到任何归零行为.我也找不到任何在Google上提到这一点的内容.这只是一个错误或特定编译器的怪癖?
编辑:对于那些寻找问题答案的人,如标准所述,标准限制了编译时嵌套循环的数量.在运行时,这是一个不同的问题,因为唯一的限制是程序段的大小.
解决:我在构建过程中看得太早.c文件进一步应用于它的预处理.关闭后续步骤.
我对使用perl从应用生成发音规则的语言生成的c代码有疑问.在本质上,输入是一个庞大的发音规则例外字典.代码充满了gotos,直到其中一个异常字典达到23K规则为止.
代码基本上是不可读的但我已经设法在删除看似第6200个嵌套循环之后编译c代码:
for (dictionionary1=seed1;dicitonary1<limit1;dictionary1++)
{
for (dictionionary2=seed2;dicitonary2<limit2;dictionary2++)
{
/* .... */
for (dictionionary6199=seed6199;dicitonary6199<limit6199;dictionary6199++)
{
/* two hundred more removed adding one makes it not compile */
}
}
}
Run Code Online (Sandbox Code Playgroud)
gcc和xlC都能够处理这些,但是aCC 3.73(在H11.23 PA RISC上)正在发挥作用.
Compiling /home/ojblass/exception_dictionary_a.c...
Loading the kernel...
Pid 18324 killed due to text modification or page I/O error
/bin/ksh: 28004 Bus error(coredump)
*** Error exit code 138
Run Code Online (Sandbox Code Playgroud)
我找到了这个链接并尝试了许多建议的修复但没有成功.
由于遗留原因,我必须编译为32位(它使用32位库,我没有64位对应的).
maxdsiz = 256 MB (x10000000) tried up to 4 GB
maxssiz = 16 MB …Run Code Online (Sandbox Code Playgroud)