VS code c++:“退出代码=3221225785”

Eva*_* G. 3 c++ visual-studio-code

我对 VS code 完全是个新手,而且我只用 C++ 编码了大约一个月。我尝试了这个简单的程序来确保设置正确:

#include <iostream>
#include <vector>
using namespace std;

int main() {

cout << "Hello world" << endl;
vector<int> v;
return 0;

}
Run Code Online (Sandbox Code Playgroud)

运行可执行文件时没有显示任何内容。删除向量声明会使程序正常运行。

我确实发现在声明字符串时遇到了类似的问题,并且解决方案(使用 -static-libstdc++ 进行静态链接)对我有用,尽管提供解决方案的作者也不完全确定它为什么有效。

然而,由于我是菜鸟,所以我不太明白为什么静态链接解决了我的问题,即使在读完这篇文章之后,我也担心提到的一些缺点(如果绝对必须的话,建议仅静态链接,因为缺点超过优势),所以我想知道除了静态链接之外是否还有其他解决方案。

编辑:澄清 - 程序的输出现在正常显示在终端中,但在输出窗口中,仍然出现相同的退出代码。

小智 5

如下所示配置 VSCode“VS Code C++:退出代码 = 3221225785”

安装 Visual Studio Code 的 Code Runner 扩展。

打开设置(Seetings.json)。

在搜索栏中搜索“code-runner.executorMap”。

调整

"cpp": "cd $dir && g++ $fileName -o $fileNameWithoutExt  && $dir$fileNameWithoutExt",
Run Code Online (Sandbox Code Playgroud)

"cpp": "cd $dir && g++ $fileName -o $fileNameWithoutExt -static && $dir$fileNameWithoutExt",
Run Code Online (Sandbox Code Playgroud)

之后,右键单击源代码文件,选择“运行代码”选项。

对于调试:

在tasks.json文件的“args”中添加一个额外的参数“-static”。

前:

"args": [

                "-g",
                "${file}",
                "-o",
                "${fileDirname}\\${fileBasenameNoExtension}.exe"  

            ],
Run Code Online (Sandbox Code Playgroud)

后:

"args": [

                "-g",
                "${file}",
                "-o",
                "${fileDirname}\\${fileBasenameNoExtension}.exe",
                "-static"

            ],
Run Code Online (Sandbox Code Playgroud)

“-static”是编译运行时的静态链接参数。