新四季網

一種程序編譯的預處理方法及程序編譯設備與流程

2023-05-29 02:36:56


本發明涉及信息處理技術領域,特別涉及一種程序編譯的預處理方法及程序編譯設備。



背景技術:

目前在編寫終端設備所執行的應用程式時,一般都會先基於一定的程式語言(比如objective-c等)編寫應用程式的原始碼,然後再將原始碼轉化為終端設備的可執行文件,最後對該可執行文件進行測試。

其中,在將原始碼轉化為可執行文件的過程中,可以通過編譯器(比如xcode編譯器)先得到原始碼的抽象語法樹(abstractsyntaxtree,ast)文本,然後再根據ast文件得到可執行文件。而在對可執行文件進行測試時,可以通過測試系統測試目標程序的各個功能模塊運行的正確與否。



技術實現要素:

本發明實施例提供一種程序編譯的預處理方法及程序編譯設備,實現了在程序編譯設備對目標程序進行編譯的過程中獲取目標程序的各個函數的相關信息。

本發明實施例提供一種程序編譯的預處理方法,應用於程序編譯設備,所述方法包括:

所述程序編譯設備在啟動對目標程序的編譯時,調用預處理模塊;

所述預處理模塊獲取目標程序的原始碼文件中各個函數的相關信息,其中,某一函數的相關信息包括:所述某一函數的引用函數的信息;

所述預處理模塊將所述各個函數的相關信息輸出給所述程序編譯設備,且將所述各個函數的相關信息儲存到資料庫,以便數據分析系統根據所述資料庫中儲存的各個函數的引用函數的信息確定所述目標程序的函數調用鏈;

所述程序編譯設備將所述各個函數的相關信息寫入到所述目標程序的編譯日誌中。

本發明實施例還提供一種程序編譯設備,包括預處理模塊,調用單元,編譯單元和日誌單元,其中:

所述調用單元,用於在啟動所述編譯單元時,調用預處理模塊;

所述預處理模塊,用於獲取目標程序的原始碼文件中各個函數的相關信息,將所述各個函數的相關信息輸出給所述日誌單元,且將所述各個函數的相關信息儲存到資料庫,以便數據分析系統根據所述資料庫中儲存的各個函數的引用函數的信息確定所述目標程序的函數調用鏈,其中,某一函數的相關信息包括:所述某一函數的引用函數的信息;

所述日誌單元,用於將所述各個函數的相關信息寫入到所述目標程序的編譯日誌中;

所述編譯單元,用於對所述目標程序的原始碼文件進行編譯。

可見,在本實施例的方法中,在程序編譯設備添加了預處理模塊,當程序編譯設備在啟動對目標程序的編譯時,調用預處理模塊以獲取目標程序的原始碼文件中各個函數的引用函數的信息並輸出給程序編譯設備,由程序編譯設備將各個函數的相關信息寫入到目標程序的編譯日誌中;且預處理模塊還會將各個函數的相關信息儲存到資料庫中。這樣如果將一個目標程序修改為另一目標程序,則數據分析系統可以根據資料庫中儲存的另一目標程序的各個函數的引用函數的信息確定另一目標程序的函數調用鏈,進而得知一個目標程序與另一目標程序的差別函數的調用鏈,使得測試系統在對另一目標程序進行測試時,可以集中關注差別函數的相關調用函數,快速將測試問題進行定位。可見,本實施例的方法為測試系統提供了真實可靠的變動範圍,讓有限的系統測試資源更加集中的注入到相關變動的部分,提高了測試效率。

附圖說明

為了更清楚地說明本發明實施例或現有技術中的技術方案,下面將對實施例或現有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發明的一些實施例,對於本領域普通技術人員來講,在不付出創造性勞動性的前提下,還可以根據這些附圖獲得其他的附圖。

圖1是本發明實施例中程序編譯的預處理方法應用於的場景的示意圖;

圖2是本發明實施例提供的一種程序編譯的預處理方法的流程圖;

圖3是本發明實施例中程序編譯設備添加預處理模塊的方法流程圖;

圖4是本發明應用實施例中程序編譯的預處理方法應用於的場景的示意圖;

圖5是本發明應用實施例中xcode編譯器添加clang插件的方法流程圖;

圖6是本發明應用實施例中提供的xcode編譯器調用clang插件進行預處理的方法流程圖;

圖7是本發明實施例提供的一種程序編譯設備的結構示意圖;

圖8是本發明實施例提供的另一種程序編譯設備的結構示意圖;

圖9是本發明實施例提供的一種終端設備程序的結構示意圖。

具體實施方式

下面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發明一部分實施例,而不是全部的實施例。基於本發明中的實施例,本領域普通技術人員在沒有作出創造性勞動前提下所獲得的所有其他實施例,都屬於本發明保護的範圍。

本發明的說明書和權利要求書及上述附圖中的術語「第一」、「第二」、「第三」「第四」等(如果存在)是用於區別類似的對象,而不必用於描述特定的順序或先後次序。應該理解這樣使用的數據在適當情況下可以互換,以便這裡描述的本發明的實施例例如能夠以除了在這裡圖示或描述的那些以外的順序實施。此外,術語「包括」和「具有」以及他們的任何變形,意圖在於覆蓋不排它的包含,例如,包含了一系列步驟或單元的過程、方法、系統、產品或設備不必限於清楚地列出的那些步驟或單元,而是可包括沒有清楚地列出的或對於這些過程、方法、產品或設備固有的其它步驟或單元。

本發明實施例提供的程序編譯的預處理方法可以應用於程序編譯設備對目標程序進行編譯的場景中,具體應用於如圖1所示的場景中,在該場景中包括程序編譯設備,資料庫,預處理模塊和數據分析系統,在發明實施例中,程序編譯設備可以在啟動對目標程序的編譯時,調用預處理模塊,由預處理模塊獲取目標程序的原始碼文件中各個函數的相關信息並將各個函數的相關信息傳輸給程序編譯設備,由程序編譯設備將各個函數的相關信息寫入到目標程序的編譯日誌中;且預處理模塊還會將各個函數的相關信息儲存到資料庫中,其中,某一函數的相關信息包括:該函數的引用函數的信息。這樣如果將一個目標程序修改為另一目標程序,則數據分析系統可以根據資料庫中儲存的另一目標程序的各個函數的引用函數的信息確定另一目標程序的函數調用鏈,進而得知一個目標程序與另一目標程序的差別函數的調用鏈,使得測試系統在對另一目標程序進行測試時,可以集中關注差別函數的相關調用函數,快速將測試問題進行定位。其中,程序編譯設備可以是xcode等形式的編譯器,預處理模塊可以clang插件,clang是一個c語言、c++、objective-c、objective-c++語言的輕量級編譯器,通過clang插件可以獲取目標程序的原始碼文件中各個函數的相關信息。

本發明一個實施例提供一種程序編譯的預處理方法,主要是程序編譯設備所執行的方法,流程圖如圖2所示,包括:

步驟101,程序編譯設備在啟動對目標程序的編譯時,調用預處理模塊。

可以理解,在本實施例中,用戶可以通過程序編譯設備提供的接口(比如用戶自定義接口)將預處理模塊添加到程序編譯設備中,這樣,當程序編譯設備在啟動對目標程序的編譯時,調用預處理模塊。

且程序編譯設備對目標程序的編譯流程與預處理模塊運行的流程之間互不幹擾,一般情況下,程序編譯設備對目標程序的編譯是指將目標程序的原始碼文件編譯成用戶終端的可執行文件的流程,而預處理模塊運行的流程即為下述步驟102和103中的流程。

步驟102,預處理模塊獲取目標程序的原始碼文件中各個函數的相關信息,其中,某一函數的相關信息包括:該函數的引用函數的信息,比如引用函數的名稱等信息,這裡引用函數可以為一個或多個。

可以理解,一個目標程序可以有多個功能模塊,這些功能模塊的原始碼可以分別通過不同的原始碼文件儲存,一個或多個功能模塊的原始碼可以用一個原始碼文件儲存,則一個目標程序可以對應多個原始碼文件。其中,如果某一原始碼文件中包含了另一原始碼文件,說明這兩個原始碼文件對應的功能模塊之間具有包含關係。在本實施例中預處理模塊獲取的某一函數的相關信息中還可以包括該函數所在的原始碼文件的文件路徑,即原始碼文件在程序編譯設備的磁碟中的存儲位置或路徑等信息。

具體地,預處理模塊在獲取各個函數的引用函數的信息時,可以遍歷目標程序的原始碼文件中的每個函數定義,訪問每個函數定義的內部信息,該內部信息中可以包括引用函數的信息;分別解析每個函數定義的內部信息中引用函數的信息得到各個函數的引用函數的信息。

其中,在訪問某一函數定義的內部信息時,可以通過astvisitor函數進行訪問,在解析某一函數定義的內部信息時,可以通過calleevisitor函數進行解析。

步驟103,預處理模塊將各個函數的相關信息輸出給程序編譯設備,且將各個函數的相關信息儲存到資料庫中,以便數據分析系統根據資料庫中儲存的各個函數的引用函數的信息確定目標程序的函數調用鏈。

具體地,預處理模塊可以根據各個函數的相關信息生成中間文件(比如txt文本形式的文件),再將中間文件儲存到資料庫中。且預處理模塊可以直接將各個函數的相關信息輸出給程序編譯設備,也可以將上述生成的中間文件傳輸給程序編譯設備。

步驟104,程序編譯設備將各個函數的相關信息寫入到目標程序的編譯日誌中。

程序編譯設備可以直接將預處理模塊輸出的各個函數的相關信息直接列印到編譯日誌中,也可以將預處理模塊輸出的中間文件儲存為編譯日誌。

其中,編譯日誌中一般包括程序編譯設備運行編譯流程的過程中得到的編譯信息,在本實施例中該編譯日誌還可以包括各個函數的相關信息。

需要說明的是,如果用戶需要對目標程序進行調試時,可以通過操作程序編譯設備,以觸發上述步驟101到104的流程,比如用戶可以在程序編譯設備提供的界面輸入一行命令以啟動程序編譯設備對目標程序進行編譯,進而觸發了上述步驟101到104。

這樣每次調試結束後,預處理模塊都會向資料庫儲存由目標程序的各個函數的相關信息組成的中間文件,如果對目標程序進行多次調試,資料庫中就會儲存有多份目標程序的中間文件,這樣資料庫就會冗餘。為了解決這個問題,用戶可以在進行一次調試後,操作程序編譯設備,以清空資料庫,比如在程序編譯設備提供的界面輸入另一行命令。

可見,在本實施例的方法中,在程序編譯設備添加了預處理模塊,當程序編譯設備在啟動對目標程序的編譯時,調用預處理模塊以獲取目標程序的原始碼文件中各個函數的引用函數的信息並輸出給程序編譯設備,由程序編譯設備將各個函數的相關信息寫入到目標程序的編譯日誌中;且預處理模塊還會將各個函數的相關信息儲存到資料庫中。這樣如果將一個目標程序修改為另一目標程序,則數據分析系統可以根據資料庫中儲存的另一目標程序的各個函數的引用函數的信息確定另一目標程序的函數調用鏈,進而得知一個目標程序與另一目標程序的差別函數的調用鏈,使得測試系統在對另一目標程序進行測試時,可以集中關注差別函數的相關調用函數,快速將測試問題進行定位。可見,本實施例的方法為測試系統提供了真實可靠的變動範圍,讓有限的系統測試資源更加集中的注入到相關變動的部分,提高了測試效率。

在一個具體的實施例中,當預處理模塊將目標程序的各個函數的相關信息儲存到資料庫後,數據分析系統可以根據各個函數的相關信息確定目標程序的函數調用鏈。

這裡,函數調用鏈是指各個函數之間相互調用的關係信息,比如函數a調用函數b,而函數b又調用函數c,則函數a,b和c之間的調用關係就構成了一條函數調用鏈。數據分析系統在確定函數調用鏈時,可以將一個函數的引用函數確定為該函數的調用函數,這樣遍歷每個函數的引用函數的信息,即可得到各個函數之間的調用關係,即函數調用鏈。

進一步地,如果該目標程序的原始碼文件是在另一個目標程序的原始碼文件的基礎上修改得到的,則數據分析系統還可以獲取該目標程序與另一目標程序之間的差別函數,並從上述確定的函數調用鏈中查找到差別函數的調用鏈。其中,在獲取該目標程序與另一目標程序之間的差別函數時,可以由數據分析系統直接獲取,或數據分析系統從另一個獨立的功能設備獲取到,該功能設備主要是獲取目標程序的原始碼文件在更新過程中所更新的函數的信息。

在另一個具體的實施例中,預處理模塊在執行上述步驟102時,獲取的各個函數的相關信息中還可以包括對應函數所在的原始碼文件的文件路徑。

進一步地,當預處理模塊將各個函數的相關信息以文本形式輸出到資料庫後,數據分析系統還可以根據各個函數所在的原始碼文件的文件路徑分別確定各個函數對應的目標程序的功能模塊,並儲存各個函數對應的功能模塊的信息。

具體地,由於一個原始碼文件中儲存著一個或多個功能模塊的原始碼,則數據分析系統根據原始碼文件的文件路徑就可以確定該原始碼文件所對應的功能模塊的信息,進而確定該原始碼文件中各個函數對應的功能模塊的信息。數據分析系統最終確定的一個函數可以對應一個或多個功能模塊。例如某個函數的原始碼文件的文件路徑為/a/b,則程序編譯設備確定該函數對應的功能模塊為:原始碼文件a對應的功能模塊下的原始碼文件b對應的功能子模塊。

進一步地,如果該目標程序的原始碼文件是在另一個目標程序的原始碼文件的基礎上修改得到的,則數據分析系統還可以確定該目標程序與另一目標程序之間的差別函數對應的功能模塊。進而使得測試系統可以針對性地對相關的功能模塊進行測試,避免了盲目進行測試,從而提高了測試效率。

在其它具體的實施例中,為了實現上述實施例中的方法,程序編譯設備可以提供用戶接口以添加上述預處理模塊。具體可以通過如下步驟實現,流程圖如圖3所示,包括:

步驟201,顯示設置界面,在設置界面模塊添加接口。

可以理解,用戶可以操作程序編譯設備,使得程序編譯設備顯示設置界面,本實施例中,在設置界面上可以包括模塊添加接口,該模塊添加接口用於添加任一模塊以實現某種功能。

步驟202,從模塊添加接口獲取用戶輸入的信息,該用戶輸入的信息包括:預處理模塊的代碼文件的存儲路徑,及預處理模塊與程序編譯設備之間的接口信息。

其中,預處理模塊的代碼文件的存儲路徑是指該預處理模塊的代碼文件在程序編譯設備中儲存的路徑信息。如果程序編譯設備有外接的存儲設備,則該存儲路徑還可以是預處理模塊的代碼文件在外接的存儲設備中儲存的路徑信息。

預處理模塊與程序編譯設備之間的接口信息可以包括:程序編譯設備開始調用預處理模塊的接口信息,及預處理模塊輸出信息到程序編譯設備的接口信息。

例如程序編譯設備在啟動對目標程序的編譯時,調用預處理模塊,具體地,程序編譯設備開始調用預處理模塊的接口為:程序編譯設備在執行某一行啟動代碼之後開始調用預處理模塊;且預處理模塊在得到各個函數的相關信息後輸出給程序編譯設備中日誌模塊,該日誌模塊主要用來得到目標程序的編譯日誌,具體地,預處理模塊輸出信息給程序編譯設備的接口為:程序編譯設備中日誌模塊的輸入接口。

步驟203,儲存上述用戶輸入的信息。

本實施例中,程序編譯設備在執行上述步驟101時,具體是根據該接口信息調用存儲路徑中儲存的預處理模塊的代碼文件。

以下以一個具體的實施例來說明本發明實施例的方法,本實施例的方法應用的場景可以如圖4所示,在本實施例中,程序編譯設備為xcode編譯器,該xcode編譯器包括編譯模塊和日誌模塊,其中,編譯模塊用於運行對目標程序的編譯流程,日誌模塊用於形成目標程序的編譯日誌;預處理模塊為clang插件。

具體參考圖5和圖6所示,本實施例的方法包括:

(1)在xcode編譯器中添加clang插件

步驟301,xcode編譯器顯示設置界面,在設置界面中包括模塊添加接口,具體可以為用戶自定義(user-defined)接口。

步驟302,用戶在用戶自定義接口輸入clang插件的代碼文件的存儲路徑,比如,存儲路徑為/users/sanren/clang-llvm/build/bin/clang;且用戶還需要在用戶自定義接口輸入其它參數信息,比如clang插件與xcode編譯器之間的接口信息,比如,xcode編譯器開始調用clang插件的接口為xcode編譯器在執行某一行啟動代碼之後,clang插件輸出信息到xcode編譯器的接口為日誌模塊的輸入接口等。xcode編譯器會儲存從用戶自定義接口獲取的用戶輸入信息。

(2)在xcode編譯器啟動時調用clang插件

步驟303,用戶通過xcode編譯器提供的編譯接口,輸入一行命令,使得xcode編譯器啟動編譯模塊對一目標程序的編譯流程。在本實施例中,目標程序可以為騰訊即時通信程序,或是獨立版手機空間,或是騰訊音樂等應用程式。

步驟304,xcode編譯器在啟動編譯模塊時調用clang插件,這樣clang插件會遍歷目標程序的原始碼文件中的每個函數定義,訪問每個函數定義的內部信息,解析內部信息得到每個函數的引用函數的信息;clang插件還會獲取各個函數所在原始碼文件的文件路徑等。

而編譯模塊主要是將目標程序的原始碼文件編譯成可執行文件。

步驟305,clang插件會將獲取的每個函數的相關信息輸出給xcode編譯器的日誌模塊,日誌模塊將每個函數的相關信息寫入到目標程序的編譯日誌中。任一函數的相關信息包括:該函數的引用函數的信息,及該函數所在原始碼文件的文件路徑等信息。

需要說明的是,xcode編譯器的日誌模塊還可以記錄編譯模塊對目標程序進行編譯過程中的信息。

步驟306,clang插件將獲取的每個函數的相關信息以文本形式儲存到資料庫。

步驟307,數據分析系統會根據資料庫中儲存的每個函數的相關信息中每個函數的引用函數的信息確定目標程序的函數調用鏈,根據每個函數所在原始碼文件的文件路徑確定每個函數對應的目標程序的功能模塊。

另外,如果該目標程序是在另一目標程序的基礎上修改得到的,數據分析系統還會執行如下步驟308。

步驟308,數據分析系統獲取該目標程序與另一目標程序之間的差別函數,然後從上述步驟307中得到的函數調用鏈中查找差別函數的調用鏈,並查找到調用鏈上各個函數對應的功能模塊的信息。且數據分析系統可以將查找到的函數調用鏈及對應的功能模塊的信息顯示到用戶界面,以供用戶查看。

例如,函數名為:spritenetreqcenter::-gettaskandremoveouttimewithurl的差別函數,對應的功能模塊包括:業務-增值-可視網頁(webview),基礎-組件,及基礎-多功能一體(allinone,aio)。這樣,測試系統可以針對性地對這些功能模塊進行功能測試,避免了盲目的測試,提高了測試效率。

本發明實施例還提供一種程序編譯設備,其結構示意圖如圖7所示,具體可以包括:預處理模塊10,調用單元11,日誌單元12和編譯單元13,其中:

所述調用單元11,用於在啟動所述編譯單元13時,調用預處理模塊10;

所述預處理模塊10,用於獲取目標程序的原始碼文件中各個函數的相關信息,將所述各個函數的相關信息輸出給所述日誌單元12,且將所述各個函數的相關信息儲存到資料庫,以便數據分析系統根據所述資料庫中儲存的各個函數的引用函數的信息確定所述目標程序的函數調用鏈,其中,某一函數的相關信息包括:所述某一函數的引用函數的信息。

該預處理模塊10,具體用於遍歷所述目標程序的原始碼文件中的每個函數定義,訪問每個函數定義的內部信息,所述內部信息中包括引用函數的信息;分別解析所述每個函數定義的內部信息中所述引用函數的信息得到各個函數的引用函數的信息。

所述日誌單元12,用於將所述預處理模塊10輸出的各個函數的相關信息寫入到所述目標程序的編譯日誌中;

所述編譯單元13,用於對所述目標程序的原始碼文件進行編譯。

可見,在本實施例的程序編譯設備中添加了預處理模塊,當程序編譯設備在啟動編譯單元13時,調用單元11調用預處理模塊10以獲取目標程序的原始碼文件中各個函數的引用函數的信息並輸出給程序編譯設備的日誌單元12,由程序編譯設備的日誌單元12將各個函數的相關信息寫入到目標程序的編譯日誌中;且預處理模塊10還會將各個函數的相關信息儲存到資料庫中。這樣如果將一個目標程序修改為另一目標程序,則數據分析系統可以根據資料庫中儲存的另一目標程序的各個函數的引用函數的信息確定另一目標程序的函數調用鏈,進而得知一個目標程序與另一目標程序的差別函數的調用鏈,使得測試系統在對另一目標程序進行測試時,可以集中關注差別函數的相關調用函數,快速將測試問題進行定位。可見,本實施例的程序編譯設備為測試系統提供了真實可靠的變動範圍,讓有限的系統測試資源更加集中的注入到相關變動的部分,提高了測試效率。

參考圖8所示,在一個具體的實施例中,程序編譯設備除了可以包括如圖7所示的結構外,還可以包括:界面顯示單元14和儲存單元15,其中:

界面顯示單元14,用於顯示設置界面,所述設置界面模塊添加接口;

儲存單元15,用於從所述界面顯示單元14顯示的模塊添加接口獲取用戶輸入的信息,所述用戶輸入的信息包括所述預處理模塊的代碼文件的存儲路徑,及所述預處理模塊與所述程序編譯設備之間的接口信息;儲存所述用戶輸入的信息;這樣所述調用單元11,具體用於根據所述儲存單元14儲存的接口信息調用所述存儲路徑中儲存的預處理模塊的代碼文件。

其中,所述預處理模塊與所述程序編譯設備之間的接口信息,具體包括:所述程序編譯設備開始調用所述預處理模塊的接口信息,及所述預處理模塊輸出信息到所述程序編譯設備的接口信息。

本發明實施例還提供一種終端設備,其結構示意圖如圖9所示,該終端設備可因配置或性能不同而產生比較大的差異,可以包括一個或一個以上中央處理器(centralprocessingunits,cpu)20(例如,一個或一個以上處理器)和存儲器21,一個或一個以上存儲應用程式221或數據222的存儲介質22(例如一個或一個以上海量存儲設備)。其中,存儲器21和存儲介質22可以是短暫存儲或持久存儲。存儲在存儲介質22的程序可以包括一個或一個以上模塊(圖示沒標出),每個模塊可以包括對終端設備中的一系列指令操作。更進一步地,中央處理器20可以設置為與存儲介質22通信,在終端設備上執行存儲介質22中的一系列指令操作。

具體地,在存儲介質22中儲存的應用程式221包括程序編譯的預處理應用程式,且該程序可以包括上述程序編輯設備中的預處理模塊10,調用單元11,日誌單元12,編譯單元13,界面顯示單元14及儲存單元15,在此不進行贅述。更進一步地,中央處理器20可以設置為與存儲介質22通信,在終端設備上執行存儲介質22中儲存的程序編譯的預處理應用程式對應的一系列操作。

終端設備還可以包括一個或一個以上電源23,一個或一個以上有線或無線網絡接口24,一個或一個以上輸入輸出接口25,和/或,一個或一個以上作業系統223,例如windowsservertm,macosxtm,unixtm,linuxtm,freebsdtm等等。

上述方法實施例中所述的由程序編譯設備所執行的步驟可以基於該圖9所示的終端設備的結構。

本領域普通技術人員可以理解上述實施例的各種方法中的全部或部分步驟是可以通過程序來指令相關的硬體來完成,該程序可以存儲於一計算機可讀存儲介質中,存儲介質可以包括:只讀存儲器(rom)、隨機存取存儲器ram)、磁碟或光碟等。

以上對本發明實施例所提供的程序編譯的預處理方法及程序編譯設備進行了詳細介紹,本文中應用了具體個例對本發明的原理及實施方式進行了闡述,以上實施例的說明只是用於幫助理解本發明的方法及其核心思想;同時,對於本領域的一般技術人員,依據本發明的思想,在具體實施方式及應用範圍上均會有改變之處,綜上所述,本說明書內容不應理解為對本發明的限制。

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀