- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
正如我在这里看到的 ( Combine static libraries ) 我可以使用 libtool 组合多个静态库
libtool -static -o new.a old1.a old2.a
据我所知,这会将旧库中的每个函数连接到新库中。但我真正想要的是 new.a 库中的函数,其他函数用于依赖目的。有没有办法只把new.a需要的部分从其他库中组合起来,而不带一堆不必要的代码?
最佳答案
您可以从旧库中提取那些您希望合并到新库中的目标文件。但是担心它真的没有多大意义;链接器将只链接那些必要的目标文件,这与共享库不同,在共享库中,共享库中定义的所有符号都可用于可执行文件(通常不是它全部使用它们)。
完成这项工作的老式方法是:
mkdir new
cd new
ar x ../old1.a
ar x ../old2.a
ar rv ../new.a *.o
cd ..
rm -fr new
在两次 x
操作之后,您可以清除和削减目标文件以保留您想要在 new.a
中使用的内容。
关于c++ - 有没有更好的方法来组合静态库而不携带一堆不必要的代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22367107/
jQuery attributeContainsPrefix [name^="value"] 对比 attributeStartsWith [name|="value"] 实际区别是什么? 最佳答案
在1.1部分在RFC 6749中,有四种角色:资源拥有者、资源服务器、客户端和授权服务器。 如果客户端和资源所有者是同一实体,OAuth 是否变得多余或不必要? 例如,我有一个封闭的 API 和一个面
我有一段代码,其中有一个带有保护子句的 raise 语句: def validate_index index # Change to SizeError raise ArgumentError
我看到了这篇文章( JPA Entity Lifecycle Events vs database trigger ),但它并没有像我在这里那样明确地询问: 当我插入 PK 值为 (null) 的行时
所以,我有一段代码看起来像 if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR2){ // Do something }
我是一名优秀的程序员,十分优秀!