-(dearvoid@LinuxEden:tty3)-(~/tmp)-
[14788 0] # cat hello.c
#include <stdio.h>
void
hello()
{
printf("hello, world\n");
}
-(dearvoid@LinuxEden:tty3)-(~/tmp)-
[14788 0] # cat main.c
void hello();
int
main(int argc, char *argv[])
{
hello();
return 0;
}
-(dearvoid@LinuxEden:tty3)-(~/tmp)-
[14788 0] # gcc -c hello.c
-(dearvoid@LinuxEden:tty3)-(~/tmp)-
[14788 0] # gcc -shared -o libhello.so hello.o
-(dearvoid@LinuxEden:tty3)-(~/tmp)-
[14788 0] # gcc main.c -o main -L/root/tmp -lhello -Wl,-rpath,/root/tmp
-(dearvoid@LinuxEden:tty3)-(~/tmp)-
[14788 0] # ./main
hello, world
-(dearvoid@LinuxEden:tty3)-(~/tmp)-
[14788 0] # ldd main
linux-gate.so.1 => (0xffffe000)
libhello.so => /root/tmp/libhello.so (0xb7f93000)
libc.so.6 => /lib/tls/i686/cmov/libc.so.6 (0xb7e53000)
/lib/ld-linux.so.2 (0xb7f98000)
-(dearvoid@LinuxEden:tty3)-(~/tmp)-
[14788 0] # o