欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種跨平臺轉(zhuǎn)換應(yīng)用代碼的方法及裝置制造方法

文檔序號:6506591閱讀:299來源:國知局
一種跨平臺轉(zhuǎn)換應(yīng)用代碼的方法及裝置制造方法
【專利摘要】本發(fā)明公開了一種跨平臺轉(zhuǎn)換應(yīng)用代碼的方法及裝置,屬于計算機(jī)【技術(shù)領(lǐng)域】。所述方法包括:獲取待轉(zhuǎn)換的第一平臺的應(yīng)用的第一代碼的語義規(guī)則以及常量和變量信息;根據(jù)語義規(guī)則以及常量和變量信息,生成第二平臺的應(yīng)用的第二代碼;根據(jù)第二代碼,編譯生成第二平臺的應(yīng)用的可執(zhí)行文件。本發(fā)明實現(xiàn)了不改變應(yīng)用邏輯的方式下,提高了生成不同的平臺下相同應(yīng)用的速度,提高了開發(fā)應(yīng)用的效率。
【專利說明】一種跨平臺轉(zhuǎn)換應(yīng)用代碼的方法及裝置

【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及計算機(jī)【技術(shù)領(lǐng)域】,特別涉及一種跨平臺轉(zhuǎn)換應(yīng)用代碼的方法及裝置。

【背景技術(shù)】
[0002]隨著應(yīng)用技術(shù)的發(fā)展,同一個應(yīng)用會根據(jù)需求發(fā)布不同平臺的版本,以供使用不同平臺的用戶可以獲得該應(yīng)用的服務(wù)。例如,某款游戲會發(fā)布PC (Personal Computer,個人計算機(jī))端的版本、安卓平臺的版本、1S平臺的版本,以供使用PC或移動終端的用戶進(jìn)行游戲。
[0003]現(xiàn)有技術(shù)中,對于同一個應(yīng)用生成各個平臺的版本的方式為:根據(jù)各個平臺所對應(yīng)的應(yīng)用的代碼類型,分別進(jìn)行各個平臺的應(yīng)用的編寫,之后再對代碼進(jìn)行編譯以生成對應(yīng)平臺的版本的應(yīng)用。例如:基于Win32環(huán)境下開發(fā)了一款C++的客戶端游戲,如果需要開發(fā)該游戲的瀏覽器Flash版本,則需要將該游戲通過Act1nScript動作腳本語言重新編寫一遍,并根據(jù)該代碼編譯生成swf格式的Flash文件。
[0004]在實現(xiàn)本發(fā)明的過程中,發(fā)明人發(fā)現(xiàn)現(xiàn)有技術(shù)至少存在以下問題:
[0005]由于編寫不同平臺對應(yīng)的同一個應(yīng)用時,需要通過不同的代碼類型進(jìn)行重復(fù)的編寫,因此這個過程會消耗更多的時間,影響應(yīng)用的開發(fā)進(jìn)度。


【發(fā)明內(nèi)容】

[0006]為了解決現(xiàn)有技術(shù)的問題,本發(fā)明實施例提供了一種跨平臺轉(zhuǎn)換應(yīng)用代碼的方法及裝置。所述技術(shù)方案如下:
[0007]—方面,提供了一種跨平臺轉(zhuǎn)換應(yīng)用代碼的方法,所述方法包括:
[0008]獲取待轉(zhuǎn)換的第一平臺的應(yīng)用的第一代碼的語義規(guī)則以及常量和變量信息;
[0009]根據(jù)所述語義規(guī)則以及常量和變量信息,生成第二平臺的應(yīng)用的第二代碼;
[0010]根據(jù)所述第二代碼,編譯生成所述第二平臺的應(yīng)用的可執(zhí)行文件。
[0011]另一方面,提供了一種跨平臺轉(zhuǎn)換應(yīng)用代碼的裝置,所述裝置包括:
[0012]第一獲取模塊,用于獲取待轉(zhuǎn)換的第一平臺的應(yīng)用的第一代碼的語義規(guī)則以及常量和變量信息;
[0013]生成模塊,用于根據(jù)所述語義規(guī)則以及常量和變量信息,生成第二平臺的應(yīng)用的第二代碼;
[0014]編譯模塊,用于根據(jù)所述第二代碼,編譯生成所述第二平臺的應(yīng)用的可執(zhí)行文件。
[0015]本發(fā)明實施例提供的技術(shù)方案帶來的有益效果是:
[0016]通過獲取第一平臺的應(yīng)用的第一代碼中的語義規(guī)則,以及其中的常量和變量信息,并根據(jù)預(yù)先設(shè)置的第一代碼的語義規(guī)則的類型對應(yīng)的轉(zhuǎn)換關(guān)系,對第一代碼的語義規(guī)則進(jìn)行轉(zhuǎn)換,并根據(jù)轉(zhuǎn)換后的代碼以及常量和變量信息,生成第二平臺的第二代碼,再對第二代碼進(jìn)行編譯生成第二平臺的應(yīng)用。實現(xiàn)了不改變應(yīng)用邏輯的方式下,提高了生成不同的平臺下相同應(yīng)用的速度,提高了開發(fā)應(yīng)用的效率。

【專利附圖】

【附圖說明】
[0017]為了更清楚地說明本發(fā)明實施例中的技術(shù)方案,下面將對實施例描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0018]圖1是本發(fā)明實施例一提供的跨平臺轉(zhuǎn)換應(yīng)用代碼的方法流程圖;
[0019]圖2是本發(fā)明實施例二提供的跨平臺轉(zhuǎn)換應(yīng)用代碼的方法流程圖;
[0020]圖3是本發(fā)明實施例三提供的跨平臺轉(zhuǎn)換應(yīng)用代碼的裝置結(jié)構(gòu)示意圖。

【具體實施方式】
[0021]為使本發(fā)明的目的、技術(shù)方案和優(yōu)點更加清楚,下面將結(jié)合附圖對本發(fā)明實施方式作進(jìn)一步地詳細(xì)描述。
[0022]實施例一
[0023]本發(fā)明實施例提供了一種跨平臺轉(zhuǎn)換應(yīng)用代碼的方法,參見圖1。
[0024]101:獲取待轉(zhuǎn)換的第一平臺的應(yīng)用的第一代碼的語義規(guī)則以及常量和變量信息;
[0025]102:根據(jù)所述語義規(guī)則以及常量和變量信息,生成第二平臺的應(yīng)用的第二代碼;
[0026]103:根據(jù)所述第二代碼,編譯生成所述第二平臺的應(yīng)用的可執(zhí)行文件。
[0027]本發(fā)明實施例通過獲取第一平臺的應(yīng)用的第一代碼中的語義規(guī)則,以及其中的常量和變量信息,并根據(jù)預(yù)先設(shè)置的第一代碼的語義規(guī)則的類型對應(yīng)的轉(zhuǎn)換關(guān)系,對第一代碼的語義規(guī)則進(jìn)行轉(zhuǎn)換,并根據(jù)轉(zhuǎn)換后的代碼以及常量和變量信息,生成第二平臺的第二代碼,再對第二代碼進(jìn)行編譯生成第二平臺的應(yīng)用。實現(xiàn)了不改變應(yīng)用邏輯的方式下,提高了生成不同的平臺下相同應(yīng)用的速度,提高了開發(fā)應(yīng)用的效率。
[0028]實施例二
[0029]本發(fā)明實施例提供了一種跨平臺轉(zhuǎn)換應(yīng)用代碼的方法,參見圖2。
[0030]需要說明的是,本發(fā)明實施例以第一平臺的應(yīng)用為PC端的Win32平臺,通過C++語言編寫的應(yīng)用,第二平臺的應(yīng)用為PC端的瀏覽器平臺,通過Act1nScript動作腳本語言編寫的應(yīng)用。
[0031]其中,該跨平臺轉(zhuǎn)換應(yīng)用代碼的方法流程包括:
[0032]201:獲取待轉(zhuǎn)換的第一平臺的應(yīng)用的文件路徑信息。
[0033]在得到第一平臺的應(yīng)用的代碼之前,需要對當(dāng)前進(jìn)行應(yīng)用代碼轉(zhuǎn)換的過程進(jìn)行設(shè)置。其中,至少需要設(shè)置第一平臺的應(yīng)用的項目源代碼的文件路徑信息,根據(jù)該文件路徑信息,會獲取到保存有代碼的該應(yīng)用的源代碼文件。
[0034]進(jìn)一步的,還可以包括對轉(zhuǎn)換后生成的第二平臺的應(yīng)用的文件名;還可以包括編譯過程中所需的第一平臺的應(yīng)用的資源文件的路徑信息,例如:圖片、視頻、聲音文件的路徑信息;還可以包括項目源代碼的文件路徑的查找方式,例如:是否進(jìn)行遞歸查找,即在給出文件路徑信息后,是否對其中包含的更深層的文件路徑進(jìn)行查找;還可以包括第一平臺的應(yīng)用的文件代碼中所涉及的頭文件的文件路徑信息。
[0035]202:根據(jù)所述文件路徑信息獲取保存有所述第一平臺的應(yīng)用的代碼的文件。
[0036]其中,文件路徑信息中可以包含一個或多個文件的文件路徑信息,因此根據(jù)文件路徑信息中包含的一個或多個文件的文件路徑信息,按照該文件路徑信息獲取到的順序依次獲取保存有第一平臺的應(yīng)用的代碼的文件。
[0037]203:按照所述文件路徑信息中文件的獲取順序,依次獲取所述第一平臺的應(yīng)用的代碼的文件中的第一代碼。
[0038]204:獲取待轉(zhuǎn)換的第一平臺的應(yīng)用的第一代碼的語義規(guī)則以及常量和變量信息。
[0039]其中,第一代碼的語義規(guī)則為兩種:
[0040]第一種為第一代碼的語法規(guī)則。
[0041]例如:代碼為A+B=C,則該語法規(guī)則為賦值語句,其中A和B可以為變量或者常量;或者,語法規(guī)則為循環(huán)操作等語法規(guī)則。
[0042]預(yù)先保存不同平臺之間對應(yīng)的代碼的語法規(guī)則之間的對應(yīng)關(guān)系,即在本發(fā)明實施例中預(yù)先保存C++代碼與Act1nScript代碼的語法規(guī)則之間的對應(yīng)關(guān)系。由于應(yīng)用在不同平臺之間的應(yīng)用邏輯是相同的,因此通過上述對應(yīng)關(guān)系,并將常量和變量添加如轉(zhuǎn)換后的第二代碼的語法規(guī)則中,即可進(jìn)行代碼之間的語法規(guī)則的轉(zhuǎn)換。
[0043]第二種為第一代碼的預(yù)設(shè)函數(shù)。
[0044]具體的,預(yù)先保存不同平臺之間各個功能函數(shù)之間的對應(yīng)關(guān)系,即在本發(fā)明實施例中預(yù)先保存C++與Act1nScript之間功能函數(shù)的對應(yīng)關(guān)系。在獲取到的代碼中,依次將C++代碼中的每一個功能函數(shù)在功能函數(shù)的對應(yīng)關(guān)系中進(jìn)行查詢,并依次得到每一個C++功能函數(shù)對應(yīng)的Act1nScript功能函數(shù)。
[0045]其中,本發(fā)明實施例中涉及到的各種功能函數(shù)主要由應(yīng)用層、渲染接口、網(wǎng)絡(luò)接口層、系統(tǒng)接口層、事件接口層、聲音接口層以及平臺接口層等幾部分組成。
[0046]其中,渲染接口層:渲染相關(guān)接口功能函數(shù)直接使用相應(yīng)Flash功能實現(xiàn),例如:C++中的drawBitmap功能函數(shù)對應(yīng)到Act1nScript中的Bitmap功能函數(shù)、C++中的drawText功能函數(shù)對應(yīng)到Act1nScript中的TextField功能函數(shù),C++中的drawRect/drawLine等功能函數(shù)對應(yīng)到Act1nScript中的Graphic功能函數(shù)。
[0047]其中,系統(tǒng)接口層:系統(tǒng)接口功能函數(shù)包括ufo_system_common.h、ufo_system_u1.h、ufo_system_common.h主要包括一些時間接口功能函數(shù),可對應(yīng)Act1nScript中的時間功能實現(xiàn);目錄接口功能函數(shù),可對應(yīng)到實現(xiàn)本發(fā)明實施例中進(jìn)行代碼轉(zhuǎn)換的工具中提供的VFS (Virtual File System,虛擬文件系統(tǒng))來模擬本地目錄,保存一些配置數(shù)據(jù)。ufo_system_u1.h主要包含文本編輯框、內(nèi)置瀏覽框等,編輯框?qū)?yīng)的功能函數(shù)可對應(yīng)到Act1nScript 中的 TextField 功能函數(shù)。
[0048]其中,事件接口層:事件接口功能函數(shù)主要包括ufoOnTouchDown()、ufoOnTouchUp O、ufoOnTouchMove O、UfoOnKeyDown O、UfoOnKeyUp O ,可對應(yīng)到Act1nScript中的鼠標(biāo)鍵盤事件功能函數(shù)。
[0049]平臺接口層:實現(xiàn)了上述接口,即可將整個Flash平臺接口層編譯為庫文件,后續(xù)應(yīng)用項目需鏈接即可。
[0050]另外,應(yīng)用公共模塊包括了閃屏、登錄、設(shè)置等功能,各應(yīng)用可直接使用,目前該模塊中的功能函數(shù)已被編譯為對應(yīng)的Act1nScript功能函數(shù)。
[0051]進(jìn)一步的,網(wǎng)絡(luò)接口層:網(wǎng)絡(luò)是用Socket實現(xiàn)的,Flash的Socket功能是異步的,同時又有安全域問題,目前實現(xiàn)跨域訪問的方式為新建立一個代理服務(wù)器,通過接收Flash應(yīng)用中發(fā)出的網(wǎng)絡(luò)通信的請求,并進(jìn)行轉(zhuǎn)發(fā)該請求,當(dāng)有數(shù)據(jù)回饋時,將該數(shù)據(jù)回饋通過代理服務(wù)器轉(zhuǎn)發(fā)給發(fā)送該網(wǎng)絡(luò)通信請求的Flash應(yīng)用。因此,將原有的C++對應(yīng)的網(wǎng)絡(luò)通信函數(shù)中的目的地址修改為預(yù)設(shè)的代理服務(wù)器的地址,并將C++對應(yīng)的網(wǎng)絡(luò)通信函數(shù)中的目的地址作為轉(zhuǎn)發(fā)目的地址參數(shù)設(shè)置在Act1nScript對應(yīng)的網(wǎng)絡(luò)通信函數(shù)中,使得Flash應(yīng)用在發(fā)送Act1nScript對應(yīng)的網(wǎng)絡(luò)通信函數(shù)進(jìn)行網(wǎng)絡(luò)通信請求時,代理服務(wù)器根據(jù)該轉(zhuǎn)發(fā)目的地址參數(shù)對該網(wǎng)絡(luò)通信請求進(jìn)行轉(zhuǎn)發(fā)。因此,對于網(wǎng)絡(luò)通信函數(shù)的轉(zhuǎn)換過程如下:
[0052]當(dāng)所述預(yù)設(shè)函數(shù)為網(wǎng)絡(luò)通信函數(shù)時,根據(jù)預(yù)設(shè)函數(shù)與中間函數(shù)的對應(yīng)關(guān)系,確定所述網(wǎng)絡(luò)通信函數(shù)對應(yīng)的中間函數(shù);
[0053]將預(yù)設(shè)的代理服務(wù)器的地址作為所述網(wǎng)絡(luò)通信函數(shù)對應(yīng)的中間函數(shù)中的目的地址,并將所述網(wǎng)絡(luò)通信函數(shù)中的目的地址作為所述網(wǎng)絡(luò)通信函數(shù)對應(yīng)的中間函數(shù)中的轉(zhuǎn)發(fā)目的地址參數(shù)。
[0054]因此,步驟204中獲取待轉(zhuǎn)換的第一平臺的應(yīng)用的第一代碼的語義規(guī)則以及常量和變量信息的過程具體為:
[0055]2041:當(dāng)所述語義規(guī)則屬于所述第一代碼的語法規(guī)則時,根據(jù)第一代碼的語法規(guī)則和第二代碼的語法規(guī)則之間的對應(yīng)關(guān)系,確定所述語義規(guī)則對應(yīng)的第二代碼的語法規(guī)則。
[0056]2042:當(dāng)所述語義規(guī)則屬于第一代碼的預(yù)設(shè)函數(shù)時,根據(jù)第一代碼的預(yù)設(shè)函數(shù)與第二代碼的預(yù)設(shè)函數(shù)之間的對應(yīng)關(guān)系,確定所述語義規(guī)則對應(yīng)的第二代碼的預(yù)設(shè)函數(shù)。
[0057]其中,查找到對應(yīng)的第二代碼的預(yù)設(shè)函數(shù)后,將原有的常量和變量信息,添加入第二代碼的預(yù)設(shè)函數(shù)中對應(yīng)的位置。
[0058]其中,當(dāng)?shù)谝淮鷨岬念A(yù)設(shè)函數(shù)為網(wǎng)絡(luò)通信函數(shù)時,本步驟可以具體為:
[0059]當(dāng)所述第一代碼的預(yù)設(shè)函數(shù)為網(wǎng)絡(luò)通信函數(shù)時,根據(jù)第一代碼的預(yù)設(shè)函數(shù)與第二代碼的預(yù)設(shè)函數(shù)之間的對應(yīng)關(guān)系,確定所述網(wǎng)絡(luò)通信函數(shù)對應(yīng)的第二代碼的預(yù)設(shè)函數(shù);
[0060]將預(yù)設(shè)的代理服務(wù)器的地址作為所述網(wǎng)絡(luò)通信函數(shù)對應(yīng)的第二代碼的預(yù)設(shè)函數(shù)中的目的地址,并將所述網(wǎng)絡(luò)通信函數(shù)中的目的地址作為所述網(wǎng)絡(luò)通信函數(shù)對應(yīng)的第二代碼的預(yù)設(shè)函數(shù)中的轉(zhuǎn)發(fā)目的地址參數(shù)。
[0061]2043:根據(jù)所述第二代碼的語法規(guī)則和/或所述第二代碼的預(yù)設(shè)函數(shù),以及所述常量和變量信息,生成第二平臺的應(yīng)用的第二代碼。
[0062]205:根據(jù)所述第二代碼,編譯生成所述第二平臺的應(yīng)用的可執(zhí)行文件。
[0063]得到了該第二平臺的應(yīng)用的Act1nScript中間代碼和中間函數(shù)后,進(jìn)行編譯,生成對應(yīng)的Flash的swf可執(zhí)行文件,此過程即完成了從第一平臺的應(yīng)用轉(zhuǎn)換為第二平臺的應(yīng)用的過程。
[0064]本發(fā)明實施例通過獲取第一平臺的應(yīng)用的第一代碼中的語義規(guī)則,以及其中的常量和變量信息,并根據(jù)預(yù)先設(shè)置的第一代碼的語義規(guī)則的類型對應(yīng)的轉(zhuǎn)換關(guān)系,對第一代碼的語義規(guī)則進(jìn)行轉(zhuǎn)換,并根據(jù)轉(zhuǎn)換后的代碼以及常量和變量信息,生成第二平臺的第二代碼,再對第二代碼進(jìn)行編譯生成第二平臺的應(yīng)用。實現(xiàn)了不改變應(yīng)用邏輯的方式下,提高了生成不同的平臺下相同應(yīng)用的速度,提高了開發(fā)應(yīng)用的效率。
[0065]實施例三
[0066]本發(fā)明實施例提供了一種跨平臺轉(zhuǎn)換應(yīng)用代碼的,參見圖3,該裝置包括:
[0067]第一獲取模塊301,用于獲取待轉(zhuǎn)換的第一平臺的應(yīng)用的第一代碼的語義規(guī)則以及常量和變量信息;
[0068]生成模塊302,用于根據(jù)所述語義規(guī)則以及常量和變量信息,生成第二平臺的應(yīng)用的第二代碼;
[0069]編譯模塊303,用于根據(jù)所述第二代碼,編譯生成所述第二平臺的應(yīng)用的可執(zhí)行文件。
[0070]其中,所述生成模塊302,包括:
[0071]第一確定單元,用于當(dāng)所述語義規(guī)則屬于所述第一代碼的語法規(guī)則時,根據(jù)第一代碼的語法規(guī)則和第二代碼的語法規(guī)則之間的對應(yīng)關(guān)系,確定所述語義規(guī)則對應(yīng)的第二代碼的語法規(guī)則;
[0072]第二確定單元,用于當(dāng)所述語義規(guī)則屬于第一代碼的預(yù)設(shè)函數(shù)時,根據(jù)第一代碼的預(yù)設(shè)函數(shù)與第二代碼的預(yù)設(shè)函數(shù)之間的對應(yīng)關(guān)系,確定所述語義規(guī)則對應(yīng)的第二代碼的預(yù)設(shè)函數(shù);
[0073]生成單元,用于根據(jù)所述第二代碼的語法規(guī)則和/或所述第二代碼的預(yù)設(shè)函數(shù),以及所述常量和變量信息,生成第二平臺的應(yīng)用的第二代碼。
[0074]其中,,所述第二確定單元,包括:
[0075]確定子單元,用于當(dāng)所述第一代碼的預(yù)設(shè)函數(shù)為網(wǎng)絡(luò)通信函數(shù)時,根據(jù)第一代碼的預(yù)設(shè)函數(shù)與第二代碼的預(yù)設(shè)函數(shù)之間的對應(yīng)關(guān)系,確定所述網(wǎng)絡(luò)通信函數(shù)對應(yīng)的第二代碼的預(yù)設(shè)函數(shù);
[0076]處理子單元,用于將預(yù)設(shè)的代理服務(wù)器的地址作為所述網(wǎng)絡(luò)通信函數(shù)對應(yīng)的第二代碼的預(yù)設(shè)函數(shù)中的目的地址,并將所述網(wǎng)絡(luò)通信函數(shù)中的目的地址作為所述網(wǎng)絡(luò)通信函數(shù)對應(yīng)的第二代碼的預(yù)設(shè)函數(shù)中的轉(zhuǎn)發(fā)目的地址參數(shù)。
[0077]其中,所述裝置還包括:
[0078]第二獲取模塊304,用于獲取待轉(zhuǎn)換的第一平臺的應(yīng)用的文件路徑信息;
[0079]第三獲取模塊305,用于根據(jù)所述文件路徑信息獲取保存有所述第一平臺的應(yīng)用的代碼的文件;
[0080]第四獲取模塊306,用于按照所述文件路徑信息中文件的獲取順序,依次獲取所述第一平臺的應(yīng)用的代碼的文件中的第一代碼。
[0081]本發(fā)明實施例通過獲取第一平臺的應(yīng)用的第一代碼中的語義規(guī)則,以及其中的常量和變量信息,并根據(jù)預(yù)先設(shè)置的第一代碼的語義規(guī)則的類型對應(yīng)的轉(zhuǎn)換關(guān)系,對第一代碼的語義規(guī)則進(jìn)行轉(zhuǎn)換,并根據(jù)轉(zhuǎn)換后的代碼以及常量和變量信息,生成第二平臺的第二代碼,再對第二代碼進(jìn)行編譯生成第二平臺的應(yīng)用。實現(xiàn)了不改變應(yīng)用邏輯的方式下,提高了生成不同的平臺下相同應(yīng)用的速度,提高了開發(fā)應(yīng)用的效率。
[0082]上述本發(fā)明實施例序號僅僅為了描述,不代表實施例的優(yōu)劣。
[0083]本領(lǐng)域普通技術(shù)人員可以理解實現(xiàn)上述實施例的全部或部分步驟可以通過硬件來完成,也可以通過程序來指令相關(guān)的硬件完成,所述的程序可以存儲于一種計算機(jī)可讀存儲介質(zhì)中,上述提到的存儲介質(zhì)可以是只讀存儲器,磁盤或光盤等。
[0084]以上所述僅為本發(fā)明的較佳實施例,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
【權(quán)利要求】
1.一種跨平臺轉(zhuǎn)換應(yīng)用代碼的方法,其特征在于,所述方法包括: 獲取待轉(zhuǎn)換的第一平臺的應(yīng)用的第一代碼的語義規(guī)則以及常量和變量信息; 根據(jù)所述語義規(guī)則以及常量和變量信息,生成第二平臺的應(yīng)用的第二代碼; 根據(jù)所述第二代碼,編譯生成所述第二平臺的應(yīng)用的可執(zhí)行文件。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述根據(jù)所述語義規(guī)則以及常量和變量信息,生成第二平臺的應(yīng)用的第二代碼,包括: 當(dāng)所述語義規(guī)則屬于所述第一代碼的語法規(guī)則時,根據(jù)第一代碼的語法規(guī)則和第二代碼的語法規(guī)則之間的對應(yīng)關(guān)系,確定所述語義規(guī)則對應(yīng)的第二代碼的語法規(guī)則; 當(dāng)所述語義規(guī)則屬于第一代碼的預(yù)設(shè)函數(shù)時,根據(jù)第一代碼的預(yù)設(shè)函數(shù)與第二代碼的預(yù)設(shè)函數(shù)之間的對應(yīng)關(guān)系,確定所述語義規(guī)則對應(yīng)的第二代碼的預(yù)設(shè)函數(shù); 根據(jù)所述第二代碼的語法規(guī)則和/或所述第二代碼的預(yù)設(shè)函數(shù),以及所述常量和變量信息,生成第二平臺的應(yīng)用的第二代碼。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述根據(jù)第一代碼的預(yù)設(shè)函數(shù)與第二代碼的預(yù)設(shè)函數(shù)之間的對應(yīng)關(guān)系,確定所述語義規(guī)則對應(yīng)的第二代碼的預(yù)設(shè)函數(shù),包括: 當(dāng)所述第一代碼的預(yù)設(shè)函數(shù)為網(wǎng)絡(luò)通信函數(shù)時,根據(jù)第一代碼的預(yù)設(shè)函數(shù)與第二代碼的預(yù)設(shè)函數(shù)之間的對應(yīng)關(guān)系,確定所述網(wǎng)絡(luò)通信函數(shù)對應(yīng)的第二代碼的預(yù)設(shè)函數(shù); 將預(yù)設(shè)的代理服務(wù)器的地址作為所述網(wǎng)絡(luò)通信函數(shù)對應(yīng)的第二代碼的預(yù)設(shè)函數(shù)中的目的地址,并將所述網(wǎng)絡(luò)通信函數(shù)中的目的地址作為所述網(wǎng)絡(luò)通信函數(shù)對應(yīng)的第二代碼的預(yù)設(shè)函數(shù)中的轉(zhuǎn)發(fā)目的地址參數(shù)。
4.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述獲取待轉(zhuǎn)換的第一平臺的應(yīng)用的第一代碼的語義規(guī)則以及常量和變量信息之前,所述方法還包括: 獲取待轉(zhuǎn)換的第一平臺的應(yīng)用的文件路徑信息; 根據(jù)所述文件路徑信息獲取保存有所述第一平臺的應(yīng)用的代碼的文件; 按照所述文件路徑信息中文件的獲取順序,依次獲取所述第一平臺的應(yīng)用的代碼的文件中的第一代碼。
5.一種跨平臺轉(zhuǎn)換應(yīng)用代碼的裝置,其特征在于,所述裝置包括: 第一獲取模塊,用于獲取待轉(zhuǎn)換的第一平臺的應(yīng)用的第一代碼的語義規(guī)則以及常量和變量信息; 生成模塊,用于根據(jù)所述語義規(guī)則以及常量和變量信息,生成第二平臺的應(yīng)用的第二代碼; 編譯模塊,用于根據(jù)所述第二代碼,編譯生成所述第二平臺的應(yīng)用的可執(zhí)行文件。
6.根據(jù)權(quán)利要求5所述的裝置,其特征在于,所述生成模塊,包括: 第一確定單元,用于當(dāng)所述語義規(guī)則屬于所述第一代碼的語法規(guī)則時,根據(jù)第一代碼的語法規(guī)則和第二代碼的語法規(guī)則之間的對應(yīng)關(guān)系,確定所述語義規(guī)則對應(yīng)的第二代碼的語法規(guī)則; 第二確定單元,用于當(dāng)所述語義規(guī)則屬于第一代碼的預(yù)設(shè)函數(shù)時,根據(jù)第一代碼的預(yù)設(shè)函數(shù)與第二代碼的預(yù)設(shè)函數(shù)之間的對應(yīng)關(guān)系,確定所述語義規(guī)則對應(yīng)的第二代碼的預(yù)設(shè)函數(shù); 生成單元,用于根據(jù)所述第二代碼的語法規(guī)則和/或所述第二代碼的預(yù)設(shè)函數(shù),以及所述常量和變量信息,生成第二平臺的應(yīng)用的第二代碼。
7.根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述第二確定單元,包括: 確定子單元,用于當(dāng)所述第一代碼的預(yù)設(shè)函數(shù)為網(wǎng)絡(luò)通信函數(shù)時,根據(jù)第一代碼的預(yù)設(shè)函數(shù)與第二代碼的預(yù)設(shè)函數(shù)之間的對應(yīng)關(guān)系,確定所述網(wǎng)絡(luò)通信函數(shù)對應(yīng)的第二代碼的預(yù)設(shè)函數(shù); 處理子單元,用于將預(yù)設(shè)的代理服務(wù)器的地址作為所述網(wǎng)絡(luò)通信函數(shù)對應(yīng)的第二代碼的預(yù)設(shè)函數(shù)中的目的地址,并將所述網(wǎng)絡(luò)通信函數(shù)中的目的地址作為所述網(wǎng)絡(luò)通信函數(shù)對應(yīng)的第二代碼的預(yù)設(shè)函數(shù)中的轉(zhuǎn)發(fā)目的地址參數(shù)。
8.根據(jù)權(quán)利要求5所述的裝置,其特征在于,所述裝置還包括: 第二獲取模塊,用于獲取待轉(zhuǎn)換的第一平臺的應(yīng)用的文件路徑信息; 第三獲取模塊,用于根據(jù)所述文件路徑信息獲取保存有所述第一平臺的應(yīng)用的代碼的文件; 第四獲取模塊,用于按照所述文件路徑信息中文件的獲取順序,依次獲取所述第一平臺的應(yīng)用的代碼的文件中的第一代碼。
【文檔編號】G06F9/44GK104346146SQ201310323033
【公開日】2015年2月11日 申請日期:2013年7月29日 優(yōu)先權(quán)日:2013年7月29日
【發(fā)明者】馬亮, 黃桂山, 羅春華, 賀志強(qiáng) 申請人:騰訊科技(深圳)有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
纳雍县| 房产| 牙克石市| 英德市| 宁波市| 长治市| 舞阳县| 融水| 平谷区| 陆川县| 武山县| 扎囊县| 新巴尔虎左旗| 镶黄旗| 西华县| 呼图壁县| 武宣县| 长治市| 称多县| 达日县| 沛县| 阳江市| 天长市| 霍邱县| 济源市| 汽车| 竹山县| 石楼县| 白朗县| 通城县| 阿拉善右旗| 金华市| 五华县| 新巴尔虎左旗| 巫溪县| 崇义县| 若羌县| 三亚市| 石家庄市| 通榆县| 休宁县|