一種調度方法及裝置的制造方法
【技術領域】
[0001]本發明涉及到計算機程序編譯技術領域,尤其是一種調度方法及裝置。
【背景技術】
[0002]隨著軟件領域的不斷更新和飛速發展,跨語言跨平臺編程的需求也越來越多,因此促進了許多新技術的誕生,JNA即是其中之一。JNA(Java Native Access)框架是一個開源的java框架,建立在JNI (Java Native Interface)基礎之上,提供了 java代碼和其他語言(特別是C/C++)之間的交互和調用。其實現方式為,開發者首先使用java接口來描述目標動態庫的結構和功能,然后動態鏈接的共享庫與應用程序在運行時被綁定,通過動態鏈接器,將動態庫映射進應用程序的可執行內存中,最后在運行應用程序時,動態裝載器將所需的目標動態庫映射到應用程序的內存中。
[0003]圖3為現有技術的一種實施方式示意圖;
[0004]當不使用本發明所示系統時,JNA調用C語言的過程如圖3所示,
[0005]步驟S301:編寫 JAVA 接口 ;
[0006]步驟S302:編譯為中間代碼;
[0007]步驟S303:鏈接動態庫文件;
[0008]步驟S304:運行程序。
[0009]開發者首先用java語言描述本地共享庫的功能和結構,然后在編譯過程中根據符號表中信息鏈接動態庫,最后執行應用程序。
[0010]但是,當本地共享庫由C語言編寫并且程序鏈接了多個動態庫時,如果在這些動態庫中存在同名的函數,那么當程序運行時首先裝載的動態庫會將函數的信息寫入符號表中,由于C語言沒有函數重載的功能,接下來運行的動態庫中該同名函數會指向符號表中記錄的位置,也就是第一個裝載的動態庫中的函數,從而導致程序錯誤,嚴重時導致程序崩潰。
【發明內容】
[0011 ] 為了解決上述問題,本發明提供了
[0012]一種調度方法,所述方法包括:
[0013]將應用程序中劃分為不同的功能模塊,給每一個功能模塊分配唯一的標記信息;
[0014]將所述標記信息添加給與所述功能模塊對應的函數;
[0015]從函數庫中調用所述函數。
[0016]可選地,從函數庫中調用所述函數包括:
[0017]根據所述標記信息調用與所述功能模塊對應的函數。
[0018]可選地,根據所述標記信息調用與所述功能模塊對應的函數,包括:
[0019]將所述函數的函數名和所述標記信息進行匹對,如果完全一致則進行函數調用,否則發出錯誤信息。
[0020]一種調度裝置,包括:所述裝置包括:
[0021]分配標記模塊,用于將應用程序中劃分為不同的功能模塊,給每一個功能模塊分配唯一的標記信息;
[0022]添加標記模塊,用于將所述標記信息添加給與所述功能模塊對應的函數;
[0023]函數調用模塊,用于從函數庫中調用所述函數。
[0024]可選地,其中,函數調用模塊,用于從函數庫中調用所述函數,包括:
[0025]根據所述標記信息調用與所述功能模塊對應的函數。
[0026]可選地,所述函數調用模塊用于根據所述標記信息調用與所述功能模塊對應的函數,包括:將所述函數的函數名和所述標記信息進行匹對,如果完全一致則進行函數調用,否則發出錯誤信息。
[0027]本發明的技術方案,可以達到將功能模塊與被調用函數相互對應的技術效果,簡化了開發過程中不同模塊的開發者之間的交接流程,縮短了開發周期,降低了軟件后期的調試和測試難度,增加了程序的穩定性,具有很高的實用性。
【附圖說明】
[0028]圖1為本發明的一種調度方法的流程圖;
[0029]圖2為本發明的一種調度裝置的結構圖;
[0030]圖3為現有技術的一種實施方式示意圖;
[0031]圖4為本發明的一種實施方式示意圖。
【具體實施方式】
[0032]下面將結合附圖及實施例對本發明的技術方案進行更詳細的說明。
[0033]需要說明的是,如果不沖突,本發明實施例以及實施例中的各個特征可以相互結合,均在本發明的保護范圍之內。另外,雖然在流程圖中示出了邏輯順序,但是在某些情況下,可以以不同于此處的順序執行所示出或描述的步驟。
[0034]一種調度方法,所述方法包括:
[0035]將應用程序中劃分為不同的功能模塊,給每一個功能模塊分配唯一的標記信息;
[0036]將所述標記信息添加給與所述功能模塊對應的函數;
[0037]從函數庫中調用所述函數。
[0038]圖1為本發明的一種調度方法的流程圖;
[0039]步驟SOl:將應用程序中劃分為不同的功能模塊,給每一個功能模塊分配唯一的標記信息;
[0040]步驟S02:將所述標記信息添加給與所述功能模塊對應的函數。
[0041]步驟S03:從函數庫中調用所述函數。
[0042]本發明的技術方案,可以達到將功能模塊與被調用函數相互對應的技術效果,簡化了開發過程中不同模塊的開發者之間的交接流程,縮短了開發周期,降低了軟件后期的調試和測試難度,增加了程序的穩定性,具有很高的實用性。
[0043]可選地,從函數庫中調用所述函數,包括:
[0044]根據所述標記信息調用與所述功能模塊對應的函數。
[0045]可選地,根據所述標記信息調用與所述功能模塊對應的函數,包括:
[0046]將所述函數的函數名和所述標記信息進行匹對,如果完全一致則進行函數調用,否則發出錯誤信息。
[0047]圖2為本發明的一種調度裝置的結構圖;
[0048]一種調度裝置,包括:所述裝置包括:
[0049]分配標記模塊201,用于將應用程序中劃分為不同的功能模塊,給每一個功能模塊分配唯一的標記信息;
[0050]添加標記模塊202,用于將所述標記信息添加給與所述功能模塊對應的函數。
[0051]函數調用模塊203,用于從函數庫中調用所述函數。
[0052]可選地,其中,函數調用模塊,用于從函數庫中調用所述函數,包括:
[0053]根據所述標記信息調用與所述功能模塊對應的函數。
[0054]可選地,所述函數調用模塊203用于根據所述標記信息調用與所述功能模塊對應的函數,包括:將所述函數的函數名和所述標記信息進行匹對,如果完全一致則進行函數調用,否則發出錯誤信息。
[0055]本發明在應用程序和動態庫之間維護一個第三方系統,該系統包括分配標記、添加標記以及函數調用三個模塊組成。分配標記模塊將應用程序中的模塊按功能劃分,并且分配給每一個模塊不同的標記以進行區分,該標記可以是模塊名稱或者模塊序號,但必須是唯一確定并且可擴展的;添