CN102495736A - 一种在可执行文件中标识软件代码svn版本的方法和系统 - Google Patents

一种在可执行文件中标识软件代码svn版本的方法和系统 Download PDF

Info

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
Application number
CN2011104273536A
Other languages
English (en)
Inventor
刘朝辉
刘灿
李锋伟
姬乃军
邵宗有
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Dawning Information Industry Beijing Co Ltd
Original Assignee
Dawning Information Industry Beijing Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Dawning Information Industry Beijing Co Ltd filed Critical Dawning Information Industry Beijing Co Ltd
Priority to CN2011104273536A priority Critical patent/CN102495736A/zh
Publication of CN102495736A publication Critical patent/CN102495736A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

本发明提供一种在可执行文件中标识软件代码svn版本的方法和系统,本发明通过改进发布版本的编译过程,在编译环境配置脚本中自动提取svn中的代码版本号,记录到可执行文件中,通过可执行文件的版本查看命令,可以直接显示代码的svn版本,保证了软件发布版本和代码svn版本的统一。与现有技术性比,本发明的有益效果在于:实现在可执行文件中标识软件代码svn版本的方法,简化了软代码版本管理。

Description

一种在可执行文件中标识软件代码svn版本的方法和系统
技术领域
本发明属于软件开发领域,具体涉及一种在可执行文件中标识软件代码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版本。
CN2011104273536A 2011-12-19 2011-12-19 一种在可执行文件中标识软件代码svn版本的方法和系统 Pending CN102495736A (zh)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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集群应用系统代码装载及升级装置和方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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