蘇嵌//楊帥/2018.7.10

xnfsrm發表於2018-07-10


蘇嵌 專案實戰

 

學習日誌                       姓名: 楊帥           日期: 7/10

 

 

 

 

今日學習任務

 

1. 熟練使用文字編輯器vim(基本操作、配置、使用技巧)

2. 熟練使用編輯器gcc(基本編譯選項、靜態庫與動態庫的製作和使用)

日任務完成情況

 

(詳細說明本日任務是否按計劃完成,開發的程式碼量)

 

今日任務已完成

開發程式碼量19(課堂)見下附

日開發中出現的問題彙總

 

 

對於靜態庫的生成不明確

 

日未解決問題

 

日開發收穫

1.gcc介紹(gcc  GNU 計劃的工具,可以編譯多種語言,交叉編譯器)

2.什麼是交叉編譯器為什麼需要交叉編譯器

3.原檔案到可執行檔案經歷那幾個步驟?

4.預處理做哪些工作

-l(制定標頭檔案第三方搜尋路徑)

5.如何編譯器停在預處理階段(gcc -E hello.c > hello.i

6.編譯階段做哪些工作

7.如何讓編譯器停留在編譯階段(gcc  -c  hello.c

8.-S彙編(gcc -S hello.c

9.-o(重定義執行檔案的名字)(gcc hello.c -o hello

10.靜態庫與動態庫

 

 

自我評

 

(是否按開發規範完成既定任務,需要改進的地方,與他人合作效果等)

 

 

 

 

是,與搭檔合作效果還行

其他

 

附件:

一、寫出1-100內的素數

#include"stdio.h"

int main(){

    int i;

    int j;

    for(i = 2;i <= 100; ++ i)

    {

        for(j = 2;j * j <=  i; ++ j){

             if(i % j == 0){

                 break;

             }  

         }

         if(j * j > i){

              printf("%d\n",i);

         }

      

     }

     return 0;

 

}

二、課堂記錄

新學命令

mkdir 建立新目錄    mkdir -p 建立多級目錄

cd    cd..  返回上級目錄   cd /  返回根目錄

cp  -r  遞迴拷貝目錄

Vi三種模式  命令列模式   插入模式   底行模式

bin 存放命令    dev 有效裝置檔案   etc 有效配置檔案

lib  庫檔案      usrLinux的安裝路徑

>重定向

 

預處理,編譯(語法檢查,詞法分析),彙編,連結

1.標頭檔案展開

<> “” 改變搜尋路徑

2.巨集變換

3.條件編譯

 

庫檔案:儲存函式或變數,只能實用函式或變數,但是看不到具體實現

靜態庫和動態庫  .a.so

靜態庫:是在執行程式之前就已經加入到執行程式碼中,成為執行程式的一部分來執行的,字尾名.a

缺點:過大,升級難  優點:執行速度快,更容易程式碼部署

動態庫:在執行程式啟動時加入

 

製作靜態庫和動態庫

靜態庫

 

 

 

動態庫

gcc -shared -FPIC -o 庫名.so 原始檔.c

gcc 原始檔.c ./庫名.so -o 可執行檔名

 

相關文章