簡體   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