黑馬程序員安卓教程:c語言入門

黑馬程序員安卓教程:c語言入門

ID:8871663

大?。?.08 MB

頁數(shù):4頁

時(shí)間:2018-04-10

黑馬程序員安卓教程:c語言入門_第1頁
黑馬程序員安卓教程:c語言入門_第2頁
黑馬程序員安卓教程:c語言入門_第3頁
黑馬程序員安卓教程:c語言入門_第4頁
資源描述:

《黑馬程序員安卓教程:c語言入門》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在應(yīng)用文檔-天天文庫。

1、C語言入門JNI簡介1.1.1什么是JNIJavaNativeInterface(JNI),它允許Java代碼和其他語言寫的代碼進(jìn)行交互。JNI一開始是為了本地已編譯語言,尤其是C和C++而設(shè)計(jì)的,但是它并不妨礙你使用其他語言,只要調(diào)用約定受支持就可以了。1.1.2為什么用JNI1JNI擴(kuò)展了Java虛擬機(jī)的能力,因?yàn)镴ava不能直接和硬件交互,不能開發(fā)驅(qū)動(dòng)2Java代碼效率一般要低于C代碼,而Nativecode效率高,因此在數(shù)學(xué)運(yùn)算,實(shí)時(shí)渲染的游戲上以及音視頻處理上都需要用Java調(diào)用C語言3復(fù)用C/C++代碼,C語言經(jīng)過幾十年的發(fā)展,已經(jīng)形成了強(qiáng)大的類庫(比如文件壓縮,人臉識(shí)別open

2、cv,7zip,ffmpeg等),這些類庫我們沒必要用java語言重新實(shí)現(xiàn)一遍,通過JNI直接調(diào)用這些類庫即可4特殊的業(yè)務(wù)場景,比如電視、車載系統(tǒng)、微波爐等跟硬件直接相關(guān)的開發(fā)1.2.1C語言開發(fā)工具C語言的開發(fā)工具比較多,最常用是微軟的VisualStudio系列。我們教學(xué)用的是一款輕量級(jí)開發(fā)工具Dev-Cpp.exe,其gcc編譯器是C99標(biāo)準(zhǔn)。該軟件的安裝比較簡單,直接下一步,下一步即可。安裝好的圖標(biāo)如圖1-1所示,雙擊打開該軟件,然后創(chuàng)建一個(gè)新源文件(默認(rèn)是CPP文件,在保存的時(shí)候文件名稱改為hello.c)。圖1-1Dev-Cpp的圖標(biāo)這里,首先編寫一個(gè)案例:helloworld程

3、序,代碼如下所示。1.#include//引入頭文件,類似java的importjava.lang.*2.//C語言的入口函數(shù)main函數(shù)3.main(){4.printf("helloworld!");//在控制臺(tái)輸出helloworld代表換行5.system("pause");//讓系統(tǒng)暫停,不然程序執(zhí)行完后就自動(dòng)退出6.}編譯源程序,源文件要想運(yùn)行必須先編譯成hello.exe二進(jìn)制文件,然后才能運(yùn)行。運(yùn)行程序。1.2.2C語言的基本數(shù)據(jù)類型java語言的8大基本類型:4boolean1byte8位byte1byte8位short2byte16位char2b

4、yte16位int4byte32位float4byte32位long8byte64位double8byte64位C語言的基本數(shù)據(jù)類型:在C語言里面沒有boolean類型,0假非0真在C語言里面沒有byte類型可以用char表示byte類型。char1byte8位和java不同short2byte16位還可以表示java里面的charint4byte32位和java一致float4byte32位和java一致long4byte32位和java不同double8byte64位和java一致:int、long等整型可以用signed和unsigned關(guān)鍵字修飾,而float、double等浮點(diǎn)類型

5、則不可以。signed有符號(hào)的,是默認(rèn)的,本身不會(huì)修改類型的長度unsigned無符號(hào),第一位不是符號(hào)位,所有的數(shù)都是正數(shù)。案例:通過C代碼查看C語言的常用數(shù)據(jù)類型長度1.在C語言中查看數(shù)據(jù)類型主要靠sizeof(type)函數(shù)實(shí)現(xiàn)的。2./*3.查看C語言數(shù)據(jù)類型的長度4.*/5.main(){6.printf("C語言常見數(shù)據(jù)類型長度如下:");7.printf("int類型的長度=%d",sizeof(int));8.printf("unsignedint類型的長度=%d",sizeof(unsignedint));9.printf("float類型的長度=%d",si

6、zeof(float));10.printf("long類型的長度=%d",sizeof(long));11.printf("unsignedlong類型的長度=%d",sizeof(unsignedlong));12.printf("double類型的長度=%d",sizeof(double));13.printf("longlong類型的長度=%d",sizeof(longlong));14.printf("void類型的長度=%d",sizeof(void));15.system("pause");16.}執(zhí)行上面代碼,運(yùn)行結(jié)果如下::在上述代碼中代表著換行,啟

7、動(dòng)一個(gè)控制臺(tái)程序后,必須將這個(gè)程序關(guān)閉才能再次運(yùn)行另外一個(gè)控制臺(tái)程序。longlong類型是長長整型,64位,這個(gè)類型一般很少用。

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無此問題,請(qǐng)放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負(fù)責(zé)整理代發(fā)布。如果您對(duì)本文檔版權(quán)有爭議請(qǐng)及時(shí)聯(lián)系客服。
3. 下載前請(qǐng)仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶請(qǐng)聯(lián)系客服處理。