主頁 > 知識庫 > linux生成(加載)動態(tài)庫靜態(tài)庫和加載示例方法

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

熱門標簽:河南信譽好的不封卡電話外呼系統(tǒng) 揭陽智能電話機器人推薦 如果做線上地圖標注 打電話機器人接我是他的秘書 地圖標注員都是年輕人 華鋒e路航港口地圖標注 百度地圖標注錯了有責任嗎 江蘇云電銷機器人公司 客服外呼系統(tǒ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、生成動態(tài)庫

復制代碼 代碼如下:

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

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


 

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

復制代碼 代碼如下:

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

gcc -o main main.c -lmysum -Wall

6、執(zhí)行 ./main時會報告錯誤,提示無法加載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

您可能感興趣的文章:
  • 詳解Linux動態(tài)庫生成與使用指南

標簽:許昌 邵陽 淘寶邀評 馬鞍山 金昌 巴彥淖爾 婁底 赤峰

巨人網(wǎng)絡通訊聲明:本文標題《linux生成(加載)動態(tài)庫靜態(tài)庫和加載示例方法》,本文關鍵詞  linux,生成,加載,動態(tài),庫,;如發(fā)現(xiàn)本文內容存在版權問題,煩請?zhí)峁┫嚓P信息告之我們,我們將及時溝通與處理。本站內容系統(tǒng)采集于網(wǎng)絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《linux生成(加載)動態(tài)庫靜態(tài)庫和加載示例方法》相關的同類信息!
  • 本頁收集關于linux生成(加載)動態(tài)庫靜態(tài)庫和加載示例方法的相關信息資訊供網(wǎng)民參考!
  • 推薦文章