国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

一種自動(dòng)氣象站嵌入式軟件構(gòu)件裁剪算法

2017-01-13 07:23:30茅正沖
計(jì)算機(jī)測量與控制 2016年8期
關(guān)鍵詞:函數(shù)調(diào)用嵌入式軟件鏈表

葉 臻,茅正沖,黃 芳

(江南大學(xué)物聯(lián)網(wǎng)工程學(xué)院,江蘇無錫 214122)

一種自動(dòng)氣象站嵌入式軟件構(gòu)件裁剪算法

葉 臻,茅正沖,黃 芳

(江南大學(xué)物聯(lián)網(wǎng)工程學(xué)院,江蘇無錫 214122)

為了解決自動(dòng)氣象站嵌入式軟件構(gòu)件冗余度大,不利于低網(wǎng)速環(huán)境下遠(yuǎn)程更新的問題,提出了一種自動(dòng)氣象站嵌入式軟件構(gòu)件裁剪算法,將算法分為預(yù)處理、函數(shù)信息表的構(gòu)造、有序二叉樹和狀態(tài)轉(zhuǎn)移及文本指針跳轉(zhuǎn)表的構(gòu)造、函數(shù)調(diào)用樹的構(gòu)造、函數(shù)的裁剪幾個(gè)階段,并對每個(gè)階段作了詳細(xì)介紹;根據(jù)提出的裁剪算法,實(shí)現(xiàn)了一個(gè)嵌入式軟件構(gòu)件裁剪工具,設(shè)計(jì)了裁剪實(shí)驗(yàn),并將裁剪前后的構(gòu)件體積進(jìn)行了分析對比;實(shí)驗(yàn)表明,算法能夠有效地對自動(dòng)氣象站嵌入式軟件構(gòu)件進(jìn)行裁剪,去除構(gòu)件的冗余代碼,大大提高遠(yuǎn)程更新的效率。

嵌入式軟件;構(gòu)件;裁剪;自動(dòng)氣象站

0 引言

為了解決自動(dòng)氣象站數(shù)據(jù)采集器嵌入式軟件復(fù)用率低,開發(fā)效率低,維護(hù)困難的問題,文獻(xiàn)[1]提出了一種基于構(gòu)件的嵌入式軟件開發(fā)模式,使得軟件的復(fù)用率和開發(fā)效率得到了很大的提高。在此基礎(chǔ)之上,文獻(xiàn)[2]又制定了基于構(gòu)件的嵌入式軟件遠(yuǎn)程更新方案,很大程度上減小了通信流量的消耗,提高了軟件維護(hù)的效率。

但是,以上的研究還存在一個(gè)很大的問題。功能構(gòu)件[1]是面向領(lǐng)域的,存放著氣象領(lǐng)域中與數(shù)據(jù)采集、數(shù)據(jù)質(zhì)量控制、數(shù)據(jù)計(jì)算、數(shù)據(jù)存儲(chǔ)、數(shù)據(jù)通信相關(guān)的函數(shù)集合。隨著氣象領(lǐng)域的發(fā)展,氣象要素的增加,功能構(gòu)件的體積也會(huì)越來越大。而在一個(gè)具體的項(xiàng)目中,氣象要素的數(shù)量有限,功能構(gòu)件庫中有很多函數(shù)是永遠(yuǎn)不會(huì)被調(diào)用到的。若直接將領(lǐng)域級的功能構(gòu)件部署在目標(biāo)設(shè)備上,大量的冗余代碼會(huì)增加功能構(gòu)件的體積,這對低網(wǎng)速環(huán)境下的遠(yuǎn)程更新是極為不利的。目前已有學(xué)者提出了一些嵌入式軟件裁剪方案,但是對于文獻(xiàn)[1]設(shè)計(jì)的構(gòu)件式數(shù)據(jù)采集軟件并不完全適用。因此,提出了一種自動(dòng)氣象站嵌入式軟件構(gòu)件裁剪算法,將領(lǐng)域級的功能構(gòu)件進(jìn)行裁剪,得到體積較小的應(yīng)用級功能構(gòu)件,再部署到目標(biāo)設(shè)備上,這樣將進(jìn)一步減小遠(yuǎn)程更新的流量消耗,提高遠(yuǎn)程更新的效率。

1 自動(dòng)氣象站嵌入式軟件構(gòu)件裁剪算法

本文設(shè)計(jì)的構(gòu)件裁剪算法是針對自動(dòng)氣象站數(shù)據(jù)采集器構(gòu)件式嵌入式軟件的,其特點(diǎn)可參考文獻(xiàn)[1]。

對于此套軟件,在部署到采集器之前,需要裁剪的是功能構(gòu)件。在領(lǐng)域級功能構(gòu)件源代碼中,函數(shù)的調(diào)用有兩種形式。一種形式是編寫代碼的時(shí)候顯式地進(jìn)行調(diào)用,稱之為靜態(tài)調(diào)用,這部分代碼始終會(huì)被調(diào)用,因此不會(huì)被裁剪;另一種形式是通過函數(shù)指針調(diào)用,函數(shù)是否被調(diào)用由配置構(gòu)件中的信息決定,稱之為動(dòng)態(tài)調(diào)用,這部分代碼會(huì)根據(jù)具體的應(yīng)用環(huán)境做相應(yīng)的裁剪。對于靜態(tài)調(diào)用和動(dòng)態(tài)調(diào)用,在生成函數(shù)調(diào)用樹時(shí)所做的處理不同,在下文中會(huì)詳細(xì)說明。

使用集合S= {fs1,fs2,...,fsn}表示領(lǐng)域級源代碼中所有靜態(tài)調(diào)用的函數(shù),集合DR={fdr1,fdr2,...,f drn}表示領(lǐng)域級源代碼中需要為具體應(yīng)用保留的動(dòng)態(tài)調(diào)用的函數(shù),集合DT={fdt1,fdt2,…,fdtn}表示領(lǐng)域級源代碼中不被具體應(yīng)用調(diào)用而需要被裁剪的動(dòng)態(tài)調(diào)用的函數(shù)。由于S∩DR=?,S∩DT=?,DR∩DT=?,所以有領(lǐng)域級源代碼函數(shù)集合W=S+DR+DT={fs1,fs2,...,fsn,fdr1,fdr2,...,fdrn,fdt1,fdt2,...,fdtn},則DT= W-SDR。本算法的目的就是分析源代碼,得到集合W,S和DR,計(jì)算出DT,將其裁剪,以縮小功能構(gòu)件的體積。

下面給出一個(gè)簡化的C語言程序示例,下文將結(jié)合此示例說明算法的流程。程序代碼如下:

functionPointer1和functionPointer2為函數(shù)指針,假定它們的值為fdr1和fdr3。代碼中,W={main,fs1,fs2,fs3,fs4,fs5,fdr1,fdr2,fdr3,fdt1,fdt2,fdt3},S={main,fs1,fs2,fs3,fs4,fs5},DR= {fdr1,fdr2,fdr3},DT= {fdt1,fdt2,fdt3},由代碼可以得到如圖1所示的函數(shù)調(diào)用關(guān)系圖。

圖1 示例程序函數(shù)調(diào)用關(guān)系圖

圖中,實(shí)線箭頭表示顯式調(diào)用,虛線表示通過函數(shù)指針調(diào)用。由圖可知,函數(shù)fdt1,fdt2和fdt3沒有被調(diào)用,需要被裁剪。

基于樹的嵌入式軟件構(gòu)件裁剪算法流程圖如圖2所示。下文將結(jié)合上面給出的C程序示例,對算法的步驟作詳細(xì)的說明。

1.1 預(yù)處理

本文提出的構(gòu)件裁剪算法是基于多模式字符串匹配算法的,如果文本中搜索到函數(shù)名字符串,則認(rèn)定為函數(shù)調(diào)用。在源代碼中,若在注釋或雙引號之間出現(xiàn)函數(shù)名字符串,則會(huì)對函數(shù)調(diào)用的判斷造成干擾,如:

因此,首先需要對源代碼進(jìn)行預(yù)處理,創(chuàng)建源代碼的副本,找出源代碼中的注釋和雙引號組,用占位符替代原先的內(nèi)容,以消除對函數(shù)調(diào)用判斷造成的干擾,如:

最后,根據(jù)經(jīng)過處理的源代碼副本構(gòu)造函數(shù)調(diào)用樹。

圖2 基于樹的嵌入式軟件構(gòu)件裁剪算法流程圖

1.2 函數(shù)信息表的構(gòu)造

函數(shù)信息表是一個(gè)鏈表,它用來存儲(chǔ)源代碼中所有函數(shù)的信息,如下:

Name為函數(shù)名稱,DefinitionFile為函數(shù)定義所在文件的名稱,DefinitionStartOffset為函數(shù)定義頭部在文件中的偏移量,Definition End Offset為函數(shù)定義尾部在文件中的偏移量,Tailor指示函數(shù)是否需要被裁剪,Next用于指示下一個(gè)節(jié)點(diǎn)。

要構(gòu)造函數(shù)信息表,關(guān)鍵在于如何從源代碼中提取函數(shù)名稱以及如何確定函數(shù)定義在源代碼中的位置。本文采用正則表達(dá)式來匹配函數(shù)定義,以提取函數(shù)名稱。用于匹配函數(shù)名稱的正則表達(dá)式如下:

通過逐行掃描源代碼,使用上述表達(dá)式進(jìn)行匹配,就可以得到源代碼中所有的函數(shù)定義字符串,然后根據(jù)C語言的語法規(guī)則從函數(shù)定義字符串中提取函數(shù)名稱。

得到函數(shù)名稱之后,還要確定此函數(shù)的定義在文件中的偏移量。函數(shù)定義頭部的偏移量即為正則表達(dá)式匹配結(jié)果首字符的偏移量,下面敘述確定函數(shù)定義尾部偏移量的方法。由于函數(shù)體是字符‘{’,‘}’構(gòu)成的語句塊,它們成對出現(xiàn),并且有一定的層次性,因此定義一個(gè)計(jì)數(shù)變量count,并初始化為0,然后從正則表達(dá)式匹配結(jié)果末字符開始向下搜索,匹配到‘{’則加1,匹配到‘}’則減1,當(dāng)count第一次減為0時(shí),指針指向的位置即為函數(shù)定義的尾部。

1.3 有序二叉樹和狀態(tài)轉(zhuǎn)移及文本指針跳轉(zhuǎn)表的構(gòu)造

本文采用基于有序二叉樹的快速多模式字符串匹配算法(SMA-QS算法)構(gòu)造有序二叉樹和狀態(tài)轉(zhuǎn)移及文本指針跳轉(zhuǎn)表,并且在2.4節(jié)中還會(huì)利用此算法進(jìn)行字符串多模式匹配,算法的詳細(xì)步驟可參考文獻(xiàn)[5]。

SMA-QS算法分為預(yù)處理和匹配兩個(gè)部分。在預(yù)處理階段,首先將模式集合排列為字典序,然后對于每個(gè)模式串,根據(jù)一定的規(guī)則,向二叉樹中添加節(jié)點(diǎn),生成一顆有序二叉樹,然后對于每個(gè)節(jié)點(diǎn)狀態(tài)和文本指針將指向的下一個(gè)字符計(jì)算狀態(tài)轉(zhuǎn)移及文本指針跳轉(zhuǎn)表。在匹配階段,按照一定的訪問規(guī)則訪問二叉樹,使用棧記錄已經(jīng)匹配的字符,若訪問到標(biāo)記為“輸出”的節(jié)點(diǎn),說明已經(jīng)匹配到一個(gè)模式串,則將棧中的字符串輸出。若出現(xiàn)失配,則根據(jù)狀態(tài)轉(zhuǎn)移及文本指針跳轉(zhuǎn)表中的信息進(jìn)行跳躍,開始下一次比較。

在本步驟中,以2.2節(jié)構(gòu)造的函數(shù)信息表中函數(shù)名字符串集合作為輸入模式集,使用SMA-QS算法構(gòu)造一顆有序二叉樹及一個(gè)狀態(tài)轉(zhuǎn)移及文本指針跳轉(zhuǎn)表,為函數(shù)調(diào)用樹的構(gòu)造做好準(zhǔn)備。示例程序?qū)?yīng)的有序二叉樹和狀態(tài)轉(zhuǎn)移及文本指針跳轉(zhuǎn)表分別如圖3和表1所示。

圖3 示例程序模式集合對應(yīng)的有序二叉樹

表1 示例程序?qū)?yīng)的狀態(tài)轉(zhuǎn)移及文本指針跳轉(zhuǎn)表

1.4 函數(shù)調(diào)用樹的構(gòu)造

函數(shù)調(diào)用樹的構(gòu)造分為兩部分,首先構(gòu)造深度為2的函數(shù)調(diào)用樹鏈表,然后將其轉(zhuǎn)化為函數(shù)調(diào)用樹,下面首先給出函數(shù)調(diào)用樹節(jié)點(diǎn)的定義:

Function Name為函數(shù)名稱,Right為右節(jié)點(diǎn),Child為子節(jié)點(diǎn)。

首先從頭至尾掃描函數(shù)信息表,對于每個(gè)節(jié)點(diǎn),打開DefinitionFile指定的源文件,在DefinitionStartOffset和Definition End Offset指定的偏移量范圍內(nèi),對源碼進(jìn)行逐行掃描,利用SMA-QS匹配算法進(jìn)行模式匹配,若有匹配結(jié)果,則說明當(dāng)前節(jié)點(diǎn)對應(yīng)的函數(shù)調(diào)用了其它的函數(shù),則將此節(jié)點(diǎn)及其調(diào)用的函數(shù)對應(yīng)的節(jié)點(diǎn)加到深度為2的函數(shù)調(diào)用樹鏈表的尾部。在函數(shù)信息表掃描結(jié)束后,會(huì)生成一個(gè)源碼對應(yīng)的深度為2的函數(shù)調(diào)用樹鏈表。下面給出生成深度為2的函數(shù)調(diào)用樹鏈表的算法描述:

算法1:生成深度為2的函數(shù)調(diào)用樹鏈表

輸入:函數(shù)信息表,有序二叉樹,MOVE表

輸出:深度為2的函數(shù)調(diào)用樹鏈表

步驟:

1)對于函數(shù)信息表的每個(gè)節(jié)點(diǎn)m,執(zhí)行以下操作:

(1)如果m對應(yīng)的函數(shù)fm進(jìn)行了函數(shù)調(diào)用,則:

①創(chuàng)建fm對應(yīng)的節(jié)點(diǎn)nm。

②將nm連接在深度為1的節(jié)點(diǎn)組成的鏈表尾部。

③對于fm調(diào)用的每個(gè)函數(shù)f,執(zhí)行以下操作:

a.創(chuàng)建f對應(yīng)的節(jié)點(diǎn)nf。

b.如果nm有子節(jié)點(diǎn),則把nf連接在以nm的子節(jié)點(diǎn)為頭節(jié)點(diǎn)的鏈表尾部,否則nm的子節(jié)點(diǎn)←nf。

對于上文給出的C語言示例程序,生成的深度為2的函數(shù)調(diào)用樹鏈表如圖4所示。

圖4 示例程序?qū)?yīng)的深度為2的函數(shù)調(diào)用樹鏈表

圖中的每個(gè)節(jié)點(diǎn)有3個(gè)域,左邊的域指向子節(jié)點(diǎn),中間的域存儲(chǔ)函數(shù)名稱,右邊的域指向右節(jié)點(diǎn)。此鏈表是將以main,fs1,fs2,fdr1,fdt1為根節(jié)點(diǎn)的深度為2的函數(shù)調(diào)用樹串接在一起的結(jié)果。

接下來,給出將深度為2的函數(shù)調(diào)用樹鏈表轉(zhuǎn)化為函數(shù)調(diào)用樹的算法描述:

算法2:生成函數(shù)調(diào)用樹

輸入:深度為2的函數(shù)調(diào)用樹鏈表,根節(jié)點(diǎn)r

輸出:以r為根節(jié)點(diǎn)的函數(shù)調(diào)用樹

步驟:

1)對于深度為2的函數(shù)調(diào)用樹鏈表中每個(gè)深度為1的節(jié)點(diǎn)n,執(zhí)行以下操作:

(1)如果n的函數(shù)名稱=r的函數(shù)名稱,則:

①r的子節(jié)點(diǎn)←n的子節(jié)點(diǎn)。

②跳出循環(huán)。

(2)以r的子節(jié)點(diǎn)為根節(jié)點(diǎn)遞歸生成函數(shù)調(diào)用樹。

(3)以r的右節(jié)點(diǎn)為根節(jié)點(diǎn)遞歸生成函數(shù)調(diào)用樹。

以main函數(shù)對應(yīng)的節(jié)點(diǎn)為根節(jié)點(diǎn),調(diào)用上述算法,可生成被靜態(tài)調(diào)用的函數(shù)構(gòu)成的函數(shù)調(diào)用樹Ts;以用戶配置的動(dòng)態(tài)調(diào)用的函數(shù)為根節(jié)點(diǎn),調(diào)用上述算法,可生成若干被動(dòng)態(tài)調(diào)用的函數(shù)構(gòu)成的函數(shù)調(diào)用子樹Tdk(k=1,2,...,n),將這些函數(shù)調(diào)用子樹Tdk掛在Ts的根節(jié)點(diǎn)下,最終得到代碼對應(yīng)的函數(shù)調(diào)用樹T,樹T中所有函數(shù)都會(huì)被調(diào)用,樹T以外的函數(shù)為冗余代碼,應(yīng)被裁剪。對于上文給出的C語言示例程序,生成的函數(shù)調(diào)用樹T如圖5所示。

圖5 示例程序?qū)?yīng)的函數(shù)調(diào)用樹

1.5 函數(shù)的裁剪

在初始化時(shí),將函數(shù)信息表中的Tailor初始化為true,意為需要裁剪。然后遍歷2.4節(jié)生成的函數(shù)調(diào)用樹,對于樹中每個(gè)節(jié)點(diǎn)對應(yīng)的函數(shù),在函數(shù)信息表中將其Tailor修改為false,意為不需要裁剪。遍歷結(jié)束之后,函數(shù)信息表中所有Tailor為true的函數(shù)即為需要被裁剪的函數(shù)。對于每個(gè)需要被裁剪的函數(shù),打開DefinitionFile指定的源文件,在DefinitionStartOffset 和DefinitionEnd Offset指定的偏移量分別寫入”/*”和”*/”注釋其間的代碼,這樣就完成了函數(shù)裁剪,在編譯時(shí)此函數(shù)將不會(huì)被編譯進(jìn)目標(biāo)文件。

2 裁剪實(shí)驗(yàn)

根據(jù)以上裁剪算法,開發(fā)了一個(gè)自動(dòng)氣象站嵌入式軟件構(gòu)件裁剪工具,進(jìn)行了裁剪實(shí)驗(yàn),以驗(yàn)證算法的可行性。實(shí)驗(yàn)針對不同的應(yīng)用環(huán)境,對文獻(xiàn)[1]中的構(gòu)件式嵌入式軟件示例代碼進(jìn)行了裁剪。示例代碼中包含了適用于風(fēng)向、風(fēng)速、氣溫、氣壓、降水量、蒸發(fā)量、相對濕度的所有函數(shù)以及其它通用的函數(shù),不同應(yīng)用環(huán)境中涉及的要素是上述七個(gè)要素的子集。對于應(yīng)用環(huán)境1,要素為風(fēng)向、風(fēng)速;對于應(yīng)用環(huán)境2,要素為氣溫、氣壓;對于應(yīng)用環(huán)境3,要素為降水量、蒸發(fā)量、相對濕度。實(shí)驗(yàn)結(jié)果如表2和表3所示。

表2 裁剪前構(gòu)件體積

裁剪率計(jì)算公式如式(1)所示:

由式(1)可知,對于應(yīng)用環(huán)境1,裁剪率為10.8%;對于應(yīng)用環(huán)境2,裁剪率為9.5%;對于應(yīng)用環(huán)境3,裁剪率為13.3%。目前在實(shí)際工程中,要素多達(dá)數(shù)百個(gè),構(gòu)件庫體積龐大,因此對于一個(gè)具體的應(yīng)用環(huán)境,裁剪率會(huì)比實(shí)驗(yàn)中大得多。

表3 裁剪后構(gòu)件體積

3 結(jié)束語

針對自動(dòng)氣象站嵌入式軟件構(gòu)件代碼冗余度大,不利于遠(yuǎn)程更新的問題,提出了一種自動(dòng)氣象站嵌入式軟件構(gòu)件裁剪算法,對算法的各個(gè)步驟進(jìn)行了詳細(xì)說明,并實(shí)現(xiàn)了構(gòu)件裁剪工具,設(shè)計(jì)了裁剪實(shí)驗(yàn)。實(shí)驗(yàn)表明,提出的裁剪算法可以有效地對構(gòu)件進(jìn)行裁剪。隨著氣象領(lǐng)域的飛速發(fā)展,監(jiān)測的氣象要素越來越多,構(gòu)件庫的體積越來越大,遠(yuǎn)程更新時(shí)無意義的流量消耗越來越大,因此嵌入式軟件構(gòu)件的裁剪在氣象領(lǐng)域中的應(yīng)用具有深遠(yuǎn)的意義。

[1]茅正沖,葉 臻,黃 芳.基于構(gòu)件的可配置嵌入式應(yīng)用程序設(shè)計(jì)模式[J].計(jì)算機(jī)測量與控制,2015,23(4):1432-1434,1437.

[2]茅正沖,葉 臻,黃 芳,基于構(gòu)件的自動(dòng)氣象站嵌入式程序遠(yuǎn)程更新[J].單片機(jī)與嵌入式系統(tǒng)應(yīng)用,2015,15(11):44 -47.

[3]王亞剛,陳莉君.ELF目標(biāo)文件的裁剪方法研究[J].電腦知識與技術(shù),2009,5(11):3018-3020.

[4]成月良,方壽海.面向應(yīng)用的嵌入式Linux裁剪方法研究與實(shí)現(xiàn)[J].計(jì)算機(jī)工程與設(shè)計(jì),2009,30(11):2684-2686,2697.

[5]周 燕,侯整風(fēng),何 玲.基于有序二叉樹的快速多模式字符串匹配算法[J].計(jì)算機(jī)工程,2010,36(17):42-44.

[6]崔歡歡,霍 華,王永杰.一種面向應(yīng)用的嵌入式Linux內(nèi)核混合裁剪方法[J].河南科技大學(xué)學(xué)報(bào)(自然科學(xué)版),2011,32 (2):32-35.

[7]江夢濤,荊 琦.C語言靜態(tài)代碼分析中的調(diào)用關(guān)系提取方法[J].計(jì)算機(jī)科學(xué),2014,41(z1):442-444.

[8]苗 磊,陳莉君.基于靜態(tài)分析的函數(shù)調(diào)用關(guān)系研究[J].計(jì)算機(jī)與數(shù)字工程,2014,42(9):1653-1656,1728.

[9]莊克良,高云嶺,紀(jì)向尚.嵌入式系統(tǒng)程序調(diào)用關(guān)系分析設(shè)計(jì)方法[J].艦船電子工程,2010,30(10):129-131,149.

[10]嚴(yán) 義,左 鼎.基于關(guān)系矩陣的嵌入式組件裁剪方法[J].計(jì)算機(jī)工程與應(yīng)用,2009,45(24):77-79,90.

[11]蔡 虹,沈 雷,李永紅,等.基于覆蓋測試的嵌入式軟件自動(dòng)裁剪[J].計(jì)算機(jī)工程,2010,36(1):73-75.

[12]Matthys N,Hughes D,Michiels S,et al.Fine-grained tailoring of component behaviour for embedded systems[A].7th IFIP WG 10.2 International Workshop on Software Technologies for Embedded andUbiquitous Systems[C].SEUS2009.Compendex,2009:156-167.

A Tailor Algorithm of Embedded Software Components of Automatic Meteorological Station

Ye Zhen,Mao Zhengchong,Huang Fang

(College of Io T Engineering,Jiangnan University,Wuxi 214122,China)

To solve the problem of big redundancy of embedded software components of automatic meteorological station which goes against remote update under low internet speed environment,proposing a tailor algorithm of embedded software components of automatic meteorological station.Dividing the algorithm into several stages which are pretreatment,construction of function information table,construction of ordered binary tree,state transfer and text pointer skip table,construction of function call tree and tailor of functions and then introducing each stage specifically.Realizing a tailor tool of embedded software according to proposed tailor algorithm and designing a tailor experiment.Analyzing and comparing the volume of components before and after tailor.The experiment shows that the algorithm is able to tailor embedded software components of automatic meteorological station effectively,cut redundant code of components and improve the efficiency of remote update immensely.

embedded software;component;tailor;automatic meteorological station

1671-4598(2016)08-0157-04

10.16526/j.cnki.11-4762/tp.2016.08.042

:TP311

:A

2016-03-04;

:2016-03-29。

江蘇省自然科學(xué)基金(BK20131107)。

葉 臻(1991-),男,江蘇南京人,碩士研究生,主要從事嵌入式軟件構(gòu)件技術(shù)方向的研究。

猜你喜歡
函數(shù)調(diào)用嵌入式軟件鏈表
基于C語言的數(shù)學(xué)菜單的設(shè)計(jì)與實(shí)現(xiàn)
基于二進(jìn)制鏈表的粗糙集屬性約簡
跟麥咭學(xué)編程
實(shí)時(shí)嵌入式軟件的測試技術(shù)
電子測試(2018年10期)2018-06-26 05:54:08
基于鏈表多分支路徑樹的云存儲(chǔ)數(shù)據(jù)完整性驗(yàn)證機(jī)制
基于函數(shù)調(diào)用序列模式和函數(shù)調(diào)用圖的程序缺陷檢測方法*
全景相機(jī)遙控器嵌入式軟件V1.0 相關(guān)操作分析
電子制作(2017年17期)2017-12-18 06:40:56
探討C++編程中避免代碼冗余的技巧
Unity3D項(xiàng)目腳本優(yōu)化分析與研究
中國新通信(2017年1期)2017-03-08 03:12:21
航天嵌入式軟件浮點(diǎn)運(yùn)算誤差分析與控制
莱阳市| 襄汾县| 克什克腾旗| 兰溪市| 龙井市| 广灵县| 南开区| 乳源| 沙雅县| 凯里市| 绥芬河市| 廊坊市| 通榆县| 沅陵县| 名山县| 昭苏县| 南昌市| 忻城县| 盐津县| 措美县| 香河县| 顺昌县| 宜昌市| 舞阳县| 牙克石市| 台州市| 金坛市| 孝义市| 安宁市| 定远县| 利辛县| 临沧市| 五原县| 桑植县| 吴堡县| 原平市| 洛阳市| 柞水县| 家居| 平江县| 铜鼓县|