linux .so 文件中函数名称和程序中的函数名称相同

来源:互联网 发布:淘宝休闲零食数据 编辑:程序博客网 时间:2024/05/17 09:04

~/so_test $ cat testlib.h#ifndef __LIB_TEST_H__#define __LIB_TEST_H__void libxx();#endif

~/so_test $ cat testlib.c#include <stdio.h>#include <stdlib.h>void libxx(){printf("come from libxx.so\n");}

~/so_test $ cat main.c #include "testlib.h"#include <stdlib.h>#include <stdio.h>#if 0void libxx(){printf("come from prg!\n");}#endifint main(int argc, char *argv[]){libxx();return 0;}

~/so_test $ gcc -fpic -shared -o libtest.so testlib.c

~/so_test $ gcc -l/home/admin/so_test -o main.o -c main.c

~/so_test $ gcc -o main -L/home/admin/so_test main.o -ltest


如果程序中有 libxx 这个函数 运行的时候调用的是程序中的, 如果 程序中没有这个函数那么就调用库里面的

1 0
原创粉丝点击