應用開發的專有名詞、各類文件後綴

 

SDK

Software Development Kit 軟件開發包

 

ADS

Application Development Suite 應用開發套件

一個便於開發者快速學習如何開發相應的應用的綜合套件。

通常包括:

  1. 編譯環境(全平臺、LinuxOS, VirtualBox for Windows/Mac)
  2. 手冊、文檔
  3. 各種庫
  4. Sample code/Demo code 示例代碼

我的理解啊,ADS所指的範圍比SDK小一點。
 

ADE

Application Development Environment 應用開發環境

 

API

Application Programming Interface 應用編程接口

其實就是一些預先定義好的函數。我們可以直接調用這些函數就可以。通常會有一個文檔,描述各函數正確的參數傳遞等使用方法。

這樣開發者就能夠直接訪問一組基於某軟件或硬件的例程,而無需知道源碼、理解內部工作機制。

任何程序的運行都要通過它去連接操作系統。

 

應用包的打包

打包的流程在各個應用各有不同

 

RDM立項、提交測試

RDM指研發管理(Research & Development Management)

公司一般會用這樣的平臺對一個項目的方方面面進行規劃、記錄、管理。

比如青銅器RDM,感興趣的可以去搜一下。

 

SVN

Subversion的簡稱,一個開放源代碼的程序源碼版本管理控制系統

 

項目源碼目錄

inc 存放項目應用層面的所有源碼頭文件(*.h)

lib 存放僅與當前項目有關的特殊庫文件(*.so / *.a)(相當於windows下的.c文件)

*.o文件:

在UNIX下,源碼編譯出的二進制文件。是一個最小的編譯單元 。   

(相當於Windows下的*.obj)

在編譯時,只檢測程序語法,函數、變量是否被聲明。只要語法正確,編譯器就可以編譯出中間目標文件。

如果函數未被聲明,編譯器會給出一個警告,但可以生成Object File.                   

*.a文件:

是多個*.o文件的打包。靜態庫文件,用於靜態連接,整個函數庫的所有數據都會被整合進目標代碼中。

(相當於Windows下的*.lib)LIB包含函數代碼本身,在編譯時直接將代碼加入程序當中,稱爲靜態鏈接庫static link library

*.so文件: 

動態庫,用於動態鏈接。共享函數庫。

(相當於Windows下的.dll)(dynamic link library)

共享函數庫在編譯的時候,沒有被編譯進目標代碼中,當程序執行到相關函數時才調用共享函數庫裏相應的函數。

因此共享函數庫所產生的可執行文件比較小。

在鏈接程序時,鏈接器會在所有的Object File中找尋函數的實現,如果找不到,那到就會報鏈接錯誤碼

src 存放所有項目應用層面的所有源碼C文件(*.c)

makefile

告訴make命令如何去編譯和鏈接程序。定義規則來指定,哪些文件先編譯,哪些文件後編譯,哪些文件需要重新編譯。

語句:

target ... : prerequisites ...
	command

prerequisites是要生成target所需要的東西。

過程:

  1. 預處理:將所有#define刪除;展開宏定義;處理#include,將被包含的文件插入;刪除註釋
  2. 編譯
  3. 彙編
  4. 鏈接:調用鏈接器ld進行鏈接,生成可執行文件。

 

爲什麼要Include .h”文件,而不直接Include “.c文件呢?爲什麼要進行區分呢?

.h文件內含函數聲明、宏定義、結構體定義

.c文件內含函數實現、變量定義

 

 

項目文檔目錄

可執行文件或庫文件目錄

發佈版本存檔目錄

日誌管理

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章