Linux C基礎(chǔ)

編譯和鏈接

  1. fred.c
#include <stdio.h>
void fred(int arg)
{
   printf("fred: you passed %d\n", arg);
}
  1. bill.c
#include <stdio.h>
void bill(char *arg)
{
  printf("bill: you passed %s\n", arg);
}
  1. 編寫頭文件"lib.h"
void bill(char *);
void fred(int)
  1. 主文件 "program.c"
#include "lib.h"
int main()
{
  fred(10);
  bill("I love you!");
  return 0;
}
  1. 編譯和鏈接程序
cc -c bill.c fred.c    ->生產(chǎn)bill.o 和 fred.o
cc -c program.c    ->生成program.o
cc -o program program.o bill.o fred.o -> 鏈接 生成program可執(zhí)行程序
./program ->執(zhí)行程序

創(chuàng)建和使用庫文件

  1. 創(chuàng)建一個(gè)庫文件
$ ar crv livfoo.a bill.o fred.o
  1. 庫文件的使用
$ cc -o program program.o livfoo.a
  1. 使用nm查看函數(shù)
nm livfoo.a

動(dòng)態(tài)庫文件

.so就是動(dòng)態(tài)庫文件,文件相當(dāng)于windows的DLL

  1. 查看程序所需要的共享庫
ldd program
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 內(nèi)核版本 : 主版本號(hào).次版本號(hào).釋出版本-修訂版本 主、次為奇數(shù) : 開發(fā)版 主、次為偶數(shù) : 穩(wěn)定版 軟件包 ...
    ibo閱讀 492評(píng)論 0 0
  • diff : 比較兩個(gè)文件 diff:比較兩個(gè)文件 diff file1 file2 : 如果在終端屏幕沒有任何...
    ibo閱讀 209評(píng)論 0 0
  • 動(dòng)態(tài)鏈接,在可執(zhí)行文件裝載時(shí)或運(yùn)行時(shí),由操作系統(tǒng)的裝載程序加載庫。大多數(shù)操作系統(tǒng)將解析外部引用(比如庫)作為加載過...
    小5筒閱讀 5,796評(píng)論 0 3
  • 有人問洛克菲勒:請(qǐng)問您成功的秘訣是什么?他卻反問:你不成功的借口是什么?你可以說:我沒有學(xué)歷,沒有錢,沒有人脈,沒...
    我愛你愛他閱讀 391評(píng)論 0 0

友情鏈接更多精彩內(nèi)容