實踐實習作業

2021-10-07 20:23:41 字數 1309 閱讀 7401

1.編譯器**優化分別優化了哪些

**調整

新的視角:新的視角強調的重點是針對問題的演算法;即選擇和構造適合於問題的演算法

表驅動狀態機:將問題抽象為另一種等價的數學模型或假想機器模型

2.總結gcc靜態庫和動態庫的製作

動態庫製作(.so)

gcc -shared -fpic -o lib/libadd.so src/add.c1

或者gcc -fpic -c src/add.c    

gcc -shared -o libadd.so  add.o 12

使用共享庫(加-wl和rpath)

gcc src/main.c -llib -ladd -o main -wl,-rpath=lib 1

修改ld_library_path

export ld_library_path=~/test/lib:$ld_library_path1

使用ldconfig

//把庫放到標準路徑

cp ~/test/lib/libadd.so /usr/lib

chmod 0775 /usr/lib/libadd.so

//更新快取

ldconfig

gcc src/main.c -llib -ladd -o main       123456

-fpic:編譯動態庫必須,輸出不依賴位置的** 

-shared:編譯動態庫必須選項 

-wi:向linker傳入一些引數

靜態庫製作

gcc -c src/add.c -o add.o           //製作obj檔案

ar -crv lib/libadd.a add.o          //製作歸檔檔案

gcc src/main.c -llib -ladd -o main  //加上l(指明鏈結目錄) l(指明鏈結庫名)

3.總結cmake用法

用cmake建立可執行檔案

多源檔案目錄

用cmake建立動態庫和靜態庫

呼叫動態庫和靜態庫

P2 單鏈表操作 實習作業

include include include include include include include include 定義結點型別 struct node node head 頭結點 node heada node headb node dllist,a,b 頭指標 int t times...

2013 7 15學習作業

題目1 int a 3 a 0 0 a 1 1 a 2 2 int p,q p a q a 2 a q p 的值是多少?為什麼?include using namespace std int main int argc,const char ar 題目2 const 有什麼用途?請用附上 例子佐證 ...

預習作業3

1.常用小技巧 tab 補全命令 補全目錄 補全命令引數 ctrl c 終止當前執行的程式,但不結束終端 ctrl d 結束輸入或退出終端 ctrl s 暫停當前程式,任意鍵恢復 ctrl z 將當前程式放入後台 命令fg恢復前台 ctrl a 將游標移至輸入行頭 相當於home ctrl e 將游...