歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> Linux下動態庫生成和使用

Linux下動態庫生成和使用

日期:2017/3/1 10:20:46   编辑:Linux編程

Linux下動態庫生成和使用

一.動態庫的基本概念

1.動態鏈接庫是程序運行時加載的庫,當動態鏈接庫正確安裝後,所有的程序都可以使用動態庫來運行程序。動態鏈接庫是目標文件的集合,目標文件在動態鏈接庫中的組織方式是按照特殊方式形成的。庫中函數和變量的地址是相對地址,不是絕對地址,其真實地址在調用動態庫的程序加載時形成。

2.動態鏈接庫的名稱有別名(soname), 真名(realname)和鏈接名(linker name)。別名由一個前綴lib,然後是庫的名字,再加上一個後綴“.so”構成。真名是動態鏈接庫真實名稱,一般總是在別名的基礎加上一個小版本號,發布版本等構成。除此之外,還有一個鏈接名,即程序鏈接時使用的庫的名字。

3.在動態鏈接庫安裝的時候,總是復制文件到某個目錄下,www.linuxidc.com然後用一個軟連接生成別名,在庫文件進行更新的時候,僅僅更新軟鏈接即可。

二.生成和使用動態庫

1.看一個實例來了解如何自己生成靜態庫和使用靜態庫

創建程序文件

1>在test文件夾下有三個文件: main.c ,add.c,sub.c,tiger.h


2> main.c文件中的內容:

#include<stdio.h>

#include”tiger.h”

int main(void)

{

printf(“sum =%d\n”,add(5,3));

printf(“sub= %d\n”,sub(5,3));

return 0;

}

Copyright © Linux教程網 All Rights Reserved