在创建共享库时,./sl 文件大小将大于 60KB。有 2 个 .o 文件的总大小超过 20KB。
检查实用程序:ldd 和 elfdump 以确定正在引用的库。除了使用的原始文件之外,我还看到了 :/usr/ccs/lib/pa20_64/lddstub 和 SOURCE FILE INFO: movelr1 PA-RISC 2.0 Assembler 的引用。
共享库文件大小增加的可能原因是什么?
[(C 中的新手):在操作系统上工作:HP Unix 11i V2 PA RISC-64]
我不是 HP-UX 专家,但我最好的猜测是,除了 20kB 的目标文件之外,HP-UX 供应商链接器正在向它正在创建的动态库中添加一些额外的东西。
您可以使用 strip(1) 实用程序来缩小共享库。
感谢 Sean!,但是使用 strip 实用程序确实影响了文件大小,~7KB,但影响很小。
我们发现的另一个选项是:elfdump -dc TestProg.sl
在这样做时,我们发现包含系统文件以及源文件编译的日期/时间。一种可能是早期版本的 sl 文件包含了较旧版本的 prog/os 系统文件,这可能是大小差异的一个可能原因。
共享库中包含的 sys 文件:[movelr1.o]:在路径 /usr/lib/pa20_64/milli.a 中会影响创建的 ./sl 文件的大小。