首页 > 解决方案 > 我可以使用 Pimpl 提供 C++ 头文件,还是必须使用 C 内置类型进行展平?

问题描述

我们有一个专有的 C++ 库,我正在考虑使用 Pimpl 习惯用法共享库文件 .so提供 C++ 头文件。

尽管如此,我还是找到了这个页面:https ://docs.microsoft.com/en-us/cpp/cpp/portability-at-abi-boundaries-modern-cpp?view=msvc-160

只有当调用者和被调用者在布局、调用约定等方面达成一致时,才能使用类类型。这只有在使用相同的编译器和编译器设置进行编译时才有可能。

我将这句话理解为“我的 lib 的用户将必须使用具有相同编译器设置的相同编译器”。

标签: c++

解决方案


推荐阅读