问题描述
在C语言中使用不同的基础知识,我发现了一个错误,到目前为止,在网络上都找不到答案。
在Windows 10的cmd提示符中使用TCC:
#include <stdio.h>
#include <stdlib.h>
#include <assert.h>
int main(int argc,char **argv) {
abort(); //or assert()
return 0;
}
问题首先出现在assert()
(例如assert(1==0);
)中某个伪表达式中,该伪表达式调用abort()
。 abort()
之前的其余代码只是printfs
的列表,其中包含多个sizeof
,在我添加assert
/ {{1}之前,没有任何问题}。该程序将在应有的位置终止。然后,我无法编写(重新编译)或删除.exe。在任务列表中查找,该程序被列出与运行次数相同的次数。似乎卡在了“某处”。 abort
给出3。我必须以管理员权限对其执行任务杀死。
(我在Ubuntu上使用gcc尝试了代码,效果很好。)