安卓系統如何設置c編譯
『壹』 在安卓平台上安裝 GCC 的方法
android上安裝GCC的步驟腔衫:
1、准備文件:Terminal IDE.apk和GCC源文件。
2、解壓整個ZIP文件,並先將Terminal.apk文件安裝至手機中,然後把GCC整個文件一起放置到data/data/com.spartacusrex.spartacuside/files/system中。
3、者圓蘆修改data/data/com.spartacusrex.spartacuside/files/目錄下的.bashrc文件,添加以下代碼:
export CPLUS_INCLUDE_PATH=$IDESYSTEM/gcc/arm-linux-androideabi/c++/include:$CPLUS_INCLUDE_PATH
export C_INCLUDE_PATH=$IDESYSTEM/gcc/arm-linux-androideabi/include:$C_INCLUDE_PATH
export PATH=$IDESYSTEM/gcc/bin:$PATH
4、將gcc/bin下的文件改一下名,arm-linux-androideabi-g++改為g++,arm-linux-androideabi-gcc則改為gcc。
5、完成後重啟IDE即可使用GCC。
『貳』 如何用手機進行編程
這里介紹3種可以在手機上編程的app,分別是c語言編譯器(c語言)、AIDE集成開發環境(java)、Qpython3(python),都不需要root,可以直接編寫程序並運行,下面我簡單介紹一下這3個app的安裝和簡單使用,主要內容如下:
1.下載安裝,這里以我的vivo手機為例,直接打開「應用商店」,搜索「C語言編譯器」,如下,直接點擊下載安裝:
測試代碼如下,這里編寫了2個函數,分別是2數之和和2數只差,很簡單:
程序運行截圖如下,需要先輸入2個數,才能正常運行:
1.下載安裝,這直接在應用商店裡搜素「AIDE」就行,直接下載安裝,如下:
這里測試一下,主要代碼如下,官方自帶的例子:
程序運行截圖如下:
1.下載安裝,這里直接在應用商店裡搜索「QPython3」就行,直接下載安裝,如下:
主界面如下,主要分為「終端」、「編輯器」、「程序」、「QPYPI」、「課程」、「社區」這6個模塊,終端類似IDLE,編輯器類似記事本,QPYPI是第三方包和工具,程序存儲官方自帶的示例,課程是一些教學案例:
這里測試一下官方自帶的例子—speaky.py,在「程序」這個模塊下,代碼如下:
點擊運行按鈕,程序運行截圖如下:
至此,這3個app都介紹完畢。總的來說,使用起來都不錯,各有各的功能,當然,還有許多其他的app也可以在手機上進行編程,像c4droid(c/c++),termux(高級終端,類似linux)等,這里我就不詳細介紹了,感興趣的可以在網上搜索一下,有相關教程和示例可供參考,希望以上分享的內容能對你有所幫助吧。
很高興能回答你的問題
我就自己使用過的一些手機編程軟體來進行說明。之前學習網頁開發,為了讓自己隨時隨地使用編程,攜帶方便。
第一種 html-css-js
這款軟體,看著名字就知道是和html相關的網頁開發,它是由踏宇 科技 開發的一款手機開發網頁的APP。不僅有編程、編譯功能,還可以進行網頁開發學習,內附很多關於網頁設計(css,js)。真正做到編寫,學習兩不誤。
這是代碼編寫界面:
這是學習界面:
但哎,我現在基本不使用它來編程了,當你使用到手機鍵盤里的,你就知道為啥了。
第二種,C++pro
這一款手持編程APP軟體,是我比較喜歡的一款,功能很強大,不僅可以編寫C語言、C++、C#而且還可以編寫PHP、Nodejs、go等。可以說,你擁有了這一款APP,就相當於同時擁有了多個編程APP軟體啦。
這是打開後的主界面。不難發現有很多種語言的編寫模塊。更加強大的是,它還可以在編寫代碼後做一個選擇,選擇要運行的語言工具。
當然如果大量代碼運行的話,可能會比較遲緩。
兩款手機編程APP分享給大家!
這里介紹3種可以在手機上編程的app,分別是c語言編譯器(c語言)、AIDE集成開發環境(java)、QPython3(python),都不需要root,可以直接編寫程序並運行,下面我簡單介紹一下這3個app的安裝和簡單使用,主要內容如下:
1.下載安裝,這里以我的vivo手機為例,直接打開「應用商店」,搜索「C語言編譯器」,如下,直接點擊下載安裝:
測試代碼如下,這里編寫了2個函數,分別是2數之和和2數只差,很簡單:
程序運行截圖如下,需要先輸入2個數,才能正常運行:
1.下載安裝,這直接在應用商店裡搜素「AIDE」就行,直接下載安裝,如下:
這里測試一下,主要代碼如下,官方自帶的例子:
程序運行截圖如下:
1.下載安裝,這里直接在應用商店裡搜索「QPython3」就行,直接下載安裝,如下:
主界面如下,主要分為「終端」、「編輯器」、「程序」、「QPYPI」、「課程」、「社區」這6個模塊,終端類似IDLE,編輯器類似記事本,QPYPI是第三方包和工具,程序存儲官方自帶的示例,課程是一些教學案例:
這里測試一下官方自帶的例子—speaky.py,在「程序」這個模塊下,代碼如下:
點擊運行按鈕,程序運行截圖如下:
至此,這3個app都介紹完畢。總的來說,使用起來都不錯,各有各的功能,當然,還有許多其他的app也可以在手機上進行編程,像c4droid(c/c++),termux(高級終端,類似linux)等,這里我就不詳細介紹了,感興趣的可以在網上搜索一下,有相關教程和示例可供參考,希望以上分享的內容能對你有所幫助吧。
用手機進行編程,也是腦洞大開了啊,不過話說回來,手機上到底能不能進行編程呢?當然是可以的,現在手機的性能可以說不亞於電腦的,那麼我下面給大家分享幾個用手機編程的辦法。
1.c語言編譯器
這個軟體可以說是學習c語言的實用工具了,給大家介紹一下它的特點,就是小,沒錯內存只有10M左右,而且軟體干凈啊,使用起來沒有什麼廣告,用起來效率也是非常高的。
2.JAVA編輯器
如果你喜歡使用JAVA這個語言的話,這款軟體留非常的適合你,專門做JAVA代碼開發,你可以用它做一些小 游戲 ,功能非常的強大,而且使用的功能又很簡單。
可以在線編輯demo 跑基本環境 但是涉及到功能模塊開發 還是需要電腦的,
手機只能簡單編輯腳本 以及 代碼的部分存儲
坐公交坐地鐵或排隊等待的時候閑著沒事可以在手機上編程學習,但是總得來說手機上編程不怎麼舒適。
第一款: pythonista3 phython編程app,特點:編寫方便,交互感強,API強大
a.編輯器包含: 1. 語法高亮 2.自動補全符號 3.個性化python鍵盤 等功能
b.清晰的標簽,讓你在各個文件間輕松切換!
c.完美的提示窗口,手機上編寫命令行也能從容自如
d.方便的2d引擎庫,快速寫出一個小 游戲 吧
第二款: mimo 學習編程app,特點:適合學習,操作簡單,界面萌化
a.趣聞教學: 可以選擇一門語言進行學習,內容非常易懂,操作也簡單,mimo支持23種編程語言的教程,值得玩一玩。
b.編輯也很方便
第三款:my phython quiz 幫你復習python的app。 特點:碎片化學習
沒事在路上多刷刷題吧,有助於增強熟練度。
第四款: Udacity 目前最全,最優質的編程課程app。 特點:老師優質,矽谷資源,最新 科技
屏幕太小了,小心點眼睛。
網路搜索以下軟體,或者編程器
NO.1 c4droid
一款手機上的c語言編譯器。
個人認為手機上最好用的,沒有之一!c4droid是款Android設備上的C/C++程序編譯器。
NO.2 AIDE
功能強大,內置學習教程。
AIDE是一個Android Java集成開發環境,可以讓你在Android系統內進行Android軟體和 游戲 的開發。
NO.3 我的應用iapp
專為手機研發,代碼編寫簡單,學習容易。
iapp還很年輕,特別需要大家的支持!
NO.4 cppdroid
和c4droid一樣,是一款手機上的c語言編譯器。
安卓上的C/C++編譯環境,可以幫助你在手機上編寫c/c++程序 ,和c4droid各有優點,cppdroid最大的優點就是可以即時報錯,寫一個字元就檢查一遍,保證程序的正確性,而且編譯速度快,雖然還有部分地方趕不上c4droid,但是和c4droid搭配還是不錯的。
網路可以查查
『叄』 如何在Android中使用匯編語言
由於Android環境非常復雜,框架都是用Java,因此要使用C/C++都需要做很多配置,使用匯編的話需要做更多的工作。
我這邊使用的是最新的Android4.0的開發工具,NDK也是最新支持4.0的。這個NDK與老版本的有一些比較明顯的不同。
由於我用的是Mac OS X,因此配置起來比瘟抖死上的要容易許多,你不需要再裝些雜七雜八的第三方工具,直接可以使用你下載好的NDK。
首先,設置目標路徑——在你的Terminal中進入NDK的根目錄,隨後打NDK_PROJECT_PATH="<你要編譯的項目路徑>"。回車,再輸入export NDK_PROJECT_PATH
回車。
這里要注意的是NDK_PROJECT_PATH=後面的路徑需要加引號,否則無效。
由於NDK默認支持的默認編譯選項僅支持ARMv5到ARMv5TE架構,因此如果要使用比較高級的特性的話有兩種方法:
1、你有辦法將TARGET_ARCH_ABI的值變為armeabi-v7a,俺自己試了一下,木有成功。因此可以使用第二種方法,更簡單便捷:
2、在你的NDK目錄下,找到toolchains,然後找到arm-linux-androideabi-x.y.z目錄,在進去可以發現setup.mk文件。找到-march=armv7-a,將上面的神馬#ifdef都去掉,下面的#endif也都刪了。這樣就能確保編譯器使用ARMv7A來編譯。
完成上述操作之後我們就可以先用最簡單的方式來寫匯編了,即內聯匯編——
static int my_thumb(int mmy)
{
__asm__("movw r0, #1001 \t\n"
"movw r12, #2020 \t\n"
"add r0, r0, r12 \t\n"
"bx lr");
return mmy;
}
jstring
Java_com_example_hellojni_HelloJni_stringFromJNI( JNIEnv* env,
jobject thiz )
{
my_thumb(0);
return (*env)->NewStringUTF(env, "Hello from JNI !");
}
上述代碼其實就是基於NDK自帶的hello-jni項目修改的。最後用ndk-build可以成功編譯。
上面一段代碼是編譯器默認的使用Thumb/Thumb-2編譯的,因此我裡面寫的內聯匯編的指令都是Thumb代碼。
我們下面將講述一下如何使用ARM代碼並使用NEON指令集。
首先,在你的Android.mk中修改LOCAL_SRC_FILES,要將源文件名後面添加.neon後綴,比如LOCAL_SRC_FILES := hello-jni.c改成LOCAL_SRC_FILES := hello-jni.c.neon。
這里要注意的是你真正的源文件名不要修改,就修改LOCAL_SRC_FILES這個符號的值即可。
然後我們再添加新的變數,來指示ARM GCC使用ARM指令集來編譯——LOCAL_ARM_MODE := arm
這樣就OK了。我們修改一下代碼:
static int my_arm(int mmy)
{
__asm__("movw r0, #1001 \t\n"
"movw r12, #2020 \t\n"
"add r0, r0, r12 \t\n"
"vp.32 q0, r0 \t\n"
"bx lr");
return mmy;
}
jstring
Java_com_example_hellojni_HelloJni_stringFromJNI( JNIEnv* env,
jobject thiz )
{
my_arm(0);
return (*env)->NewStringUTF(env, "Hello from JNI !");
}
使用ndk-build後能正常通過編譯。
最後再上個最最高端的。直接寫匯編文件。NDK帶有GAS工具,因此按常理,完全可以寫匯編文件。一般匯編文件的後綴名為.s,因此我們創建一個xxx.s文件即可。
然後我這邊創建一個叫hey.s。在Android.mk中將這個文件添加上:LOCAL_SRC_FILES += hey.s.neon
我們這里看到,為了能在匯編文件中使用NEON指令集,我們在這里也把.neon後綴添加上。匯編器的makefile也認這個標識。
我們編輯hey.s文件:
.text
.align 4
.arm
.globl my_real_arm
my_real_arm:
add r0, r0, #256
vmov q0, q1
vp.32 q0, r0
bx lr
這里要注意的是,在Apple的匯編器中,函數名要加前綴下劃線,而NDK中提供的匯編器則不需要。
我們修改一下hello-jni.c,把這函數調進去:
extern void my_real_arm(int i);
static int my_arm(int mmy)
{
__asm__("movw r0, #1001 \t\n"
"movw r12, #2020 \t\n"
"add r0, r0, r12 \t\n"
"vp.32 q0, r0 \t\n"
"bx lr");
return mmy;
}
jstring
Java_com_example_hellojni_HelloJni_stringFromJNI( JNIEnv* env,
jobject thiz )
{
my_real_arm(0);
my_arm(0);
return (*env)->NewStringUTF(env, "Hello from JNI !");
}
當然,我們為了確保編譯器能夠正確地將ARM和Thumb指令集做混合連接,我們可以在剛才的setup.mk中強制在TARGET_CFLAGS標志里加上-mthumb-interwork
在Windows操作系統中試驗,終於發現,只要將Application.mk中的APP_ABI中的標志,將armeabi去掉,僅留下armeabi-v7a就能順利使用neon了。這樣不需要修改setup.mk,也不需要將Sample中的那個標志判斷去掉,非常方便。
下面列一下可用的Android.mk編譯配置文件:
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := HelloNeon
LOCAL_SRC_FILES := helloneon.c
LOCAL_ARM_MODE := arm
TARGET_CFLAGS += -mthumb-interwork
TARGET_CFLAGS += -std=gnu11
TARGET_CFLAGS += -O3
ifeq ($(TARGET_ARCH_ABI),armeabi-v7a)
LOCAL_CFLAGS := -DHAVE_NEON=1
LOCAL_SRC_FILES += neontest.s.neon
LOCAL_ARM_NEON := true
endif
LOCAL_LDLIBS := -llog
include $(BUILD_SHARED_LIBRARY)
$(call import-mole,cpufeatures)
在使用JNI時,只需要在你當前項目工程目錄中添加jni文件夾,然後在裡面根據Sample中所提供的文件布局來做即可。當你用ndk-build(Windows下要在cygwin控制台中用ndk-build.cmd)來編譯時, 如果構建成功,則會在libs文件夾內生成一個libXXX.so。然後用Eclipse ADT重新打開你的項目工程,就會發現jni文件目錄以及生成好的so文件都會在你的工程文件目錄中展現出來。當然,你後面也能直接在Eclipse IDE下編輯.s匯編文件,這樣就更容易閱讀了。
最後,在Android匯編器中如果要注釋某條語句,那麼必須使用C89/90中的注釋符——/* ... */
用分號以及後來C++98中所引入的//形式都不管用。
在最新的NDK版本android-ndk-r8d中加入了ARM-Linux GCC4.7以及當前大紅大紫的LLVM Clang3.1。不過由於LLVM Clang3.1的很多編譯選項與GCC有不少區別,因此在使用Clang3.1的時候需要自己去配置相應的編譯選項。這個版本的NDK默認的編譯器工具鏈使用的是GCC4.6版本。如果要使用GCC4.7,那麼可以在Application.mk文件中添加NDK_TOOLCHAIN_VERSION=4.7;如果要使用Clang3.1,那麼可以在Application.mk中添加NDK_TOOLCHAIN_VERSION=clang3.1。下面給出一個合法的Application.mk的內容:
# Build with LLVM Clang3.1
#NDK_TOOLCHAIN_VERSION=clang3.1
# Build with ARM-Linux GCC4.7
NDK_TOOLCHAIN_VERSION=4.7
# Build only ARMv7-A machine code.
APP_ABI := armeabi-v7a
以上參考豆丁網
南京寶雲安卓培訓課程火熱報名中~
『肆』 安卓如何設置開機啟動某個程序init.rc給你搞定
為了在Android設備開機後自動啟動某個程序,我們可以利用init.rc配置文件來實現。以名為pengd的C語言編寫的程序為例,該程序需要root許可權進行網路操作。
首先,需要解壓ramdisk.img文件,假設名為ramdisk_new。接著,修改init.rc文件。請注意,文件的結尾必須為空行,否則編譯時會出錯。init.rc文件的具體配置方式應參照實際設備廠商提供的SDK中的ramdisk文件。
將程序pengd直接拷貝到設備的bin目錄或其他相關目錄中。重新壓縮ramdisk文件。此時,設備開機後會自動運行pengd程序。
為了驗證程序是否成功啟動,可以使用adb shell命令登錄設備並執行查看進程的命令。
init.rc是init進程啟動的配置腳本,它使用了Android初始化語言編寫。init進程作為Android系統的第一個進程,負責執行初始化任務,如掛載文件系統、初始化屬性系統和Klog、selinux等。init.rc腳本由四種類型的聲明組成:動作、命令、服務和選項。
動作是響應事件的過程,例如在early-init觸發時執行一系列命令。命令在條件觸發後逐條執行。init.rc中的常見觸發條件包括硬體狀態、時間、系統事件等。常見的命令有啟動、停止、重啟服務等。
服務是可執行程序,在特定選項約束下由init程序運行或重啟。服務的啟動和運行行為由選項定義,常用的選項包括啟動時間、運行方式等。
通過合理配置init.rc文件,我們可以在Android設備開機後自動執行特定程序,提高設備的自動化管理效率。
『伍』 手機能否裝C語言編譯器
可以裝,不過需要安卓手機。
安裝步驟如下:
1、我們打開谷歌應用商店。在搜索框里輸入mobile c查找應用程序。下載並安裝好
6、可以看到這里正確的輸出了Hello World字元串。
『陸』 安卓c語言編輯器怎麼用
c4droid是款Android設備上的C/C++程序編譯器,默認以tcc(tiny c compiler)為編譯器,可以選擇安裝gcc插件(20mb,只有root用戶可以使用),選用gcc後,可以用sdl(簡單直控媒體層庫,需安裝sdl plugin for c4droid)和qt(nokia官方開發庫,需安裝sdl plugin for c4droid)。也可以開發native android app(需安裝sdl plugin for c4droid),就像google ndk一樣。軟體支持代碼高亮,編譯時間隨cpu主頻而定,主頻越高編譯越快。gcc插件版本4.7.2提供了示列程序,包含sdl,android native,qt和命令行測試程序源碼。
安裝:
先安裝主程序,然後在安裝三個擴展庫。
c4經常遇到的問題及其解決方法:case 1:為什麼每一次點run總會提示permission。。。。的啊?
因為你沒有root,如果root了還出現說明你是android2.2或者2.3.4,此時換一個刷機包就ok了。
case 2:我安裝上了gcc,並且把編譯器調成gcc了,但是每次 #include<SDL.h> 都會說「no such file or directory!」
你試試寫成「#include <SDL.h>」(include和<>之間加一個空格),這才是標准寫法,不這樣寫默認為terminal 模式。
使用:打開主程序,代碼敲好以後,點擊Compiled,也就是編譯,如果出現Successfully compile 如圖那樣的則代表編譯成功了。如果有錯誤則會出現error,我們根據提示,自己找到錯誤的地方。編譯好以後,點擊run就可以運行了,和電腦一樣。
c4droid還支持保存代碼,編寫好以後可以點擊save保存。
c4droid還支持打開代碼文件,可以是txt格式也可以是無格式文本。