为什么 #include< bits/stdc++.h> 在 Windows 上默认不起作用?

Why #include<bits/stdc++.h> does not work by default on windows?

本文关键字:Windows 默认 不起作用 gt stdc++ lt #include bits 为什么      更新时间:2024-04-28

我已经在windows上安装了mingw-w64编译器。但是使用#include<bits/stdc++.h>在c++程序中,预处理器指令总是给出一个错误。如何解决这个问题?

bits/stdc++.h不是标准头文件。因此,除非使用某些特定的编译器,否则不能保证它能正常工作。即使是同一编译器的不同版本也可能提供,也可能不提供

当它可用时,bits/stdc++.h只是#include的每个标准C++头文件。对于刚开始学习这门语言的人来说,这可能是有道理的,这样他们就不必担心弄清楚哪些内容是他们需要的,哪些内容是不需要的。但是使用它会减慢编译时间,在某些情况下可能会使可执行文件比需要的更大,并且(正如您所发现的(使代码不可移植。

唯一的解决方案是不使用它,而是#include只使用您需要的特定标头。你真的是;假定的";按照程序进行;当您需要在标头中声明某个函数时,可以包含该标头,然后编写函数调用。一些IDE会告诉您每个函数需要哪个包含。

但如果你已经把代码都写好了,你就可以作弊了。只需删除#include <bits/stdc++.h>行并尝试编译即可。如果编译器抱怨符号丢失或未定义,请在谷歌上搜索符号,找出它来自哪个标头,然后#include。冲洗并重复,直到得到干净的编译。

问题是VS Code找不到<bits/stdc++.h>。它不包括在包含头文件的位置。所以我们只有将stdc++.h文件复制并粘贴到vscode的头文件中。因此,转到MinGw目录并搜索stdc++.h。打开其文件位置。现在回到bits文件夹并复制它。C: \MinGW\lib\gcc\mingw32\6.3.0\include\C++\mingw32

我们需要将此文件夹包含在vs代码头文件中。

现在转到程序文件(x86(打开Microsoft Visual Studio并导航到此位置C: \Program Files(x86(\Microsoft Visual Studio\2019\BuildTools\VC\Tools\MSVC\14.29.30133\include

现在将你的垃圾箱文件夹粘贴到这里。刷新visual studio代码,它应该可以正常工作