c++ - 我可以使用 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 的用户将必须使用具有相同编译器设置的相同编译器”。
- 我的共享库及其 Pimpl C++ 头文件的可移植性如何?(我使用 gcc8,c++14)
- 我应该怎么做才能编译共享库,以便我的所有用户都能够编译他们的应用程序?与新旧 ABI、gcc/clang 和任何 C++ 版本兼容吗?
解决方案
推荐阅读
- python-3.x - ubuntu16.04 python3 pip install sasl
- css - flex-wrap 属性在移动屏幕上不起作用
- javascript - 我是否正确使用了这个 Promise 功能
- javascript - 有没有办法让多个内联配置的 ckeditor 与单个工具栏 DOM 元素
- xamarin - Xamarin 表单是否支持 Google 地图本机控件的 Bing 地图?
- python - Python plt.colorbar() 它有什么作用,颜色条上的数字表示什么?
- angular - Cloud Firestore - 查询基于单个文档
- sql - SQL Server 将列名作为 where 子句参数传递
- reporting-services - SSRS 表达式嵌套 iif 表达式
- c# - 进入页面后运行一次代码