# Compile Library ## Static Library ### Create Object File 把所有程式碼都編譯成 object file ```cmake gcc *.c -c ``` ### Create Static Library 用 `ar` 指令把所有 object file 連結成一個 library ```cmake ar rcs libmy_lib.a *.o ``` - `libmy_lib.a` 是輸出的檔案名稱 - 指令中的選項 - `r`: (replacement) 把參數中所有的檔案插入 library 檔案中,若該檔案已存在於 library 中,覆蓋掉原本的內容 - `c`: (create) 新增一個 library 檔案 - `s`: (indexing) 在 library 中寫入 object-file 的 index [GNU `ar` 文件](https://linux.die.net/man/1/ar) ## Shared Library ### Create Object for Shared Library - 為了支援動態載入,編譯 object file 時要加入 `-fpic` ``` gcc *.c -c -fPIC ``` ### Create Shared Library - 用 `gcc` 連結 object file ``` gcc -shared *.o -o libmy_lib.so ``` - `libmy_lib.so` 是輸出的檔案名稱
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up