自动编译方法及系统的制作方法

文档序号:6434545阅读:220来源:国知局
专利名称:自动编译方法及系统的制作方法
技术领域
本发明涉及一种自动编译方法及系统。
背景技术
在Windows操作系统平台下所开发的软件,一般均具有统一与向下兼容的特性; 但是在Linux操作系统平台下,由于各厂商间的兼容性并不是很好,用厂商A编译出来的执 行文档可能无法直接在厂商B的操作系统上直接执行,通常需要将该执行文档的源程序文 档复制到厂商B的系统中,再重新编译。为了节省重复输入编译命令时间,通常开发者会将 编译命令储存成描述档(.sh),当需要重新编译时,直接执行描述档即可;但是为了配合各 类操作系统,开发者必须生成多个描述档,这样容易导致使用与管理上的不便,也影响了开 发时间和开发效率。发明内容
鉴于以上内容,有必要提供一种自动编译方法及系统,通过设定的编译参数,以正 确的命名规则将同一源程序文档自动生成适用于各类操作系统的执行文档。
一种自动编译方法,应用于多个编译计算机中,该方法包括下载步骤当接收到 与编译计算机通讯的源计算机的下载通知时,从源计算机中下载该需要编译的源程序文 档,并将该源程序文档存储于编译计算机的存储装置中;读取步骤从源计算机依次读取 包括编译参数在内的设定文档中的每行代码;生成步骤当读取了设定文档中的第一行代 码时,得到需要生成的执行文档的预设前缀名称,并以该预设前缀名称以及存储装置中的 操作系统资讯生成一个替换字串;处理步骤当读取到编译计算机中的编译程序的名称 时,得到编译程序需要编译的源程序文档的名称,以及编译程序需要生成的执行文档的名 称,该需要生成的执行文档的名称为上述的替换字串;通知步骤根据所得到的编译程序 需要编译的源程序文档的名称以及需要生成的执行文档的名称,通知编译程序从存储装置 中读取并编译所述需要编译的源程序文档,并生成以所述替换字串为名称的执行文档。
一种自动编译系统,运行于多个编译计算机中,该系统包括下载模块,用于当接 收到与编译计算机通讯的源计算机的下载通知时,从源计算机中下载该需要编译的源程序 文档,并将该源程序文档存储于编译计算机的存储装置中;读取模块,用于从源计算机依次 读取包括编译参数在内的设定文档中的每行代码;生成模块,用于当读取了设定文档中的 第一行代码时,得到需要生成的执行文档的预设前缀名称,并以该预设前缀名称以及存储 装置中的操作系统资讯生成一个替换字串;处理模块,用于当读取到编译计算机中的编译 程序的名称时,得到编译程序需要编译的源程序文档的名称,以及编译程序需要生成的执 行文档的名称,该需要生成的执行文档的名称为上述的替换字串;通知模块,用于根据所得 到的编译程序需要编译的源程序文档的名称以及需要生成的执行文档的名称,通知编译计 算机的编译程序从存储装置中读取及编译所述需要编译的源程序文档,并生成以所述替换 字串为名称的执行文档。
相较于现有技术,本发明所述的自动编译方法及系统,通过预先设定的编译参数 以及操作系统不同的各类编译计算机的系统资讯,自动对来源计算机中的源程序文档进行 编译,并针对同一源程序文档产生出适用于各类操作系统可用的的执行文档,且为各类编 译计算机的生成的执行文档生成便于识别的文件名。使开发者不必生成多个描述档来重新 编译,节约了开发时间,也提高了开发效率。


图1是本发明自动编译系统较佳实施例的架构示意图。
图2是本发明自动编译系统较佳实施例的功能模块图。
图3是本发明自动编译方法较佳实施例的流程图。
主要元件符号说明
源计算机I数据库10第一存储装置11编译计算机2无线网络3自动编译系统20编译程序21第二存储装置22下载模块200读取模块202生成模块204处理模块206通知模块208
如下具体实施方式
将结合上述附图进一步说明本发明。
具体实施方式
如图1所示,是本发明自动编译系统较佳实施例的架构示意图。所述的自动编译 系统20运行于多个编译计算机2上。所述的多个编译计算机2通过无线网络3与源计算机 I通讯。所述的源计算机I是提供多个源程序文档的来源计算机。所述的多个编译计算机2的操作系统均不相同,在本较佳实施例中,所述的编译计算机2的操作系统为各类Linux 操作系统。该多个编译计算机2上均安装有编译程序21与第二存储装置22,各编译程序 21将各类源程序文档编译并生成适合各编译计算机2的操作系统能执行的执行文档,该各编译程序21可以有统一的名称,例如gcc。所述的第二存储装置22用于存储各编译计算机 2的操作系统资讯,包括操作系统简称以及操作系统的位数(bit),该操作系统简称是对操作系统的名称与版本号的简称,例如,操作系统名称与版本号为Red Hat 4,操作系统简称为RH4,操作系统的位数为32-bit。
所述的源计算机I包括数据库10和第一存储装置11。所述的数据库10用于存储多个源程序文档,例如main, c文档,func. c文档等。所述的源计算机I可以发送下载通知至各编译计算机2,该下载通知中包括需要编译的源程序文档的名称以及预设路径。
所述的第一存储装置11中存储有可以编辑的设定文档(ag. txt)。该设定文档中用于设定编译参数,包括编译程序21需要生成的执行文档的预设前缀名称、编译程序21的名称以及编译程序21的相关参数。该相关参数包括编译程序21需要编译的源程序文档的名称、编译程序21需要生成的执行文档的预设关键字fname%”。所述的预设前缀名称用于对各编译程序21对同一源程序文档进行编译所生成的执行文档进行统一命名。所述的预设关键字用于表示编译程序21需要生成的执行文档的名称。该设定文档中以行为单位,用户还可以在该设定文档中设置其他各种命令,例如Linuxshell命令。在本较佳实施例中,所述的设定文档中的第一行是编译程序21生成的执行文档的预设前缀名称。
例如,所述的设定文档可以如下所示
“abc
gcc main. c~o% fname% …,,。
“abc”为编译程序21需要生成的执行文档的预设前缀名称;“gcc”为编译程序21 的名称、“main, c”为需要编译的源程序文档,“-o% fname% ”表示编译程序21需要生成的执行文档的名称为“ % fname % ”。
如图2所示,是本发明自动编译系统较佳实施例的功能模块图。所述的自动编译系统20包括下载模块200、读取模块202、生成模块204、处理模块206以及通知模块208。 本发明所称的模块是完成一特定功能的程序段,比程序更适合于描述软件在芯片中的执行过程,因此在本发明以下对软件的描述都以模块来描述。
所述的下载模块200用于当接收到源计算机I的下载通知时,从源计算机I中的数据库10下载该需要编译的源程序文档,并将下载的源程序文档存储于第二存储装置22 中。
所述的读取模块202用于从源计算机I依次读取设定文档中的每行代码。
所述的生成模块204用于当读取模块202读取了设定文档中的第一行代码时,得到编译程序21需要生成的执行文档的预设前缀名称,并以预设前缀名称以及第二存储装置22中的操作系统资讯,生成一个替换字串。该生成模块204以“预设前缀名称_操作系统简称_ 操作系统的位数”作为该替换字串。例如,设定文档中的第一行代码为abc,若第二存储装置22中存储的该编译计算机2的操作系统名称及版本的简称为RH4,操作系统的位数为32-bit,所述的生成模块204生成的替换字串为“abc_RH4_32”。
所述的处理模块206用于当读取模块202读取到编译程序21的名称时,得到该编译程序21需要编译的源程序文档的名称以及得到编译程序21需要生成的执行文档的名 称。其中所述的处理模块206将上述生成的替换字串替换该预设关键字“ % fname%",以 得到编译程序21需要生成的执行文档的名称。若设定文档中还有其他命令,以及读取模块 202还读取到关键字“ % fname%"时,所述的处理模块206同样将上述生成的替换字串替 换该预设关键字。
所述的通知模块208用于根据读取得到的编译程序21需要编译的源程序文档的 名称以及编译程序21需要生成的执行文档的名称,通知编译程序21从第二存储装置22中 读取及编译所述需要编译的源程序文档,并生成以所述替换字串为名称的执行文档。所述 各编译计算机2上的编译程序21生成的执行文档均存储于源计算机I的预设位置处。当 有其他计算机(图中未示出)需要执行源计算机I上的执行文档时,可以根据自身的操作 系统资讯找到对应的执行文档下载并使用。
应说明的是,本发明可以通过不同操作系统的编译计算机2对同一源程序文档进 行编译,并生成对应的执行文档,且上述各编译程序21所生成的执行文档的名称包括各编 译计算机2的操作系统资讯以及预设前缀名称,使用户通过该各执行文档的名称更加方便 地了解该各执行文档适合于哪类操作系统的计算机使用。
如图3所示,是本发明自动编译方法较佳实施例的流程图。
步骤S10,当接收到源计算机I的下载通知时,所述的下载模块200从源计算机I 中的数据库10下载该需要编译的源程序文档,并将下载的源程序文档存储于第二存储装 置22中。
步骤S11,所述的读取模块202从源计算机I依次读取设定文档中的每行代码。
步骤S12,当读取模块202读取设定文档中的第一行代码时,所述的生成模块204 得到编译程序21需要生成的执行文档的预设前缀名称,并以该预设前缀名称以及第二存 储装置22中的操作系统资讯,生成一个替换字串。该生成模块204以预设前缀名称_操作 系统简称_操作系统的位数作为该替换字串。例如,设定文档中的第一行代码为abc,若第 二存储装置22中存储的该编译计算机2的操作系统名称及版本的简称为RH4,操作系统的 位数为32-bit,所述的生成模块204生成的替换字串为“abc_RH4_32”。
步骤S13,当读取模块202读取到编译程序21的名称时,所述的处理模块206得到 该编译程序21需要编译的源程序文档的名称以及所述编译程序21需要生成的执行文档的 名称。其中所述的处理模块206将上述生成的替换字串替换该预设关键字“ % fname%",以 得到编译程序21需要生成的执行文档的名称。应说明的是,若设定文档中还有其他命令, 以及读取模块202还读取到关键字fname%”时,所述的处理模块206同样将上述生成 的替换字串替换该预设关键字。
步骤S14,所述的通知模块208用于根据读取得到的编译程序21需要编译的源程 序文档的名称以及编译程序21需要生成的执行文档的名称,通知编译程序21从第二存储 装置22中读取及编译所述需要编译的源程序文档,并生成以所述替换字串为名称的执行 文档。所述生成的执行文档均存储于源计算机I的预设位置处。当有用户计算机(图中未 示出)需要执行源计算机I上的执行文档时,可以根据自身的操作系统资讯找到对应的执 行文档下载并使用。
最后应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明, 本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或等同替换,而不脱离本发明技术方案的精神和范围。
权利要求
1.一种自动编译方法,应用于编译计算机中,其特征在于,该方法包括下载步骤当接收到与编译计算机通讯的源计算机的下载通知时,从源计算机中下载该需要编译的源程序文档,将该源程序文档存储于该编译计算机的存储装置中;读取步骤从源计算机依次读取包括编译参数在内的设定文档中的每行代码;生成步骤当读取了设定文档中的第一行代码时,得到需要生成的执行文档的预设前缀名称,并以该预设前缀名称以及存储装置中的操作系统资讯生成一个替换字串;处理步骤当读取到设定文档中的编译计算机的编译程序的名称时,得到编译程序需要编译的源程序文档的名称,以及编译程序需要生成的执行文档的名称,该需要生成的执行文档的名称为上述的替换字串;通知步骤根据所得到的编译程序需要编译的源程序文档的名称以及需要生成的执行文档的名称,通知所述的编译程序从存储装置中读取及编译所述需要编译的源程序文档,并生成以所述替换字串为名称的执行文档。
2.如权利要求1所述的自动编译方法,其特征在于,所述的设定文档中的编译参数包括编译程序生成的执行文档的预设前缀名称、编译程序的名称以及编译程序的相关参数,该相关参数包括编译程序需要编译的源程序文档的名称,以及编译程序需要生成的执行文档的预设关键字。
3.如权利要求2所述的自动编译方法,其特征在于,所述的处理步骤中还包括当读取到编译程序需要生成的执行文档的预设关键字时,均采用上述生成的替换字串替换该预设关键字。
4.如权利要求3所述的自动编译方法,其特征在于,所述的操作系统资讯包括操作系统简称与操作系统的位数,以及所述的生成步骤中生成的替换字串的格式为“预设前缀名称_操作系统简称_操作系统的位数”。
5.如权利要求1所述的自动编译方法,其特征在于,所述的编译程序用于将源程序文档编译并生成该编译计算机的操作系统能执行的执行文档,以及将生成的执行文档存储于源计算机的预设位置处,提供给有需要的用户计算机下载并使用。
6.一种自动编译系统,运行于编译计算机中,其特征在于,该系统包括下载模块,用于当接收到与编译计算机通讯的源计算机的下载通知时,从源计算机中下载该需要编译的源程序文档,并将该源程序文档存储于该编译计算机的存储装置中;读取模块,用于从源计算机依次读取包括编译参数在内的设定文档中的每行代码;生成模块,用于当读取了设定文档中的第一行代码时,得到需要生成的执行文档的预设前缀名称,并以该预设前缀名称以及存储装置中的操作系统资讯生成一个替换字串;处理模块,用于当读取到编译计算机中的编译程序的名称时,得到编译程序需要编译的源程序文档的名称以及编译程序需要生成的执行文档的名称,该需要生成的执行文档的名称为上述的替换字串;通知模块,用于根据所得到的编译程序需要编译的源程序文档的名称以及需要生成的执行文档的名称,通知所述的编译程序从存储装置中读取及编译所述需要编译的源程序文档,并生成以所述替换字串为名称的执行文档。
7.如权利要求6所述的自动编译系统,其特征在于,所述的设定文档中的编译参数包括编译程序生成的执行文档的预设前缀名称、编译程序的名称以及编译程序的相关参数,该相关参数包括编译程序需要编译的源程序文档的名称,以及编译程序需要生成的执行文档的预设关键字。
8.如权利要求7所述的自动编译系统,其特征在于,所述的处理模块还用于当读取到编译程序需要生成的执行文档的预设关键字时,均采用上述生成的替换字串替换该预设关键字。
9.如权利要求8所述的自动编译系统,其特征在于,所述的操作系统资讯包括操作系统简称与操作系统的位数,以及所述的生成模块所生成的替换字串的格式为“预设前缀名称_操作系统简称操_作系统的位数”。
10.如权利要求6所述的自动编译系统,其特征在于,所述的编译程序用于将源程序文档编译并生成该编译计算机的操作系统能执行的执行文档,以及将生成的执行文档存储于源计算机的预设位置处,提供给有需要的用户计算机下载并使用。
全文摘要
一种自动编译方法及系统,该方法包括从源计算机中下载并存储需要编译的源程序文档;从源计算机依次读取包括编译参数的设定文档中的每行代码;当读取到第一行代码时,得到需要生成的执行文档的预设前缀名称,以该预设前缀名称以及预存的操作系统资讯生成一个替换字串;当读取到编译程序的名称时,读取得到需要编译的源程序文档的名称以及需要生成的执行文档的名称,该需要生成的执行文档的名称为上述的替换字串;通知编译程序对需要编译的源程序文档进行编译并生成以所述替换字串为名称的执行文档。利用本发明可以自动进行编译并生成便于识别的执行文档。
文档编号G06F9/45GK103034522SQ20111029639
公开日2013年4月10日 申请日期2011年10月7日 优先权日2011年10月7日
发明者蔡英川 申请人:鸿富锦精密工业(深圳)有限公司, 鸿海精密工业股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1