我已經聯繫了一些文本使用此命令文件:內存與LD和AR重疊命令
LD -r -b二進制-o resources1.o * .TXT
我也得到一個文件resources.o與此內容:
納米resources1.o
00000018 D _binary_texto4_txt_end
00000018 A _binary_texto4_txt_size
00000000 D _binary_texto4_txt_start
00000031 D _binary_texto5_txt_end
00000019 A _binary_texto5_txt_size
00000018 D _binary_texto5_txt_start
0000004a D _binary_texto6_txt_end
00000019 A _binary_texto6_txt_size
00000031 D _binary_texto6_txt_start
我有其他resources2.o文件從另一個ld命令正在添加,但它有diferent內容:
00000018 D _binary___textos1_texto1_txt_end
00000018 A _binary___textos1_texto1_txt_size
00000000 D _binary___textos1_texto1_txt_start
00000031 D _binary___textos1_texto2_txt_end
00000019 A _binary___textos1_texto2_txt_size
00000018 D _binary___textos1_texto2_txt_start
0000004a D _binary___textos1_texto3_txt_end
00000019 A _binary___textos1_texto3_txt_size
00000031 D _binary___textos1_texto3_txt_start
我想這兩個resources.o文件在一個libSum.a文件合併。所以我用這個命令:
AR RVS libSum.a resources1.o resources2.o
當我鏈接libSum.a我的C程序,並嘗試使用這些文字,我不能因爲他們共享相同的內存偏移量。因此二進制 __textos1_texto1_txt_start具有與_binary_texto4_txt_start(0X00000000)相同的方向。
如何將兩個資源文件合併到一個.a庫中以避免內存偏移重疊? 謝謝