gpt4 book ai didi

c - 试图在 VS 2010 中使用 '#include '

转载 作者:太空狗 更新时间:2023-10-29 16:25:09 27 4
gpt4 key购买 nike

我正在尝试在 C 程序中使用 stdbool.h 库文件。然而,当我尝试编译时,出现一条错误消息,指出智能感知无法打开源文件 stdbool.h。

谁能告诉我如何让 visual studio 识别这个?这个头文件是否有效?我正在阅读一本关于学习 C 编程的书。

最佳答案

typedef int bool;
#define false 0
#define true 1

工作正常。 Windows header 做同样的事情。绝对没有理由担心在 int 中存储两位值所消耗的“浪费”内存。

正如 Alexandre 在评论中提到的,Microsoft 的 C 编译器(与 Visual Studio 捆绑在一起)doesn't support C99并且可能不会。不幸的是,因为 stdbool.h 和许多其他更有用的功能在 C99 中受支持,但在 Visual Studio 中不受支持。它停留在过去,仅支持称为 C89 的旧标准。我很惊讶你在尝试在 block 开头以外的地方定义变量时没有遇到问题。每当我在 VS 中编写 C 代码时, 都让我很反感。

一种可能的解决方法是将 Visual Studio 配置为将代码编译为 C++。然后,几乎您在 C99 书中阅读的所有内容都可以在编译器不阻塞的情况下正常工作。在 C++ 中,bool 类型是内置的(尽管它在 C++ 模式下是 1 字节类型,而不是像 C 模式下那样的 4 字节类型)。要进行此更改,您可以在 IDE 中编辑项目的编译设置,或者只需将文件重命名为具有 cpp 扩展名(而不是 c)。 VS会自动设置相应的编译模式。

现代版本的 Visual Studio(2013 及更高版本)改进了对 C99 的支持,但仍不完整。老实说,如果您想学习 C(以及现在的 C99),更好的解决方案是选择一个不同的编译器。 MinGW如果您在 Windows 上运行,这是一个不错的选择。很多人喜欢 Code::Blocks开发环境

关于c - 试图在 VS 2010 中使用 '#include <stdbool.h>',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8548521/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com