最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

linux生成(加載)動態(tài)庫靜態(tài)庫和加載示例方法

 更新時間:2013年11月26日 10:32:00   作者:  
這篇文章主要介紹了linux生成(加載)動態(tài)庫靜態(tài)庫示例方法,大家參考使用

動態(tài)庫的生成:

1、/*mysum.c*/

復(fù)制代碼 代碼如下:

#include <stdio.h>
#include "src.h"


int sum(int a,int b)
{
return (a+b);
}


 

2、/*mysum.h*/

復(fù)制代碼 代碼如下:

#ifndef __SRC_H__
#define __SRC_H__

int sum(int a,int b);

#endif


 

3、/*main.c*/

復(fù)制代碼 代碼如下:

#include <stdio.h>

extern int sum(int a,int b);

/*

#include <stdio.h>

#include "mysum.h"

*/

int main()
{
int a,b,c=0;
printf("input a and b:\n");
scanf("%d %d",&a,&b);
c = sum(a,b);
printf("c = %d\n",c);
return 0;
}


 

4、生成動態(tài)庫

復(fù)制代碼 代碼如下:

gcc -c -fPIC mysum.c mysum.h //生成mysum.o文件

gcc -shared -fPIC -o libmysum.so mysum.o //生成動態(tài)庫文件,默認(rèn)的命名方式為lib+名稱.so


 

5、動態(tài)庫靜態(tài)加載

復(fù)制代碼 代碼如下:

gcc -o main main.c -L. -lmysum -Wall

gcc -o main main.c -lmysum -Wall

6、執(zhí)行 ./main時會報(bào)告錯誤,提示無法加載libmysum.so共享庫。

7、處理方法有三:

方法一:

將動態(tài)庫拷貝到 /lib或 /usr/lib中去

如:sudo cp libmysum.so /lib

方法二:

改變環(huán)境變量:

LD_LIBRARY_PATH=$PWD export LD_LIBRARY_PATH

方法三:

在編譯時指定共享庫的路徑:

gcc -o main1 -Wl,-rpath,.-L. -louyang main.o

相關(guān)文章

最新評論

治县。| 卢龙县| 岱山县| 定日县| 巴里| 永平县| 蒙城县| 晋州市| 云林县| 苗栗市| 奈曼旗| 宁海县| 雅江县| 惠安县| 介休市| 红桥区| 于田县| 阿图什市| 珲春市| 两当县| 富阳市| 磐石市| 库尔勒市| 大城县| 安阳县| 宁海县| 县级市| 娄烦县| 和林格尔县| 新竹县| 巴彦淖尔市| 周宁县| 绿春县| 郑州市| 专栏| 泾源县| 潍坊市| 扬中市| 凉城县| 旌德县| 京山县|