交叉編譯環境下靜態庫的製作與測試

2021-09-08 05:34:19 字數 1024 閱讀 8953

1、編寫my_print.c原始檔,內容如下:

#include void cout(const char * message)

2、編寫my_lib.h標頭檔案,內容如下:

#ifndef __my_lib_h__

#define __my_lib_h__

void cout(const char *);

#endif

3、編寫test_static_lib.c原始檔,內容如下:

#include #include "my_lib.h"

int main(int argc, char *ar**)

4、編譯my_print.c原始檔:

5、歸檔目標檔案,得到靜態庫。

6、生成elf檔案:

7、將elf檔案拷貝至開發板,執行

交叉編譯環境下靜態庫動態庫的載入

現在做的這個專案用到的是開發板是mips晶元,所以無論是在編譯我自己的源 時,還是對方的靜態庫,我都要使用mips的gcc,也就是在我的pc裝好交叉編譯環境。交叉編譯環境的概念 在pc平台上裝上特定嵌入式開發的編譯環境,對於嵌入式開發的源 可以用其編譯環境在pc平台上編譯源 交叉編譯時候如何配置連線...

Linux下靜態庫與動態庫的製作

二者的不同點在於 被載入的時刻不同。靜態庫在程式編譯時會被連線到目標 中,程式執行時將不再需要該靜態庫,因此體積較大 動態庫在程式編譯時並不會被連線到目標 中,而是在程式執行是才被載入,因此在程式執行時還需要動態庫存在,因此 體積較小。現實中每個程式都要依賴很多基礎的底層庫,不可能每個人的 都從零開...

Linux下製作動態庫與靜態庫

靜態函式庫 1.這類庫的名字一般是lib a 2.利用靜態函式庫編譯成的檔案比較大,因為整個函式庫的所有資料都會被整合進目標 中,他的優點就顯而易見了,即編譯後的執行程式不需要外部的函式庫支援,因為所有使用的函式都已經被編譯進可執行檔案了。當然這也會成為他的缺點,因為如果靜態函式庫改變了,那麼你的程...