Tag: abort

“Abort trap:6”在Mac上运行C程序

我有这个程序的问题。 当我尝试在Mac上运行它时,它会返回“Abort trap:6”。 我无法理解原因。 下面是我用来测试程序的文件内容。 aaabccdegags bbbbbbbcados vbaiusbyabtd aisybavsitvc asindvsivati ammaccabanan 您应该将这些无意义的字符串复制到文本文件file.txt并使用以下语法通过命令提示符调用它: program.exe file.txt r 其中file.txt包含无意义字符串, r是它应在文本文件中查找的字母。 #include #include #include #include #define R 24 #define C 71 int main(int argc, char * argv[]) { if (argc!=3){ printf(“Errore acquisizione parametri\n”); return -1; } FILE*fp; char m[R][C],c,posizione[10]; int i,j,lstr,numrighe,quante,quantemax,posiz,x,y,maxmax; maxmax=0; //posiz=1 se orizzontale quantemax=0; sscanf(argv[2],”%c”,&c); fp=fopen(argv[1],”r”); if […]

包装abort()系统调用时出现奇怪的行为

我需要编写单一测试来包装abort()系统调用。 这是一段代码: #include #include #include extern void __real_abort(void); extern void * __real_malloc(int c); extern void __real_free(void *); void __wrap_abort(void) { printf(“=== Abort called !=== \n”); } void * __wrap_malloc(int s) { void *p = __real_malloc(s); printf(“allocated %d bytes @%p\n”,s, (void *)p); return p; } void __wrap_free(void *p) { printf(“freeing @%p\n”,(void *)p); return __real_free((void *)p); } […]

在VS2010中,abort()不是__declspec(noreturn)

在我的VS2010副本中,stdlib.h包含(第353-355行) _CRTIMP __declspec(noreturn) void __cdecl exit(_In_ int _Code); _CRTIMP __declspec(noreturn) void __cdecl _exit(_In_ int _Code); _CRTIMP void __cdecl abort(void); 我觉得奇怪的是abort()上没有noreturn注释。 有谁知道这个的原因? 这是一个错误吗? 编辑:在VS2008中,它是相同的,但是stdlib.h的第371-373行 缺少noreturn注释会触发错误C4716 。 进一步参考: 用于标准化noreturn注释的C ++ 0x提议 ,其中说abort应该携带它。 编辑:看起来像一堆讨论消失了,删除的答案,但它的要点包含在缺陷报告#048中 。

优雅地退出MPI

如果Rdinput返回错误,我正试图优雅地退出我的程序。 #include #include #include #define MASTER 0 #define Abort(x) MPI_Abort(MPI_COMM_WORLD, x) #define Bcast(send_data, count, type) MPI_Bcast(send_data, count, type, MASTER, GROUP) //root –> MASTER #define Finalize() MPI_Finalize() int main(int argc, char **argv){ //Code if( rank == MASTER ) { time (&start); printf(“Initialized at %s\n”, ctime (&start) ); //Read file error = RdInput(); } Bcast(&error, 1, INT); […]