无码av一区二区三区无码,在线观看老湿视频福利,日韩经典三级片,成 人色 网 站 欧美大片在线观看

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

關(guān)于鴻蒙系統(tǒng)使用C++進(jìn)行編寫(JNI學(xué)習(xí)筆記)

2021-06-06 17:08 作者:三一六六六六六六  | 我要投稿

????????把華為的API文檔翻了一遍又一遍。雖然說是可以用C++進(jìn)行編譯,但基本都是很底層的東西了。相比較JAVA的API整整好幾頁,并且都是直接調(diào)用就出效果的,著實(shí)羨慕。一開始我想要不自己加點(diǎn)文件頭(OPENGL),實(shí)現(xiàn)一些不可告人的秘密。然后翻了許多資料,安裝環(huán)境資料就很少,因?yàn)閷τ贑++來說大部分是安裝給WIN和VS的。假設(shè)開發(fā)環(huán)境能調(diào)用,在實(shí)體機(jī)上也不清楚能不能用?


????????然后特地查看了下ANDROID,直接用JAVA調(diào)用(可惡啊,這么方便的嗎)。無意間發(fā)現(xiàn)了JNI,想了想鴻蒙編譯器給的例子也提到了JNI。于是就對JNI查找了許多資料,總結(jié)了一下自己想的原理。


下圖是華為給的編譯器自帶的C++例子。在這之前需要加載庫,截圖沒截到但注釋有的。(英文寫的)

// Load the 'native-lib' library on application startup.

可以看到紅框里的函數(shù),就是下面CPP所實(shí)現(xiàn)的函數(shù)。

這里函數(shù)名字很長,但仔細(xì)看最后面,就和JAVA里申明的一模一樣了。


????????C++雖然是可以用來編寫,不過需要反復(fù)的和JAVA去交互??偟膩碚f比去學(xué)一個語言要方便吧,據(jù)說這樣來回切換運(yùn)行效率會比其他2種編寫方法快(并未測試過)。下面是我找到的一篇不錯的文章,作為C++程序一定都能看懂。


JNI 常見用法:https://www.jianshu.com/p/6cbdda111570


我想使用這種方法應(yīng)該會比自己去安裝第三方庫來的可靠一些吧。


總結(jié):在JAVA里申明函數(shù),在CPP文件里實(shí)現(xiàn)(CPP里調(diào)用上層JAVA的API,比如圖形繪制等)。另外這方法在ANDROID也是有的,所以以后遇到什么問題搜不到,就知道搜ANDROID的吧,十有八九就能搜到了。

關(guān)于鴻蒙系統(tǒng)使用C++進(jìn)行編寫(JNI學(xué)習(xí)筆記)的評論 (共 條)

分享到微博請遵守國家法律
咸阳市| 闽清县| 松桃| 连山| 江陵县| 莒南县| 余庆县| 定兴县| 申扎县| 静海县| 肇州县| 宁陵县| 蒙山县| 龙门县| 高唐县| 翁牛特旗| 油尖旺区| 钦州市| 若羌县| 西华县| 威信县| 确山县| 甘德县| 威海市| 宜兰县| 禄劝| 寻乌县| 双江| 上犹县| 吴堡县| 德令哈市| 沭阳县| 重庆市| 郎溪县| 白水县| 双城市| 柘城县| 夏津县| 梁山县| 望谟县| 永靖县|