Windows下靜態(tài)庫.lib生成:
1.先將mylib.c生成mylib.obj
cl.exe /c mylib.c  

2.用lib.exe生成mylib.lib文件
lib /OUT:my.lib mylib.obj  

注:如果要生成exe文件,才使用link.exe對obj文件進行編譯鏈接,否則不用link.exe



Linux下靜態(tài)庫.a生成
1.將各函數代碼所在的源文件編譯成目錄文件。例如,對于myfunc.c,可以用如下命令 將其編譯成目標文件:
gcc -c myfunc.c
當然在有多個源文件時,只需在gcc 命令行中將其分別列上就可以了。經此一步,將能夠得到各源文件的目標文件。對上例,將得到myfunc.o

2.將各目標文件收集起來放到一個靜態(tài)庫文件中。這主要借助于ar命令完成,如:
ar r ~/lib/libtest.a myfunc.o

注:建立動態(tài)鏈接庫、并不需要用到其他的工具,借助于gcc命令即可完成。此時需在命令 行中加上-K  PIC和-G這兩個選項,如下我們可以建立libtest的動態(tài)版本:
gcc -K PIC -G -o $HOME/lib/libtest.so myfunc.c