当我使用G.C.C编译这个代码时:
通过使用下面的批处理文件:
#include <iostream>
#include <string>
int main()
{
std::cout << std::string("\r\n");
return 0;
}
通过使用下面的批处理文件:
g++ -Wall main.cc
尝试运行输出文件(a.exe
),然后Windows以此错误崩溃初始化:
如果我在C++代码中避免使用std::string
, 即使包括<string>
,它也可以正常执行。 有什么想法吗?
请注意,第一次测试std::string
。
我运行的是Windows 8 / 64位。 我的编译器包含这个文件build-info.txt
:
# **************************************************************************
version : MinGW-W64-builds-4.3.0
user : nixman
date : 03.30.2017- 1:01:08 PM
args : --mode=gcc-6.3.0 --buildroot=/c/mingw630 --jobs=2 --rev=2 --threads=win32 --exceptions=sjlj --arch=i686 --bin-compress
[much more here...]
# **************************************************************************
请注意,我习惯于禁用和卸载所有可能的反病毒实用程序(例如Windows Defender)。
#include <string>
不会生成任何代码。毫不奇怪的是,在不使用该头文件的情况下包含它不会显示您看到的错误。 - IInspectablestd::string
会出现问题。 - PaulMcKenzie