ChinaUnix.net
相关文章推荐:

ld 链接 教程

linux下,向abc.so添加一个def.o,如何做? 好像.so都是一次生成的,不像.a. 查了半天没查到参数. 望兄弟帮忙.

by hcq0411 - C/C++ - 2008-09-25 11:53:20 阅读(1812) 回复(2)

相关讨论

看了一点链接和装载的内容,很迷惑: 程序启动的时候需要操作系统通过ld程序去加载它,而这个加载过程本身是ld.so.2完成的。 我就奇怪了: 程序在运行时如何链接并启动,是通过一个动态链接库完成的。那么这个ld.so.2又是通过本身去完成链接的吗? 逻辑上岂不是死循环--自己要调用自己?

by jeanlove - C/C++ - 2008-10-10 22:12:31 阅读(2246) 回复(6)

想了解,如果-lm 命令的时候,同时有libm.a和libm.so的话,实际上用哪个? 我在solaris上面做的试验,如果两个同时存在,则选择libm.so。如果只有libm.a那么-lm就是链接libm.a 问题: 所有平台都是这样的么? 还是和我的具体使用的编译器或者是场景有关? 谢谢! 实验如下 ------------------------------------------------------------------------- > cat n.c #include void f(){printf("fdynamic\n");} > gcc --share -...

by jeanlove - C/C++ - 2013-06-06 10:06:05 阅读(3617) 回复(4)

拿来别人的一个包在我们的aix5上configure然后make 信息如下 if /bin/sh ../../libtool --mode=compile /usr/bin/g++ -DHAVE_CONFIG_H -I. -I. -I../.. -I../../include -I ../../../c/include -g -O2 -MT libsysutils___la-sys_utils.lo -MD -MP -MF ".deps/libsysutils___la-sys_utils.Tpo" -c -o libsysutils___la-sys_utils.lo `test -f 'sys_utils.cc' || echo './'`sys_utils.cc; then mv -f ".deps/libsysutils...

by picobsd - C/C++ - 2008-10-09 17:23:10 阅读(1758) 回复(1)

ld 链接时出现的问题 好怪啊,我的AT&T汇编的hello world [code].data msg: .ascii "Hello, world!\n" # our dear string len = . - msg # length of our dear string .text # .globl print_str # .def print_str; .scl 1; .type 32; .endef print_str: pushl %edx movl $len,%edx # third argument: message length(15) movl $msg,%ecx # second argu...

by ShellEx - C/C++ - 2007-06-27 17:32:37 阅读(1454) 回复(3)

郁闷一下午,大家帮忙看看 :em16: :em16: ld的man手册这么说的(info也一样) [quote] ld -o ; /lib/crt0.o hello.o -lc[/quote] 可是很显然,这个手册很久没更新了,虽然我的binutils是5月25日的手册(FC4),可内容很古老。crt0.o根本不在/lib下,而在/usr/lib下。 我尝试着这么链接: [quote][root@localhost rpath]# ld /usr/lib/crt1.o /usr/lib/crti.o /usr/lib/crtn.o test.o /lib/ld-linux.so.2 -lc [root@l...

by albcamus - C/C++ - 2005-08-05 09:27:51 阅读(4363) 回复(4)

整个工程包括几个函数文件和一个主文件 函数文件编译产生一个静态链接库和一个动态链接库 主程序使用dlopen动态调用动态库中的函数 当动态链接库中的函数不调用静态库中的函数时,程序没有问题,否则,dlopen就会报错,返回ENOEXEC。但也不总是出现这中情况,怀疑是ld编译动态链接库是不是有什么限制。 程序大体结构如下: [code] /*once.c*/ once(char *str) { printf("once.c print [%s]\n",str); } /*twice.c*/ twice(...

by lant - C/C++ - 2004-12-15 17:13:29 阅读(1067) 回复(0)

整个工程包括几个函数文件和一个主文件 函数文件编译产生一个静态链接库和一个动态链接库 主程序使用dlopen动态调用动态库中的函数 当动态链接库中的函数不调用静态库中的函数时,程序没有问题,否则,dlopen就会报错,返回ENOEXEC。但也不总是出现这中情况,怀疑是ld编译动态链接库是不是有什么限制。 程序大体结构如下: [code] /*once.c*/ once(char *str) { printf("once.c print [%s]\n",str); } /*twice.c*/ twice(...

by lant - AIX - 2004-12-16 11:56:10 阅读(4024) 回复(2)
by asdfning - 内核/嵌入技术 - 2006-10-13 17:05:39 阅读(952) 回复(3)

我有一个普通的c文件helloworld >cat f.c #include int main(void){ printf("hw\n"); return 0; } 然后我编译链接 >gcc -g -c f.c >ld -e main f.o -lc 得到了a.out但是不能执行: >./a.out -bash ./a.out: No such file or directory >ls - la.out -rwxr-xr-x 1 me me 3161 Oct 14 13:08 a.out 这个是刚刚生成的呀,也有可执行权限,为什么bash说找不到它呢 >echo $PATH .:/bin:/usr/bin;/usr/local/bin >echo $ld_LI...

by jeanlove - C/C++ - 2008-10-14 22:08:39 阅读(3175) 回复(6)