1

这个非常简单的代码在使用 GNU、Intel 或 PGI(我认为这真的是 GNU?)编译时运行良好。在 Cray 下,它永远不会进入“debug6”;它在“calloc”调用中失败,返回“非法指令”错误。有人看到问题吗?编辑:这是一个运行时错误,而不是编译时错误。

进一步编辑:如果有人想要另一个线索,malloc()calloc()没有的地方工作。

和另一个编辑:如果你想要另一个线索,我calloc()最多可以 15 个字符,没有问题。它失败了16个或更多。

#include <stdio.h>
#include <stdlib.h>


int attempt_something() {

   char *needed_file_name = NULL;

   printf("debug2\n");
   needed_file_name = calloc(16, sizeof(char));

   printf("debug6\n");
   fflush(stdout);

   free(needed_file_name);

   return 0;

}



int main() {

   int rst_type;

   printf("debug1\n");
   rst_type = attempt_something();

}
4

0 回答 0