何时使用 .hpp 文件
When to use .hpp files
我使用 C++ 创建了一个库,我想为这个库创建一个 Python 包装器,我正在使用boost.python
- 问题是我分别创建了.h
和.cpp
文件,由于某种原因,.so 文件无法链接这些.cpp文件。
因此,我决定只使用 .hpp 扩展名并将实现作为头文件包含在内。就C++而言,这种做法是好是坏?我希望将我的项目上传到 Github,因此希望最大化最佳解决方案。
附言我认为这个问题更适合 programmers.stackexchange.com 所以如果是,有人可以迁移它吗?
如果你在项目中混合了 c++ 和 c,这是一个好主意。如注释中所述,.hpp 和 .h 本质上是相同的(用于编译 c++,而不是 c)。如果您在链接项目时遇到问题,那不是因为您的文件扩展名。
在头文件中,您通常会"原型化"类定义,以便可以使用所有类成员,而不仅仅是在当前代码之前定义的类成员。
请查看:*.h 或 *.hpp 用于类定义
相关文章:
- 如何将class.cpp和class.hpp编译为一个.o文件
- g++ -I 和 -L 命令来查找不起作用的 .hpp 文件
- Gnuplot_i.hpp C++接口绘制局部变量而不是文件
- 致命错误:找不到'boost/uuid/uuid.hpp'文件
- 造成致命错误:boost/fusion/iterator/equal_to.hpp 没有这样的文件或目录
- 无法使包含.hpp文件与其中的2个文件一起使用
- 在指向现有内存地址的 hpp 文件中声明成员函数的最佳方法
- 无法打开包含文件'Graphics.hpp'没有这样的文件或目录,Visual Studio的其他包含不起作用
- 编译器正在查找.当"实施"完全在"我的"中时的CPP文件.HPP文件
- 我的项目中某些仅标头文件不能包含使用 CMake 和 Vscode 的"SFML/Graphics.hpp"
- 如何正确使用hpp文件和cpp文件中的嵌套类
- 错误: C1083: 无法打开包含文件:"boost/asio.hpp": 没有此类文件或目录
- 从一个cpp中给出所使用的头文件和hpp文件的列表
- 如何在 CMakeList 中包含 h/hpp 头文件.txt而不是 cpp 或其他 hpp 文件
- CMake add_executable() 使用.cpp文件或 .hpp 文件
- <opencv2/opencv.hpp>, <opencv2/imgproc.hpp>, <opencv2/highgui.hpp> 没有这样的文件或目录
- 添加 boost 文件系统.hpp 无法编译
- 我可以使用 cmake/make 编译我使用的所有且仅编译 cpp/hpp 文件吗?
- 将函数及其实现移动到与主文件不同的文件(.hpp 和 .cpp)时,性能会受到很大影响
- 如何使用g++获取C++头文件(.hpp)的程序集代码