方法如游早下:
1、將Matlab重寫為C,在高版本Matlab里找應用程序編譯器功能,選擇生成C/C++ Static Library並選中Generate code only。
2、然後用cygwin編譯成*.so庫。
3、Android中使用扮皮JNI調用。
注意:不是Matlab和廳磨差C混合編譯,混合編譯你要有Matlab的解釋器才可以。
Matalb中一個簡單的Sobel運算元重寫為C,就生成了如下一堆代碼
2. 自己做的電腦游戲如何移植到安卓系統
我需要更詳細的信息,如:
是想把游戲伍信發布到應用商店上,或放到網上供大家娛樂,還是只是單純的要放在安卓平台上
用什麼軟體做的,我的意思是游戲是什麼格式?銷啟c? c++? java?sb2?
要從手機放到電腦上嗎?還是手機到手機?或電腦傳電腦。
補充這些信息才能給你回答,如果只是單純的發給別人的話郵箱或微信就行了(個人推薦郵箱)但是確保接收端有軟體能打開你的游戲才行。只要接收端有軟體(你用來打開游戲的軟體)就不用轉成APK,能直虧橘如接打開
3. 標准C程序如何移植到android平台需要什麼編譯參數,我用的是arm-eabi-gcc工具鏈
首先 你編譯的程序 用cat命令看 目錄應該是/lib/libc.so.6 而Android 是 /system/lib/libc.so
本來已經有C庫了 但是 我這里沒有內用~ 你可以容在 你的PC安裝機子上找到 交叉編譯arm-eabi-gcc或 arm-linux-gcc安裝目錄下的arm/4.3.2/..../libc/lib/libc2.8.so好像 是這個 有一個是libc.so.6 這個是一個連接 不是文件 查看屬性 看下連接的文件應該是 那個libc2.8.so (放心它是arm版的)拷貝這個文件到 安卓/system/lib/去 然後
用RE文件 為它添加一個 連接 /system/lib/libc.so.6 就可以了
這樣 標准庫是被移植去了 但是 你的應用程序 有可能使用的是 /lib/libc.so.6 不是 /system/lib/libc.so.6
先測試不行的話 就把 /system/lib 連接為/lib
4. S3C2440的開發板能移植android系統嗎
可以,首先移植linux內核,然後移植android
移植linux時注意使用android支持的內核
linux默認支持2440,所以第一步應該不是很難
不過我也沒試過,純屬YY
5. arm-linux-gcc 移植程序到安卓時出錯
找不到鏈接庫,不這些都是數學庫,加參數 -lm 應該就能解決。
但編譯過程這回個東西應該是自己加。
busybox 一般都答是靜態的,編譯靜態程序,很多時候需要他以來的函數庫也是靜態的。你這個問題應該是編譯環境不匹配。你編譯了 uclibc 並且正確安裝了沒?
不過話說,不過是個編譯,人家本來就支持 arm ,「移植」這兩個字應該是不需要用了。
6. 安卓支持c++么
當然支持,安卓(android)開發工具集里有個所謂的NDK就是用C/C++編程的,如果用android studio開發用NDK是比較方便的。
安卓(android)從誕生之日起就支持c/c++的編程,android代碼本身,底層也全部是c/c++來編寫,應用層用java,通過JNI(Java Native Interface)機制來和其它語言互相通信(互相調用),在android里主要是c/c++和java互相調用,很多java調用的庫也是稿漏用c/c++來寫的。
現在的android在應用層(app)也強化了對c/c++代碼的支持,並提供了一整套把java代碼和c/c++編譯成的.so文件打包成apk,便於發布的功能,就是所謂的NDK(Native Development Kit), android studio對NDK功能做陵敬旅了原生的支持之所以android要越來越支持NDK,原因主要包括:
代碼的保護。由於apk的java層代碼很容易被反編譯,而C/C++庫反匯難度較大
可以方便地使用現存尺凳的開源庫。大部分現存的開源庫都是用C/C++代碼編寫的。
提高程序的執行效率。將要求高性能的應用邏輯使用C開發,從而提高應用程序的執行效率。比如視頻,音頻壓縮,網路傳輸等功能
便於移植。用C/C++寫得庫可以方便在其他的嵌入式平台上再次使用。
7. 在windows下,用c標准庫開發的程序代碼,如何移植到linux下用
你在linux下面裝個抄gcc編譯器,一般都襲可以使用,只是可能在vc中編譯器和gcc有些編譯情況不一樣,以前遇到過在vc中for(int i=0;i<2;i++)可以,在linux下不可以,必須寫成int i;for(i=0;i<2;i++),主要是編譯器不一樣,大體上是可以的。
8. 在windows 下編寫的c語言軟體可以任意移植到其他系統(例如:linux操作系統)中運行么
在任何平台下寫的C語言(沒編譯前)是可以在任何平台上編譯連接的。
假設在windows上寫的C程序編譯後生成可執行文件是不能在linux或mac上執行。但是,把C程序的問文件放到其他平台,再用其他平台的編譯器在編譯是可以執行的。
9. 如何用 純C++開發安卓應用
純C++,你想多的。
除非你從頭開始寫系統api。
沒有android給你提供的api,或者別人提供的類庫,你用純C++自己實先去。
C/C++ 開發android,可以使用NDK;
Android NDK 是在SDK前面又加上了「原生」二字,即Native Development Kit,因此又被Google稱為「NDK」。
眾所周知,Android程序運行在Dalvik虛擬機中,NDK允許用戶使用類似C / C++之類的原生代碼語言執行部分程序。
NDK包括了:
從C / C++生成原生代碼庫所需要的工具和build files。
將一致的原生庫嵌入可以在Android設備上部署的應用程序包文件(application packages files ,即.apk文件)中。
支持所有未來Android平台的一系列原生系統頭文件和庫
為何要用到NDK?
概括來說主要分為以下幾種情況:
1. 代碼的保護,由於apk的java層代碼很容易被反編譯,而C/C++庫反匯難度較大。
2. 在NDK中調用第三方C/C++庫,因為大部分的開源庫都是用C/C++代碼編寫的。
3. 便於移植,用C/C++寫的庫可以方便在其他的嵌入式平台上再次使用。
2、或者使用Qt for android。使用qt提供的C++類庫(加上了Qt自己的特性)開發andriod
不過建議對C/C++非常熟練才用C/C++開發。不然內存溢出呵呵。
不是浸淫C++技術的高手的話,老老實實學java或者go吧。