国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統(tǒng) > Linux > 正文

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

2019-10-26 18:37:42
字體:
供稿:網(wǎng)友

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

1、/*mysum.c*/

代碼如下:
#include <stdio.h>
#include "src.h"


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

 

2、/*mysum.h*/

代碼如下:
#ifndef __SRC_H__
#define __SRC_H__

int sum(int a,int b);

#endif

 

3、/*main.c*/

代碼如下:
#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、生成動(dòng)態(tài)庫

代碼如下:
gcc -c -fPIC mysum.c mysum.h //生成mysum.o文件

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

 

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

代碼如下:
gcc -o main main.c -L. -lmysum -Wall

gcc -o main main.c -lmysum -Wall

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

7、處理方法有三:

方法一:

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

如:sudo cp libmysum.so /lib

方法二:

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

LD_LIBRARY_PATH=$PWD export LD_LIBRARY_PATH

方法三:

在編譯時(shí)指定共享庫的路徑:

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

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 东源县| 西平县| 五河县| 台州市| 玉屏| 安福县| 青龙| 兴山县| 新源县| 康平县| 兰溪市| 辽阳县| 湖州市| 隆尧县| 彭阳县| 荥经县| 株洲县| 绥化市| 尉犁县| 辰溪县| 宝山区| 城口县| 绥中县| 双峰县| 都安| 清原| 富川| 沾化县| 中西区| 肥西县| 荣成市| 桂平市| 平果县| 诸城市| 北辰区| 商水县| 盐亭县| 双辽市| 三门县| 太仓市| 十堰市|