在 C++ 中创建库头文件? (相对于老式的 C?)
Creating Library Header Files in C++? (As opposed to old-fashined C?)
我刚刚学习了 C++ -- 我决定我正在从事的一个项目,我最好回到绘图板并从头开始用 C++ 编写它,而不是继续使用 C。
只有一个问题 --- 该项目的一部分包括库。有些库在 C++ 中不需要,但有些会。
我注意到在 C++ 中包含库头的语法与在 C 中不同。在 C 中,您编写以下内容:
#include <someheader.h>
另一方面,在 C++ 中,您键入以下内容(如果它是 C++ 库):
#include <someheader>
正因为如此,我担心我将 C++ 头文件放在一起的方式可能与我将 C 头文件放在一起的方式有所不同——或者至少在我命名它的方式上有所不同文件系统。
那么,有人知道我在编写 C++ 库头文件而不是 C 库头文件时需要了解的任何信息吗?
没有区别。大多数(如果不是全部)标准 C++ 库包含文件没有 .h
扩展名,以将它们与 C 库包含区分开来。原始的 C 标准头文件名在 C++ 中已被弃用,尽管几乎每个编译器仍然支持它们,并且名称更改为 c
后跟原始 C 文件名,没有 .h
扩展名。
例如:在C中,与字符串相关的头文件是string.h
,而C++中与字符串相关的头文件是string
。原始的 C 头文件也可以在 C++ 中作为 cstring
.
访问
随意混合使用标准 C headers 和标准 C++ headers。但要保持一致。对于 C++ 项目使用 <cstdlib>
,对于 C 使用 <stdlib.h>
,因为 C++ headers 使用命名空间,您可以避免名称冲突。所有标准 C headers 在 C++ 中复制,因此您可以在 C++ 代码中自由使用 C 库。
如果您查看 <cstdlib>
,您会发现它包括 <stdlib.h>
。其他标准C也是如此 headers.
我刚刚学习了 C++ -- 我决定我正在从事的一个项目,我最好回到绘图板并从头开始用 C++ 编写它,而不是继续使用 C。
只有一个问题 --- 该项目的一部分包括库。有些库在 C++ 中不需要,但有些会。
我注意到在 C++ 中包含库头的语法与在 C 中不同。在 C 中,您编写以下内容:
#include <someheader.h>
另一方面,在 C++ 中,您键入以下内容(如果它是 C++ 库):
#include <someheader>
正因为如此,我担心我将 C++ 头文件放在一起的方式可能与我将 C 头文件放在一起的方式有所不同——或者至少在我命名它的方式上有所不同文件系统。
那么,有人知道我在编写 C++ 库头文件而不是 C 库头文件时需要了解的任何信息吗?
没有区别。大多数(如果不是全部)标准 C++ 库包含文件没有 .h
扩展名,以将它们与 C 库包含区分开来。原始的 C 标准头文件名在 C++ 中已被弃用,尽管几乎每个编译器仍然支持它们,并且名称更改为 c
后跟原始 C 文件名,没有 .h
扩展名。
例如:在C中,与字符串相关的头文件是string.h
,而C++中与字符串相关的头文件是string
。原始的 C 头文件也可以在 C++ 中作为 cstring
.
随意混合使用标准 C headers 和标准 C++ headers。但要保持一致。对于 C++ 项目使用 <cstdlib>
,对于 C 使用 <stdlib.h>
,因为 C++ headers 使用命名空间,您可以避免名称冲突。所有标准 C headers 在 C++ 中复制,因此您可以在 C++ 代码中自由使用 C 库。
如果您查看 <cstdlib>
,您会发现它包括 <stdlib.h>
。其他标准C也是如此 headers.