構造庫函式

2021-05-24 13:07:09 字數 638 閱讀 4932

構造靜態庫

構造靜態庫要使用ar 工具

構造方法:gcc –c addvec.c multvec.c   //生成addvec.o和multvec.o 目標檔案

ar rcs libvector.a addvec.o  multvec.o  //生成libvector.a 靜態庫

使用靜態庫:可能包含類似libvector.h 這樣的標頭檔案,裡面包含了使用函式的宣告

gcc main.c libvector.a

使用如上方法 構造出lib.a靜態庫,使用此靜態庫生成了a.out可執行檔案。

構建動態庫

動態庫的優點:1.如果靜態庫更新,則鏈結了靜態庫的程式需要重新編譯。

2.很多程式鏈結了相同的靜態庫,程式執行時**有很多相同的拷貝。

鏈結了共享庫的程式在執行時由動態鏈結器將程式與動態庫鏈結,並且在記憶體中只保留乙份拷貝。

構造動態庫的方法:gcc –shared –fpic –o libvetor.so  addvec.c multvec.c

生成的動態庫libvetor.so要放到/usr/lib 或者/lib 等目錄下,程式執行的時候才能搜尋到此共享庫。共享庫的預設搜尋路徑/usr/lib 和/lib

使用共享庫:gcc main.c libvector.so

數學庫函式

blas和lapack是專門為線性代數開發的工具庫。blas英文全稱basic linear algebra subprograms,共有三個層次的計算 向量與向量之間的計算,比如向量的加,減,點乘 向量與矩陣之間的計算,比如乘法運算,一階矩陣和二階矩陣的更新 矩陣與矩陣之間的計算,比如矩陣相乘,k...

庫函式(彙總)

庫函式 include include include intmain 字串拷貝 strcpy strcpy函式會將源的資料拷貝到目標中,並且會覆蓋掉目標中原有的資料,目標的容積必須能夠存放拷貝的資料,如果容積不夠會報錯。void strcpy char s1,char s2 while s1 s2...

簡單庫函式

將s所指向的某一塊記憶體中的每個位元組的內容全部設定為ch指定的ascii值,塊的大小由第三個引數指定,這個函式通常為新申請的記憶體做初始化工作,其返回值為指向s的指標。需要的標頭檔案 在c中 在c 中 1.void memset void s,int c,size t n 總的作用 將已開闢記憶體...