交叉編譯 音訊篇

2022-09-13 14:57:11 字數 1301 閱讀 9745

交叉編譯的原理

交叉編譯的原理

1.pc上執行乙個二進位制檔案,要有源**然後在pc上進行編譯鏈結生成可執行檔案,最後在終端執行檔案。當然最重要的是編譯器和鏈結器了,對於c/c++程式來講,就是gcc和g++,而編譯器是預先安裝到機器上的,使用本機器的編譯器,將源**編譯成為乙個可以在本機器上執行的程式。這是正常編譯的過程,也稱為本機編譯。2.了解了本機編譯,在說交叉編譯,就是在乙個平台上生成另外乙個平台的可執行**。在嵌入式裝置中進行本地編譯是不大可能,一是因為計算能力的問題,還有乙個是編譯工具及整個編譯過程異常繁瑣,直接在arm平台上進行本地編譯是不大可能。而具有更加強勁的計算能力與更大儲存空間的pc才是理想的選擇,所以大部分的嵌入式開發平台提供了本身工具編譯鏈,開發者通過交叉編譯工具鏈就能在pc上編譯出可以執行在arm平台下的程式了。3.交叉工具編譯鏈工具:cc,as,ar,ld,nm,gdb..cc:編譯器,對c原始檔進行編譯處理,生成彙編檔案.as:將彙編檔案生成目標檔案.ar:打包器,用於庫操作,可以通過該工具從乙個庫中刪除或者增加目標**模組。.ld:鏈結器,為前面生成的目標**分配位址空間,將多個目標檔案鏈結成乙個庫或是可執行檔案。.gdb:除錯工具,可以對執行過程中的程式進行**除錯工作。.strip:以最終生成的可執行檔案或者庫檔案作為輸入,然後清除其中的原始碼。.nm:檢視靜態庫檔案中的符號表。.objdump:檢視靜態庫或者動態庫的方法簽名。

ios平台交叉編譯的實踐

fdk_aac的交叉編譯

*fdk_aac是用來編碼和解碼aac格式音訊檔案的開源庫

安裝automake

*brew install automake libtool在mac上面編譯ffmpeg需要安裝很多東西,首先是:autoconf 和 automake,automake管理makefile的原始碼就可以輕鬆使用了,另外: 

安裝pkg-config

由於大部分的開源工程都需要用到pkg-config,在這裡附帶講解一下pkg-config for mac 安裝過程. 

1.檢測環境是否已安裝pkg-config

再命令列中輸入: pkg-config 若未安裝,則提示命令未找到.

2.安裝pkg-config

curl -o pkg-config-0.28.tar.gztar -xf pkg-config-0.28.tar.gzcd pkg-config-0.28./configure --with-internal-glibmake sudo make install 

編譯 交叉編譯

交叉編譯含義 是指在乙個平台上生成另乙個平台上的可執行 同乙個體系結構可以執行不同的作業系統,同樣乙個作業系統也可以在不同的體系結構上執行 例 常說的x86 linux平台 指inter x86體系結構及linux for x86作業系統 x86 winnt平台 指inter x86體系結構及win...

交叉編譯(2) 交叉編譯鏈

什麼是交叉編譯鏈 明白了什麼是交叉編譯,那我們來看看什麼是交叉編譯鏈。首先編譯過程是按照不同的子功能,依照先後順序組成的乙個複雜的流程,如下圖 那麼編譯過程包括了預處理 編譯 彙編 鏈結等功能。既然有不同的子功能,那每個子功能都是乙個單獨的工具來實現,它們合在一起形成了乙個完整的工具集。同時編譯過程...

交叉編譯 Go 交叉編譯 跨平台編譯

golang 支援交叉編譯,在乙個平台上生成另乙個平台的可執行程式 cgo enabled 0 goos linux goarch amd64 go build main.go cgo enabled 0 goos windows goarch amd64 go build main.go cgo ...