• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      智能手機(jī)中基于C語(yǔ)言嵌入式開(kāi)發(fā)的應(yīng)用

      2017-06-10 10:18:24趙林
      電子技術(shù)與軟件工程 2017年11期
      關(guān)鍵詞:智能手機(jī)

      摘 要編程語(yǔ)言和人類語(yǔ)言類似,目的都要實(shí)現(xiàn)溝通,一是人與機(jī)器,一是人與人。本文主要介紹C語(yǔ)言的編程應(yīng)用和嵌入式軟件開(kāi)發(fā)的基本概念和組成,以及大概包含的相關(guān)內(nèi)容,如何開(kāi)發(fā)的基本流程等等,目的是為了拋磚引玉,交流C語(yǔ)言的編程內(nèi)容和如何入手嵌入式軟件開(kāi)發(fā)。

      【關(guān)鍵詞】智能手機(jī) C語(yǔ)言 嵌入式開(kāi)發(fā)

      C語(yǔ)言是面向過(guò)程的程序設(shè)計(jì)語(yǔ)言,能夠與Linux和MiniGUI進(jìn)行良好的結(jié)合,從而做到模擬實(shí)現(xiàn)面向?qū)ο蟪绦虻木幊蹋磺度胧较到y(tǒng)可以增強(qiáng)軟件運(yùn)行的穩(wěn)定性、提高軟件指令執(zhí)行效率并優(yōu)化用戶使用界面,當(dāng)前的大部分嵌入式系統(tǒng)都是基于Linux操作系統(tǒng)進(jìn)行延伸。因此在智能手機(jī)的應(yīng)用開(kāi)發(fā)中C語(yǔ)言與嵌入式有著良好的關(guān)聯(lián)性,在其開(kāi)發(fā)過(guò)程中可以集兩者的優(yōu)點(diǎn)創(chuàng)建更加簡(jiǎn)潔高效的編程和應(yīng)用。

      1 嵌入式開(kāi)發(fā)的核心競(jìng)爭(zhēng)力

      根據(jù)其操作系統(tǒng),其中有OS的,按照是否開(kāi)源,是否是通用的、常見(jiàn)的、還是私有的劃分為:開(kāi)源的、常見(jiàn)的、通用的嵌入式操作系統(tǒng);和不等價(jià)的私有的嵌入式操作系統(tǒng)。原因是嵌入式開(kāi)發(fā)從硬到軟,很難說(shuō)有一種具體的技術(shù)或者技術(shù)方向是嵌入式開(kāi)發(fā)的核心。嵌入式開(kāi)發(fā)的核心競(jìng)爭(zhēng)力是“整合”。整合的前提是有充分的知識(shí)面和技術(shù)前瞻性。

      首先,嵌入式開(kāi)發(fā)的技術(shù)之多決定了需要有過(guò)濾的能力,而過(guò)濾的前提是有足夠的知識(shí)面。一個(gè)基層的工程師投入在一個(gè)既定的項(xiàng)目中,其實(shí)solution可能會(huì)有很多,最關(guān)鍵的是找到哪些技術(shù)的最佳組合,然后讓這個(gè)項(xiàng)目”又好又快“地完成。在嵌入式開(kāi)發(fā)管理過(guò)程中,制定一個(gè)關(guān)鍵項(xiàng)目時(shí),既要站在工業(yè)界的前沿,又要把控好關(guān)鍵的技術(shù)群,實(shí)際上就是一種“整合”的能力。所以,雖然做不了“全棧”,但不排斥盡可能多地了解。

      2 C語(yǔ)言、C++和C#

      按時(shí)間順序說(shuō)一說(shuō)這三門語(yǔ)言的基本吧,這樣比較一下就能知道他們的區(qū)別了。

      2.1 C語(yǔ)言

      C語(yǔ)言可以看成是“高級(jí)的匯編”語(yǔ)言。C語(yǔ)言的源代碼基本上可以非常容易地對(duì)應(yīng)到匯編代碼,而且可以不需要什么運(yùn)行時(shí)環(huán)境的支持。C的特點(diǎn),簡(jiǎn)單容易編譯,靈活貼近底層。所以一直到現(xiàn)在,一些需要直接和硬件打交道的軟件都還是用C語(yǔ)言寫的,比如(但不限于)Linux Kernel和一些嵌入式領(lǐng)域。

      2.2 C++語(yǔ)言

      C++早期是基于C的,C++的目標(biāo)是提高編程人員的生產(chǎn)率,哪怕代價(jià)是增加編譯器的復(fù)雜度。面向?qū)ο笾皇荂++的一部分,現(xiàn)代的C++的目標(biāo)是支持多種編程范型,同時(shí)并不會(huì)離硬件太遠(yuǎn)。所以C++是非常適合寫一些基礎(chǔ)架構(gòu)級(jí)軟件的,比如編譯器,GUI庫(kù)等等。

      2.3 C#以及.net框架

      managed code的崛起,與之對(duì)應(yīng)的就是C/C++這種native code的衰落。C#就是微軟想要復(fù)制Java的成功。C#的特點(diǎn)就是:抽象層次高且基本只有一種(面向?qū)ο蟮模?,運(yùn)行時(shí)支持豐富(垃圾回收等),類庫(kù)豐富。

      3 智能手機(jī)中基于C語(yǔ)言的嵌入式開(kāi)發(fā)

      C語(yǔ)言主要解決的問(wèn)題是,不同機(jī)器平臺(tái)上的匯編語(yǔ)言指令,功能相似但寫法不一樣。所以,C語(yǔ)言的發(fā)明者的想法是,只要把這些不同的匯編語(yǔ)言的共同點(diǎn)提取出來(lái),用一種相同的表達(dá)方式來(lái)描述這些共同點(diǎn),那么程序只需要寫一遍,就可以在不同的機(jī)器上去編譯了。于是C語(yǔ)言大部分的工作是在匯編語(yǔ)言的層面上做抽象。如果要選最能體現(xiàn)上述思路的C語(yǔ)言作品,首選 CURL 和 openssl 。這也是 C語(yǔ)言最適合的應(yīng)用場(chǎng)合。

      嵌入式系統(tǒng)沒(méi)有特別明確的定義,一般都是指區(qū)別于一般PC的民用操作系統(tǒng),用在專用的設(shè)備內(nèi)部運(yùn)行的。所以像智能手機(jī)、平板電腦這些,可以算,也可以不算。實(shí)際上,在軟件開(kāi)發(fā)行業(yè),嵌入式系統(tǒng)開(kāi)發(fā),通常是指嵌入式實(shí)時(shí)操作系統(tǒng)開(kāi)發(fā)。實(shí)時(shí)操作系統(tǒng)也就是RTOS。當(dāng)然,現(xiàn)在的安卓或iOS開(kāi)發(fā)也算嵌入式,但肯定還不是RTOS。一般來(lái)說(shuō)原始匯編語(yǔ)言就是二進(jìn)制指令格式的轉(zhuǎn)寫,與處理器的指令集一一對(duì)應(yīng),更換處理器就需要重寫。并且因?yàn)橐恍┘夹g(shù)上的問(wèn)題,處理器的指令集與人解決問(wèn)題的思路完全不一致,例如一個(gè)加法指令根據(jù)不同類型有沒(méi)有符號(hào)位在哪里取數(shù)據(jù)存哪里去有一堆的變種,所以原始匯編語(yǔ)言不是一個(gè)真正具有生產(chǎn)力的語(yǔ)言。人們?cè)趨R編語(yǔ)言的基礎(chǔ)上,發(fā)明了很多高層語(yǔ)言,C語(yǔ)言就是其中最為成功的一個(gè)。C語(yǔ)言解決了匯編語(yǔ)言所有的問(wèn)題,例如處理器的指令集不同。不論何種處理器何種指令集,在C語(yǔ)言里面需要將a和b兩個(gè)數(shù)相加只需要寫成a+b就可以了。也無(wú)需考慮類型、存儲(chǔ)位置帶來(lái)的指令的變化。簡(jiǎn)單說(shuō)就是C語(yǔ)言大大的抽象了匯編語(yǔ)言,通過(guò)C語(yǔ)言的編譯器將C語(yǔ)言代碼翻譯成處理器指令集所支持的代碼形式,這一過(guò)程被稱之為編譯。

      若開(kāi)發(fā)手機(jī)平臺(tái)apk,尤其是互聯(lián)網(wǎng)應(yīng)用,全部調(diào)用系統(tǒng)API就不算是嵌入式開(kāi)發(fā)。但是必須有人從事底層驅(qū)動(dòng),內(nèi)核的移植,裁剪,這方面的方法遇到的問(wèn)題,又是嵌入式開(kāi)發(fā)的方法。另外手機(jī)現(xiàn)在還不能夠用來(lái)有效率的用來(lái)做開(kāi)發(fā)工具,應(yīng)用基本靠交叉編譯,這也是和一般嵌入式系統(tǒng)相同的特點(diǎn)。

      4 結(jié)語(yǔ)

      理論上C語(yǔ)言能開(kāi)發(fā)出幾乎所有軟件。但是,數(shù)字信息設(shè)備發(fā)展了幾十年,留下的大量的解決方案。C后產(chǎn)生的各種新語(yǔ)言和第三方庫(kù)如此豐富,這已經(jīng)是巨大的財(cái)富。在今后智能手機(jī)的應(yīng)用開(kāi)發(fā)中基于C語(yǔ)言的嵌入式開(kāi)發(fā)將大幅減少手機(jī)應(yīng)用的編程工作所需時(shí)間,提高開(kāi)發(fā)效率,也是推動(dòng)智能手機(jī)應(yīng)用開(kāi)發(fā)的重要策略。

      參考文獻(xiàn)

      [1]景香芝.基于C語(yǔ)言嵌入式開(kāi)發(fā)在智能手機(jī)中的應(yīng)用探析[J].制造業(yè)自動(dòng)化,2012,34(04):145-146,150.

      [2]劉燁.智能手機(jī)中基于C語(yǔ)言嵌入式開(kāi)發(fā)的應(yīng)用探析[J].湖南農(nóng)機(jī),2014(02):84-84,98.

      [3]羅莎.基于C語(yǔ)言嵌人式開(kāi)發(fā)技術(shù)在智能手機(jī)中的應(yīng)用[J].計(jì)算機(jī)光盤軟件與應(yīng)用,2011(22):170-171.

      [4]倪建新.基于C語(yǔ)言的游戲開(kāi)發(fā)教學(xué)平臺(tái)的設(shè)計(jì)與實(shí)現(xiàn)[J].電腦知識(shí)與技術(shù),2012(35):8401-8403.

      [5]張芳.基于嵌入式Linux的智能手機(jī)應(yīng)用系統(tǒng)研究[D].長(zhǎng)沙理工大學(xué),2006.

      [6]李從宇,王寶光.嵌入式DSP系統(tǒng)C語(yǔ)言硬件編程技術(shù)[J].測(cè)控技術(shù),2007,26(04):68-70.

      作者簡(jiǎn)介

      趙林(1978-)男,河北省保定市人。碩士研究生。高級(jí)工程師。研究方向?yàn)橛?jì)算機(jī)技術(shù)。

      作者單位

      廣西電力職業(yè)技術(shù)學(xué)院 廣西壯族自治區(qū)南寧市 530001

      猜你喜歡
      智能手機(jī)
      智能手機(jī)是座礦
      智能手機(jī)臉
      面向智能手機(jī)的UI界面設(shè)計(jì)
      智能手機(jī)是電影制作的未來(lái)嗎?
      使用智能手機(jī)增大肥胖風(fēng)險(xiǎn)?
      軍事文摘(2019年18期)2019-09-25 08:09:08
      假如我是一部智能手機(jī)
      信息安全,智能手機(jī)的新增長(zhǎng)點(diǎn)
      熱門智能手機(jī)應(yīng)用
      海外星云(2016年7期)2016-12-01 04:18:00
      智能手機(jī)介入交往的基礎(chǔ)
      新聞傳播(2016年11期)2016-07-10 12:04:01
      基于智能手機(jī)控制風(fēng)扇運(yùn)行的實(shí)現(xiàn)
      嘉禾县| 贵溪市| 江城| 宁河县| 吉木萨尔县| 汶上县| 汉寿县| 海晏县| 宁德市| 柘城县| 乐东| 武陟县| 微山县| 建瓯市| 会宁县| 鹤峰县| 海门市| 绥宁县| 尼木县| 潞西市| 博白县| 丹寨县| 湖州市| 香港 | 海宁市| 孝义市| 上饶市| 司法| 清流县| 株洲市| 永泰县| 钟山县| 郴州市| 宁波市| 大渡口区| 尚义县| 望江县| 盐边县| 西安市| 融水| 葫芦岛市|