自动编译方法及系统技术方案

技术编号:8562878 阅读:135 留言:0更新日期:2013-04-11 04:30
一种自动编译方法及系统,该方法包括:从源计算机中下载并存储需要编译的源程序文档;从源计算机依次读取包括编译参数的设定文档中的每行代码;当读取到第一行代码时,得到需要生成的执行文档的预设前缀名称,以该预设前缀名称以及预存的操作系统资讯生成一个替换字串;当读取到编译程序的名称时,读取得到需要编译的源程序文档的名称以及需要生成的执行文档的名称,该需要生成的执行文档的名称为上述的替换字串;通知编译程序对需要编译的源程序文档进行编译并生成以所述替换字串为名称的执行文档。利用本发明专利技术可以自动进行编译并生成便于识别的执行文档。

【技术实现步骤摘要】

本专利技术涉及一种自动编译方法及系统
技术介绍
在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生成的执行文档的预设前缀名称。例如,所述的设定文档可以如下所示“abcgcc 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生成的本文档来自技高网...

【技术保护点】
一种自动编译方法,应用于编译计算机中,其特征在于,该方法包括:下载步骤:当接收到与编译计算机通讯的源计算机的下载通知时,从源计算机中下载该需要编译的源程序文档,将该源程序文档存储于该编译计算机的存储装置中;读取步骤:从源计算机依次读取包括编译参数在内的设定文档中的每行代码;生成步骤:当读取了设定文档中的第一行代码时,得到需要生成的执行文档的预设前缀名称,并以该预设前缀名称以及存储装置中的操作系统资讯生成一个替换字串;处理步骤:当读取到设定文档中的编译计算机的编译程序的名称时,得到编译程序需要编译的源程序文档的名称,以及编译程序需要生成的执行文档的名称,该需要生成的执行文档的名称为上述的替换字串;通知步骤:根据所得到的编译程序需要编译的源程序文档的名称以及需要生成的执行文档的名称,通知所述的编译程序从存储装置中读取及编译所述需要编译的源程序文档,并生成以所述替换字串为名称的执行文档。

【技术特征摘要】
1.一种自动编译方法,应用于编译计算机中,其特征在于,该方法包括下载步骤当接收到与编译计算机通讯的源计算机的下载通知时,从源计算机中下载该需要编译的源程序文档,将该源程序文档存储于该编译计算机的存储装置中;读取步骤从源计算机依次读取包括编译参数在内的设定文档中的每行代码;生成步骤当读取了设定文档中的第一行代码时,得到需要生成的执行文档的预设前缀名称,并以该预设前缀名称以及存储装置中的操作系统资讯生成一个替换字串;处理步骤当读取到设定文档中的编译计算机的编译程序的名称时,得到编译程序需要编译的源程序文档的名称,以及编译程序需要生成的执行文档的名称,该需要生成的执行文档的名称为上述的替换字串;通知步骤根据所得到的编译程序需要编译的源程序文档的名称以及需要生成的执行文档的名称,通知所述的编译程序从存储装置中读取及编译所述需要编译的源程序文档,并生成以所述替换字串为名称的执行文档。2.如权利要求1所述的自动编译方法,其特征在于,所述的设定文档中的编译参数包括编译程序生成的执行文档的预设前缀名称、编译程序的名称以及编译程序的相关参数,该相关参数包括编译程序需要编译的源程序文档的名称,以及编译程序需要生成的执行文档的预设关键字。3.如权利要求2所述的自动编译方法,其特征在于,所述的处理步骤中还包括当读取到编译程序需要生成的执行文档的预设关键字时,均采用上述生成的替换字串替换该预设关键字。4.如权利要求3所述的自动编译方法,其特征在于,所述的操作系统资讯包括操作系统简称与操作系统的位数,以及所述的生成步骤中生成的替换字串的格式为“预设前缀名称_操作系统简称_操作系统的位数”。5.如权利要求1所述的自动编译方法,其特征在于,所述的编译程序用于将源程序文档编译并生成该编译计算机的操作系统能执行的执行文档,以及将生成的执行文档存储于源计算机的预设位置处,提供给有需要的用户计算机下载并使用。6.一种自...

【专利技术属性】
技术研发人员:蔡英川
申请(专利权)人:鸿富锦精密工业深圳有限公司鸿海精密工业股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1