C程序abort使.exe访问在终止后被拒绝

问题描述

在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尝试了代码,效果很好。)

解决方法

我卸载了ZoneAlarm,一切恢复正常。看来,默认情况下,此防火墙可以使命令提示符保持活动状态,该命令提示符在退出( )时返回一个值。>

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...