linux c
1.编写pr.c
int p = 1;
void sayHello(){
printf("pr sayHello ... \n");
}
2.编写main.c
/*
* File: main.c
* Author: Vicky.H
*
* Created on 2011年9月19日, 下午1:36
*/
#include <stdio.h>
#include <stdlib.h>
/*
*
*/
int main(int argc, char** argv) {
sayHello();
return (EXIT_SUCCESS);
}
3.运行
gcc -O -fpic -shared -o dl.so pr.c 生成动态链接库
gcc -o main main.c ./dl.so 编译main.c 引用动态链接库
./main
>>pr sayHello ...
当动态库的位置或名称发生改变时,程序将无法正常执行;而动态库取代静态库的好处之一则是通过更新动态库而随时升级库的内容!
4 .动态库的显示调用
编写如main2.c的程序
/*
* File: main2.c
* Author: Vicky.H
*
* Created on 2011年9月19日, 下午1:43
* 目的:动态库的显示调用
*/
#include <stdio.h>
#include <stdlib.h>
#include <dlfcn.h>