導航:首頁 > 源碼編譯 > gcc編譯apk

gcc編譯apk

發布時間:2024-02-06 08:21:11

① 什麼是GCCGCC有什麼作用

GCC(GNU Compiler Collection,GNU編譯器套件),是由 GNU 開發的編程語言編譯器。它是以GPL許可證所發行的自由軟體,也是 GNU計劃的關鍵部分。

GCC原本作為GNU操作系統的官方編譯器,現已被大多數類Unix操作系統(如linux、BSD、Mac OS X等)採納為標準的編譯器,GCC同樣適用於微軟的Windows。GCC是自由軟體過程發展中的著名例子,由自由軟體基金會以GPL協議發布。

GCC功能與作用:

1、預處理

命令gcc首先調用cpp進行預處理,在預處理過程中,對源代碼文件中的文件包含(include)、預編譯語句(如宏定義define等)進行分析。

2、編譯

用GCC編譯C/C++代碼時,它會試著用最少的時間完成編譯並且編譯後的代碼易於調試。易於調試意味著編譯後的代碼與源代碼有同樣的執行順序,編譯後的代碼沒有經過優化。

3、連接

當所有的目標文件都生成之後,gcc就調用ld來完成最後的關鍵性工作,這個階段就是連接。在連接階段,所有的目標文件被安排在可執行程序中的恰當的位置,同時,該程序所調用到的庫函數也從各自所在的檔案庫中連到合適的地方。

4、匯編

匯編過程是針對匯編語言的步驟,調用as進行工作,一般來講,.S為後綴的匯編語言源代碼文件和匯編、.s為後綴的匯編語言文件經過預編譯和匯編之後都生成以.o為後綴的目標文件。

(1)gcc編譯apk擴展閱讀:

gcc所遵循的部分約定規則:

1、.c為後綴的文件,C語言源代碼文件。

2、.a為後綴的文件,是由目標文件構成的檔案庫文件。

3、.h為後綴的文件,是程序所包含的頭文件。

4、.i 為後綴的文件,是C源代碼文件且不應該對其執行預處理。

5、.m為後綴的文件,是Objective-C源代碼文件。

6、.o為後綴的文件,是編譯後的目標文件。

7、.s為後綴的文件,是匯編語言源代碼文件。

② qt輸出安卓程序設置

1.新建一個普通Widgets的工程

?2.選擇Desktep Qt5.9.3 MinGW 32bit編譯器和android for armeabi-v7a (GCC 4.9, Qt 5.9.3 for Android armv7)編譯器

?3.然後選擇默認的就行

?4.在mainwindow.ui界面上,放入兩個按鈕,分別命名為發布和訂閱

?5.選擇MinGW 32bit的debug編譯模式,構建和運行

?6.選擇Android的debug模式重新構建,構建完後,在工程同目錄下,生產一個build-AndroidTest3-Android_for_armeabi_v7a_GCC_4_9_Qt_5_9_3_for_Android_armv7-Debug文件夾,在該生產的文件的android-buildin目錄下,會生成該項目的APK

?7.點擊運行按鈕,在彈出框中選擇AVDVertualDevice安卓模擬器,如果沒有則點擊【Creat Android Virtual Device】按鈕新建一個。

?8.點擊【ok】按鈕後,等待安卓虛擬機啟動一段時間,會彈出如下界面:(注意:要等安卓虛擬機完全開機完後,才會自動運行剛才的apk程序,第一次啟動可能需要4-5分鍾左右,如果需要持續調試,可以不用關閉該安卓虛擬機)

?9.如果剛才生產的apk沒有自動啟動的話,可以把剛才生產的apk丟進安卓虛擬機中進行測試

③ 如何用GCC在linux下編譯C語言程序

在Linux下面,如果要編譯一個C語言源程序,我們要使用GNU的gcc編譯器,假設我們有下面一個非常簡單的源程序(hello.c):


int main(int argc,char **argv)


{


printf("Hello Linux ");


}


要編譯這個程序,我們只要在命令行下執行:


gcc -o hello hello.c


gcc 編譯器就會為我們生成一個hello的可執行文件.執行./hello就可以看到程
序的輸出結果了

④ linux 怎麼編譯c的源程序的gcc,編譯命令是什麼

在Linux下面,如果要編譯一個C語言源程序,我們要使用gcc編譯器。

先將源文件編譯成目標文件:gcc - c hello.c

生成hello.o文件,再將目標文件編譯成可執行文件:gcc -o hello hello.o

如:

int main(int argc,char **argv)

{

printf("Hello Linux ");

}

(4)gcc編譯apk擴展閱讀:

在使用GCC編譯器的時候,我們必須給出一系列必要的調用參數和文件名稱。GCC編譯器的調用參數大約有100多個,這里只介紹其中最基本、最常用的參數。具體可參考GCC Manual。

GCC最基本的用法是∶gcc [options] [filenames]

其中options就是編譯器所需要的參數,filenames給出相關的文件名稱。

網路_gcc

⑤ 64位linux下的GCC如何編譯出一個32位可執行程序

理論上安裝支持環境,之後64位的gcc編譯成32位程序,就加-m32參數即可。

當然還一個辦法是裝個32位的gcc。

另外,交叉編迅純譯也適用於x86架構。

不過這么編譯經常會出現各種問題,所以編譯32位的程序,最好還是用32位系統。

不一定重裝,用chroot和setarch命令配合即可弄出一個32位的子系統。

⑥ GCC安全編譯選項

各種安全選擇的編譯參數如下:

NX:-z execstack / -z noexecstack (關閉 / 開啟)
Canary:-fno-stack-protector /-fstack-protector / -fstack-protector-all (關閉 / 開啟 / 全開啟)
PIE:-no-pie / -pie (關閉 / 開啟)
RELRO:-z norelro / -z lazy / -z now (關閉 / 部分開啟 / 完全開啟)

閱讀全文

與gcc編譯apk相關的資料

熱點內容
32單片機的重映射哪裡改 瀏覽:814
為什麼前端不用刷演算法題 瀏覽:706
對稱加密系統和公鑰加密系統 瀏覽:428
歷史地理pdf 瀏覽:604
物聯網雲伺服器框架 瀏覽:648
sybaseisql命令 瀏覽:181
android權威編程指南pdf 瀏覽:661
哪些軟體屬於加密軟體 瀏覽:644
文件夾75絲什麼意思 瀏覽:468
最便宜sop8單片機 瀏覽:964
圖解周易預測學pdf 瀏覽:418
c盤莫名奇妙多了幾個文件夾 瀏覽:169
貴州花溪門票優惠app哪個好 瀏覽:801
如何說話不會讓人有被命令的感覺 瀏覽:438
哪裡可下載湘工惠app 瀏覽:265
福特python 瀏覽:312
pdf轉換成word表格 瀏覽:351
無線遠端伺服器無響應是什麼意思 瀏覽:672
兩位整數倒序輸出python 瀏覽:783
為什麼我的世界天空伺服器進不去 瀏覽:262