0

我还在学习 c++,我可能做了一些愚蠢的事情;)

我的 Visual Studio 项目构建时没有错误或警告(在调试模式下),但我无法运行它。当我按下 F5 时,会弹出一条无用的错误消息:“无法启动程序:'Path\foo.exe'”。原来build文件夹里根本就没有exe文件。

我指出,当我构建项目时,exe 会出现一小段时间,然后再次消失。

我的这部分代码导致了所描述的问题:

void foo::start(){
    std::vector<variation> variations;
    ...
}

继承人的变化结构:

struct variation {
     int rest;
};

我究竟做错了什么?

编辑:进程监视器显示最有可能的 explorer.exe 删除了文件(找不到 exakt 条目,但它是构建后唯一运行的进程)

在干净的解决方案和新版本之后,有时exe永久位于目录中,当我双击它时会出现以下错误:“'path\name.exe'不是有效的win32应用程序”这是否意味着我的代码可以执行某些操作按 c++ 标准但不是按 Windows?

4

1 回答 1

2

我很确定这是我要写的答案。但要感谢评论中在我之前的 Jerry Coffin 和 Hans Passant!

防病毒软件。将其关闭或将您的 Visual Studio 项目添加到其排除的目录中。

我不知道您系统的详细信息,但许多 AV 程序非常怀疑与已知校验和不匹配的可执行文件。添加一些与病毒签名模式匹配的代码,它会吓坏、删除或隔离您的程序。

虽然如果是这种情况,我很惊讶您没有收到警告消息、闪烁的托盘图标或其他形式的警报。如果您的系统是由公司 IT 团队预装的,他们的管理员可能会从您的系统收到警报,而本地警报会关闭。

于 2012-12-12T00:51:01.280 回答