Chinaunix

标题: 创建一个本身可执行的共享库 [打印本页]

作者: AppleDragon    时间: 2009-08-04 09:42
标题: 创建一个本身可执行的共享库
两个要点:一是要显式指定加载器,二是要指定入口点
okra@okra:/okra/foo/229.executeable_so$ cat main.c
               
               
                #include stdio.h>
#include stdlib.h>
const char interp[] __attribute__((section(".interp"))) = "/lib/ld-linux.so.2";
void test(void)
{
        puts("helloworld");
        exit(0);
}
okra@okra:/okra/foo/229.executeable_so$ gcc -g -W -Wall -fPIC -o libfoo.so -shared -Wl,-e,test main.c
okra@okra:/okra/foo/229.executeable_so$ ./libfoo.so
helloworld


本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/14644/showart_2017047.html




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2