CN102495736A - 一种在可执行文件中标识软件代码svn版本的方法和系统 - Google Patents
一种在可执行文件中标识软件代码svn版本的方法和系统 Download PDFInfo
- Publication number
- CN102495736A CN102495736A CN2011104273536A CN201110427353A CN102495736A CN 102495736 A CN102495736 A CN 102495736A CN 2011104273536 A CN2011104273536 A CN 2011104273536A CN 201110427353 A CN201110427353 A CN 201110427353A CN 102495736 A CN102495736 A CN 102495736A
- Authority
- CN
- China
- Prior art keywords
- svn
- code
- version
- software
- module
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Stored Programmes (AREA)
Abstract
本发明提供一种在可执行文件中标识软件代码svn版本的方法和系统,本发明通过改进发布版本的编译过程,在编译环境配置脚本中自动提取svn中的代码版本号,记录到可执行文件中,通过可执行文件的版本查看命令,可以直接显示代码的svn版本,保证了软件发布版本和代码svn版本的统一。与现有技术性比,本发明的有益效果在于:实现在可执行文件中标识软件代码svn版本的方法,简化了软代码版本管理。
Description
技术领域
本发明属于软件开发领域,具体涉及一种在可执行文件中标识软件代码svn版本的方法和系统。
背景技术
在一般软件的开发、调试、发布一系列过程中,往往会产生很多代码版本,软件的每个发布版本需要对应到svn中的一个代码版本,这样当软件产品出现问题时,开发人员可以方便的定位到对应版本的代码,进行修改。为实现复杂的代码版本管理,软件开发过程中一般使用源代码版本管理系统(svn),每当有新的代码提交到svn中时,svn自动更新代码的版本号,这样每一个代码版本在svn中都对应一个唯一的版本号。
专利号“CN200710147560.X”、发明名称“一种基于软件实名认证的系统及其安全查证方法”公开了一种基于软件实名认证的系统及其安全查证方法,该系统包括为被授权的软件添加软件标识的软件标识器、检验系统中可执行文件的软件标识是否合法的软件认证器,所述的软件标识器和软件认证器保存在计算机磁盘中。该方法主要是在Windows操作系统运行时,加载器会先处理目标文件,在目标文件的处理中,软件实名认证系统的软件认证器打断Windows可执行程序加载流程,从而将控制转交给软件认证器,由软件认证器进行认证检验,最后,通过验证的可执行文件进行安装使用。本发明能阻止未经授权的恶意代码运行,防止恶意代码修改磁盘上已被授权的可执行代码,防止恶意代码修改内存中正在运行的可执行代码,识别个别软件制造商的恶意行为。
专利号“CN200410080701.7”、发明名称“一种升级软件版本的方法”公开了一种升级软件版本的方法,该方法包括:a、将第一版本软件与第二版本软件进行比较,得出版本区别列表,所述版本区别列表至少包括版本升级标识、版本区别位置、需要修改的内容以及结束标识;b、具有第一软件版本的设备,利用所述版本区别列表更新第一版本软件,获得第二版本软件。该方法可以避免下载待升级文件,这对于变化不大的软件版本来说,是一种高效的软件版本升级方式。而且,不需要改变任何现有软件流程和机制,只需要是在手机版本升级软件上稍做修改即可,因此实现简单。
上述技术方案中,在软件产品发布时,为标识发布版本对应的svn代码版本,会在软件中通过一个版本文档或版本变量记录当前代码的svn版本。
对于比较复杂的软件,特别是刚刚发布阶段的软件,往往会有多次频繁的版本更新,上述方法中,版本文档或版本变量由人工维护,版本管理工作繁琐,一旦出现差错,就会导致发布的版本号和svn中的代码版本号不对应,版本混乱。
发明内容
本发明克服现有技术存在的不足,把svn代码版本标识到发布版本的可执行文件中,简化版本管理。
本发明提供了一种在可执行文件中标识软件代码svn版本的方法,包括如下步骤:
(1)初始化代码和外部全局变量,包括编写一个显示所述代码svn版本号的所述工具软件的代码,并打印一个表示所述svn版本的外部全局变量的值;
(2)修改编译环境配置脚本;
(3)配置脚本构造工具软件包含的头文件;
(4)编译工具软件,编译软件发布版本时,把所述工具软件作为发布版本的一个可执行文件编译;
(5)运行工具软件并获取代码svn版本。
本发明提供的在可执行文件中标识软件代码svn版本的方法,步骤(1)中显示所述代码svn版本号的所述工具软件的代码是show_svn.c。
本发明提供的在可执行文件中标识软件代码svn版本的方法,步骤(1)中代码中包含的头文件是“#include svn_ver.h;”。
本发明提供的在可执行文件中标识软件代码svn版本的方法,步骤(1)中打印的表示所述svn版本的外部全局变量的值是“extern int glob_svn;”。
本发明提供的在可执行文件中标识软件代码svn版本的方法,步骤(2)中修改编译环境配置脚本是configure。
本发明提供的在可执行文件中标识软件代码svn版本的方法,步骤(2)中读取软件代码根目录下隐藏的.svn目录中的entries文件,并从中读取软件的代码svn版本号。
本发明提供的在可执行文件中标识软件代码svn版本的方法,步骤(3)中所述工具软件包含的头文件是svn_ver.h。
本发明提供的在可执行文件中标识软件代码svn版本的方法,步骤(3)中用从所述entries文件中读取的代码版本号给头文件中表示代码svn版本号的全局变量赋值。
本发明提供的在可执行文件中标识软件代码svn版本的方法,步骤(3)中全局变量赋值是“int glob_svn=10000;”。
本发明提供的在可执行文件中标识软件代码svn版本的方法,步骤(5)中运行所述发布版本中的所述工具软件,从工具软件打印信息,可以看到发布版本对应的所述代码svn版本。
本发明还提供了一种在可执行文件中标识软件代码svn版本的系统,其包括如下模块:
(1)初始化代码和外部全局变量模块,用于编写一个显示所述代码svn版
本号的所述工具软件的代码,并打印一个表示所述svn版本的外部全局变量的值;
(2)修改编译环境配置脚本模块;
(3)配置脚本构造工具软件包含的头文件模块;
(4)编译工具软件模块,用于编译软件发布版本时,把所述工具软件作为发布版本的一个可执行文件编译;
(5)运行工具软件并获取代码svn版本模块。
本发明提供的在可执行文件中标识软件代码svn版本的系统,其模块(1)中显示所述代码svn版本号的所述工具软件的代码是show_svn.c。
本发明提供的在可执行文件中标识软件代码svn版本的系统,其模块(1)中代码中包含的头文件是“#include svn_ver.h;”。
本发明提供的在可执行文件中标识软件代码svn版本的系统,其模块(1)中打印的表示所述svn版本的外部全局变量的值是“extern int glob_svn;”。
本发明提供的在可执行文件中标识软件代码svn版本的系统,其模块(2)中修改编译环境配置脚本是configure。
本发明提供的在可执行文件中标识软件代码svn版本的系统,其模块(2)中读取软件代码根目录下隐藏的.svn目录中的entries文件,并从中读取软件的代码svn版本号。
本发明提供的在可执行文件中标识软件代码svn版本的系统,其模块(3)中所述工具软件包含的头文件是svn_ver.h。
本发明提供的在可执行文件中标识软件代码svn版本的系统,其模块(3)中用从所述entries文件中读取的代码版本号给头文件中表示代码svn版本号的全局变量赋值。
本发明提供的在可执行文件中标识软件代码svn版本的系统,其模块(3)
中全局变量赋值是“int glob_svn=10000;”。
本发明提供的在可执行文件中标识软件代码svn版本的系统,其模块(5)中运行所述发布版本中的所述工具软件,从工具软件打印信息,可以看到发
布版本对应的所述代码svn版本。
本发明通过改进发布版本的编译过程,在编译环境配置脚本中自动提取svn中的代码版本号,记录到可执行文件中,通过可执行文件的版本查看命令,可以直接显示代码的svn版本,保证了软件发布版本和代码svn版本的统一。
与现有技术性比,本发明的有益效果在于:版本管理工作简单,发布的版本号和svn中的代码版本互相对应,版本清晰。实现在可执行文件中标识软件代码svn版本的方法。
附图说明
图1是本发明的流程示意图。
具体实施方式
图1是本发明的流程示意图,本发明的方法和过程如下:
(1)编写一个显示代码svn版本号的工具软件的代码,如show_svn.c,在代码中包含一个头文件,如“#include svn_ver.h;”,并打印一个表示svn版本的外部全局变量的值,如“extern int glob_svn;”。
(2)修改编译环境配置脚本,如configure,读取软件代码根目录下隐藏的.svn目录中的entries文件,从中读取软件的代码svn版本号。
(3)配置脚本构造工具软件包含的头文件,如svn_ver.h,用从entries文件中读取的代码版本号给头文件中表示代码svn版本号的全局变量赋值,如“intglob_svn=10000;”。
(4)编译软件发布版本时,把工具软件作为发布版本的一个可执行文件编译。
(5)运行发布版本中的工具软件,从工具软件打印信息,可以看到发布版本对应的代码svn版本。
本发明版本管理工作简单,发布的版本号和svn中的代码版本互相对应,版本清晰。实现在可执行文件中标识软件代码svn版本的方法。
以上实施例仅用以说明本发明的技术方案而非对其限制,尽管参照上述实施例对本发明进行了详细的说明,所述领域的普通技术人员应当理解:依然可以对本发明的具体实施方式进行修改或者同等替换,而未脱离本发明精神和范围的任何修改或者等同替换,其均应涵盖在本发明的权利要求范围当中。
Claims (20)
1.一种在可执行文件中标识软件代码svn版本的方法,其特征在于,包括如下步骤:
(1)初始化代码和外部全局变量,包括编写一个显示所述代码svn版本号的所述工具软件的代码,并打印一个表示所述svn版本的外部全局变量的值;
(2)修改编译环境配置脚本;
(3)配置脚本构造工具软件包含的头文件;
(4)编译工具软件,编译软件发布版本时,把所述工具软件作为发布版本的一个可执行文件编译;
(5)运行工具软件并获取代码svn版本。
2.根据权利要求1所述的方法,其特征在于,步骤(1)中显示所述代码svn版本号的所述工具软件的代码是show_svn.c。
3.根据权利要求1-2所述的方法,其特征在于,步骤(1)中代码中包含的头文件是“#include svn_ver.h;”。
4.根据权利要求1-3所述的方法,其特征在于,步骤(1)中打印的表示所述svn版本的外部全局变量的值是“extern int glob_svn;”。
5.根据权利要求1-4所述的方法,其特征在于,步骤(2)中修改编译环境配置脚本是configure。
6.根据权利要求1-5所述的方法,其特征在于,步骤(2)中读取软件代码根目录下隐藏的.svn目录中的entries文件,并从中读取软件的代码svn版本号。
7.根据权利要求1-6所述的方法,其特征在于,步骤(3)中所述工具软件包含的头文件是svn_ver.h。
8.根据权利要求1-7所述的方法,其特征在于,步骤(3)中用从所述entries文件中读取的代码版本号给头文件中表示代码svn版本号的全局变量赋值。
9.根据权利要求1-8所述的方法,其特征在于,步骤(3)中全局变量赋值是“int glob_svn=10000;”。
10.根据权利要求1-9所述的方法,其特征在于,步骤(5)中运行所述发布版本中的所述工具软件,从工具软件打印信息,可以看到发布版本对应的所述代码svn版本。
11.一种在可执行文件中标识软件代码svn版本的系统,其特征在于,包括如下模块:
(1)初始化代码和外部全局变量模块,用于编写一个显示所述代码svn版本号的所述工具软件的代码,并打印一个表示所述svn版本的外部全局变量的值;
(2)修改编译环境配置脚本模块;
(3)配置脚本构造工具软件包含的头文件模块;
(4)编译工具软件模块,用于编译软件发布版本时,把所述工具软件作为发布版本的一个可执行文件编译;
(5)运行工具软件并获取代码svn版本模块。
12.根据权利要求11所述的方法,其特征在于,模块(1)中显示所述代码svn版本号的所述工具软件的代码是show_svn.c。
13.根据权利要求11-12所述的方法,其特征在于,模块(1)中代码中包含的头文件是“#include svn_ver.h;”。
14.根据权利要求11-13所述的方法,其特征在于,模块(1)中打印的表示所述svn版本的外部全局变量的值是“extern int glob_svn;”。
15.根据权利要求11-14所述的方法,其特征在于,模块(2)中修改编译环境配置脚本是configure。
16.根据权利要求11-15所述的方法,其特征在于,模块(2)中读取软件代码根目录下隐藏的.svn目录中的entries文件,并从中读取软件的代码svn版本号。
17.根据权利要求11-16所述的方法,其特征在于,模块(3)中所述工具软件包含的头文件是svn_ver.h。
18.根据权利要求11-17所述的方法,其特征在于,模块(3)中用从所述entries文件中读取的代码版本号给头文件中表示代码svn版本号的全局变量赋值。
19.根据权利要求11-18所述的方法,其特征在于,模块(3)中全局变量赋值是“int glob_svn=10000;”。
20.根据权利要求11-19所述的方法,其特征在于,模块(5)中运行所述发布版本中的所述工具软件,从工具软件打印信息,可以看到发布版本对应的所述代码svn版本。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011104273536A CN102495736A (zh) | 2011-12-19 | 2011-12-19 | 一种在可执行文件中标识软件代码svn版本的方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011104273536A CN102495736A (zh) | 2011-12-19 | 2011-12-19 | 一种在可执行文件中标识软件代码svn版本的方法和系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102495736A true CN102495736A (zh) | 2012-06-13 |
Family
ID=46187564
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2011104273536A Pending CN102495736A (zh) | 2011-12-19 | 2011-12-19 | 一种在可执行文件中标识软件代码svn版本的方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102495736A (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105893260A (zh) * | 2016-03-31 | 2016-08-24 | 上海携程商务有限公司 | 呼叫中心的自动化发布系统和方法 |
CN105955746A (zh) * | 2016-05-06 | 2016-09-21 | 中国银行股份有限公司 | 一种版本管理的方法及装置 |
CN106095523A (zh) * | 2016-06-03 | 2016-11-09 | 北京奇虎科技有限公司 | 一种实现安卓编译隔离的方法和系统 |
CN106649098A (zh) * | 2016-11-04 | 2017-05-10 | 海信集团有限公司 | 在终端设备上实现发布版本软件调试的方法和装置 |
CN108228185A (zh) * | 2017-12-29 | 2018-06-29 | 北京经纬恒润科技有限公司 | 一种嵌入式软件模块化生成方法和装置 |
CN111767075A (zh) * | 2020-06-23 | 2020-10-13 | 北京思特奇信息技术股份有限公司 | 一种应用程序版本同步的方法和装置 |
CN111858359A (zh) * | 2020-07-23 | 2020-10-30 | 珠海豹趣科技有限公司 | 可执行文件的工程代码位置获取方法和装置 |
CN112559035A (zh) * | 2021-01-22 | 2021-03-26 | 支付宝(杭州)信息技术有限公司 | 用于管理代码文本的笔记的方法和装置 |
CN113157312A (zh) * | 2021-04-15 | 2021-07-23 | 山东新一代信息产业技术研究院有限公司 | 应用中查看对应源码所对应的svn版本号的方法 |
CN113220357A (zh) * | 2021-04-15 | 2021-08-06 | 东风电驱动系统有限公司 | 一种适应多功能的软件配置方法及系统 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102053836A (zh) * | 2010-12-31 | 2011-05-11 | 广东欧珀电子工业有限公司 | 一种Android应用开发的版本管理工具的实现方法 |
CN102073512A (zh) * | 2009-11-23 | 2011-05-25 | 阿里巴巴集团控股有限公司 | 一种java集群应用系统代码装载及升级装置和方法 |
-
2011
- 2011-12-19 CN CN2011104273536A patent/CN102495736A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102073512A (zh) * | 2009-11-23 | 2011-05-25 | 阿里巴巴集团控股有限公司 | 一种java集群应用系统代码装载及升级装置和方法 |
CN102053836A (zh) * | 2010-12-31 | 2011-05-11 | 广东欧珀电子工业有限公司 | 一种Android应用开发的版本管理工具的实现方法 |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105893260A (zh) * | 2016-03-31 | 2016-08-24 | 上海携程商务有限公司 | 呼叫中心的自动化发布系统和方法 |
CN105955746B (zh) * | 2016-05-06 | 2019-03-12 | 中国银行股份有限公司 | 一种版本管理的方法及装置 |
CN105955746A (zh) * | 2016-05-06 | 2016-09-21 | 中国银行股份有限公司 | 一种版本管理的方法及装置 |
CN106095523A (zh) * | 2016-06-03 | 2016-11-09 | 北京奇虎科技有限公司 | 一种实现安卓编译隔离的方法和系统 |
CN106649098B (zh) * | 2016-11-04 | 2019-06-04 | 海信集团有限公司 | 在终端设备上实现发布版本软件调试的方法和装置 |
CN106649098A (zh) * | 2016-11-04 | 2017-05-10 | 海信集团有限公司 | 在终端设备上实现发布版本软件调试的方法和装置 |
CN108228185A (zh) * | 2017-12-29 | 2018-06-29 | 北京经纬恒润科技有限公司 | 一种嵌入式软件模块化生成方法和装置 |
CN108228185B (zh) * | 2017-12-29 | 2021-11-23 | 北京经纬恒润科技股份有限公司 | 一种嵌入式软件模块化生成方法和装置 |
CN111767075A (zh) * | 2020-06-23 | 2020-10-13 | 北京思特奇信息技术股份有限公司 | 一种应用程序版本同步的方法和装置 |
CN111858359A (zh) * | 2020-07-23 | 2020-10-30 | 珠海豹趣科技有限公司 | 可执行文件的工程代码位置获取方法和装置 |
CN111858359B (zh) * | 2020-07-23 | 2024-01-30 | 珠海豹趣科技有限公司 | 可执行文件的工程代码位置获取方法和装置 |
CN112559035A (zh) * | 2021-01-22 | 2021-03-26 | 支付宝(杭州)信息技术有限公司 | 用于管理代码文本的笔记的方法和装置 |
CN113157312A (zh) * | 2021-04-15 | 2021-07-23 | 山东新一代信息产业技术研究院有限公司 | 应用中查看对应源码所对应的svn版本号的方法 |
CN113220357A (zh) * | 2021-04-15 | 2021-08-06 | 东风电驱动系统有限公司 | 一种适应多功能的软件配置方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102495736A (zh) | 一种在可执行文件中标识软件代码svn版本的方法和系统 | |
EP3906488B1 (en) | Method and contract rewriting framework system for supporting smart contracts in a blockchain network | |
CN106775723B (zh) | 基于Android平台的系统固件定制的方法和Android设备 | |
CN103955363B (zh) | 一种程序升级安装包的制作方法 | |
CN103744709B (zh) | 补丁加载方法及装置 | |
WO2007109717A3 (en) | Apparatus and method for live loading of version upgrades in a process control environment | |
CN102567049B (zh) | 嵌入式操作系统的升级方法 | |
CN107506219A (zh) | 一种基于Android系统的通用版本升级方法 | |
CN103019722B (zh) | 一种抽取Java网络应用升级包的方法及装置 | |
CN109656608A (zh) | 一种mcu固件升级方法及其相关设备 | |
CN103970559A (zh) | 一种基于Android系统的设备加载方法及装置 | |
CN100492387C (zh) | 基于Keil C51的软件保护开发的方法和系统 | |
CN102902530A (zh) | 一种基于linux嵌入式操作系统的程序校验装置 | |
CN110442371A (zh) | 一种发布代码的方法、装置、介质及计算机设备 | |
CN104407878A (zh) | C6000数字信号处理器在线升级方法 | |
CN105446725A (zh) | 用于模型驱动开发的方法和系统 | |
CN104267981A (zh) | 一种加载桌面上的应用布局的方法及装置 | |
CN103051711B (zh) | 基于spice协议的嵌入式云终端系统的构建方法 | |
US10809988B2 (en) | Processor emulation using multiple translations | |
CN103077062A (zh) | 一种代码改动的检测方法和装置 | |
CN102364433B (zh) | 在ARM处理器上实现Wine构建工具移植的方法 | |
CN104699523A (zh) | 用于硬件平台所开发的应用程序的调试方法和系统 | |
CN105678118B (zh) | 一种含数字证书的软件版本生成方法及装置 | |
CN103645888A (zh) | 一种自动构建操作系统的系统及方法 | |
CN110637521B (zh) | 一种基于模型仿真的数据实时存储方法和系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20120613 |