gpt4 book ai didi

c++ - 在 iOS 静态库中隐藏 C++ 符号?

转载 作者:行者123 更新时间:2023-11-30 01:30:46 24 4
gpt4 key购买 nike

我已经用纯 C++ 制作了一个 iOS 代码库,我打算将其发布给很多人。据我所知,在撰写本文时,在 iOS 上共享已编译代码的唯一方法是通过静态库。

不幸的是,代码中有一些聪明的部分我想隐藏起来不让公众看到。我想做的只是公开单个(简单)接口(interface)类的符号,并隐藏其他所有内容。这可能吗?

关于如何隐藏我的符号的任何其他想法也非常受欢迎。感谢您的宝贵时间!

最佳答案

解决了!我最终首先将所有源代码包含在一个 cpp 中。其次,我将所有非外部的东西放在一个未命名的命名空间中。然后为了摆脱剩余的符号,我将这个脚本添加到构建过程中:

echo MyGlobalFunctionToInstantiateMainClass > "${BUILT_PRODUCTS_DIR}/save_symbols"
strip -s "${BUILT_PRODUCTS_DIR}/save_symbols" -u "${BUILT_PRODUCTS_DIR}/lib${PRODUCT_NAME}.a"

去除除 MyGlobalFunctionToInstantiateMainClass 之外的所有全局符号。

关于c++ - 在 iOS 静态库中隐藏 C++ 符号?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4095816/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com