構造靜態庫
構造靜態庫要使用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 總的作用 將已開闢記憶體...