国产探花免费观看_亚洲丰满少妇自慰呻吟_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ā)表
主站蜘蛛池模板: 延津县| 新晃| 和平区| 高安市| 巫溪县| 关岭| 浮梁县| 昭平县| 女性| 从江县| 共和县| 贵定县| 平舆县| 巴里| 屏南县| 浙江省| 安陆市| 阜阳市| 嵊泗县| 遂宁市| 通河县| 怀柔区| 洪泽县| 子洲县| 正阳县| 河北省| 淮南市| 遂溪县| 瑞安市| 乐清市| 宕昌县| 厦门市| 南召县| 金堂县| 赞皇县| 沂南县| 辛集市| 卓尼县| 澄城县| 海门市| 安国市|