【问题标题】:Is it safe to pass objects, such as STL objects, to and from a static library?将对象(例如 STL 对象)传入和传出静态库是否安全?
【发布时间】:2018-08-15 01:35:36
【问题描述】:

我知道向/从 DLL 传递对象可能是不安全的,但我不确定静态库是否也是如此。

将对象(例如 STL 对象)传入和传出静态库是否安全?

【问题讨论】:

标签: c++ stl static-libraries abi


【解决方案1】:

最好是这样。静态库本质上只是一堆编译的目标文件,它们混合在一起并被索引以简化链接;如果将 STL 对象传递给静态库不安全,那么在单独的 .cpp 文件中定义的函数之间传递它们根本不安全。

显然,您需要确保使用与最终编译和链接您自己的代码相同的 ABI 的编译器编译静态库,但链接不同的运行时库不会出现问题动态链接。

【讨论】:

    猜你喜欢
    • 2014-05-12
    • 1970-01-01
    • 2011-06-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-13
    相关资源
    最近更新 更多