繁体   English   中英

如何制作假代理导入库

[英]How to make fake proxy Import library

我记得发现* .a库不包含任何对象,而是一个列表库(作为纯文本?),类似于: -liconv -lm

这样,当gcc遇到它时,将在两个库中搜索链接。

有这样的把戏吗? 可以肯定的是,那一次它可以正常工作,但是我现在不知道该怎么做。

您的链接器来自binutils吗? binutils ld支持.a文件作为隐式链接程序脚本

如果您指定了一个链接程序输入文件,而该链接程序无法将其识别为目标文件或归档文件,它将尝试将其作为链接程序脚本读取。 如果无法将文件解析为链接描述文件,则链接描述文件将报告错误。

链接描述文件不必libc.so复杂,它可以像下面这样简单(对于glibc的libc.so ):

/* GNU ld script.  */
OUTPUT_FORMAT(elf64-x86-64)
GROUP ( …/libc.so.6 …/libc_nonshared.a AS_NEEDED ( …/ld-linux-x86-64.so.2 ) )

或者,您可以只使用INPUT将事情委托给ld

如果您使用“ INPUT (-lfile) ”,则ld会将名称转换为libfile.a ,就像命令行参数“ -l ”一样。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM