C程序中止()使.exe访问在终止后被拒绝

C程序中止()使.exe访问在终止后被拒绝,c,windows,assert,abort,.exe,return,exit,C,Windows,Assert,Abort,.exe,Return,Exit,在用C做不同的基础工作时,我发现了一个错误,到目前为止还没有在web上找到答案 在cmd提示符下使用Windows 10上的TCC: #包括 #包括 #包括 int main(int argc,字符**argv){ 中止();//或断言() 返回0; } 问题首先出现在assert()中的某个伪表达式(如assert(1==0);)中,它调用abort()。在abort()之前,代码的其余部分只是一个带有多个sizeof的printfs列表,在我添加assert/abort之前没有出现任何问题

在用C做不同的基础工作时,我发现了一个错误,到目前为止还没有在web上找到答案

在cmd提示符下使用Windows 10上的TCC:

#包括
#包括
#包括
int main(int argc,字符**argv){
中止();//或断言()
返回0;
}
问题首先出现在
assert()
中的某个伪表达式(如
assert(1==0);
)中,它调用
abort()
。在
abort()
之前,代码的其余部分只是一个带有多个
sizeof
printfs
列表,在我添加
assert
/
abort
之前没有出现任何问题。程序在应该终止的地方终止。然后,我无法写入(重新编译)或删除.exe。在任务列表中,程序的列出次数与运行次数相同。它似乎卡在了“某处”<代码>%ERRORLEVEL%给出3。我必须以管理员权限杀死他们


(我用gcc在Ubuntu上试用了代码,效果很好。)

我卸载了ZoneAlarm,一切恢复正常。默认情况下,该防火墙可能会激活命令提示符,该提示符在退出()时返回一个值。

您能准确地说出您是如何运行该程序的吗?我认为在程序运行时,您不能删除或覆盖exe文件是正常的。所以问题是为什么它还在运行。我对Windows了解不多,但我想知道是否有一些崩溃报告功能在它记录崩溃或等待某种确认时保持它的活动状态。建议在Windows上调用
abort()
,会弹出一个消息框。我想知道程序是否等待终止,直到框被解除,或者您是否没有看到框(例如,它在另一个显示器上或被其他窗口遮挡)。@Nate Eldredge我正在命令提示符下运行程序。我还试图通过单击浏览器中的.exe来运行。我重新启动了我的电脑,没有终止的任务仍在运行。可能相关。。。什么是“TCC”?还有别的吗?