【技术实现步骤摘要】
非侵入式软件开发方法、装置、终端及存储介质
[0001]本专利技术涉及软件开发
,尤其涉及一种非侵入式软件开发方法、装置、终端及存储介质。
技术介绍
[0002]在软件开发中,经常出现基于已有程序进行二次开发的场景。在多业务方向的公司中,通常把一些基础的、通用的软件模块给各个业务方向的产品公用,把这些公用的软件模块称为“平台”。在平台的基础上,开发针对具体业务的软件模块,称为“产品”。
[0003]在传统的管理中,往往平台与产品无论在源代码,还是发布部署上,采用“混合”的方式。比如,产品直接在平台的目录中开发(源码目录混合),编译生成的程序文件,资源、配置文件等也直接使用平台目录结构(部署目录混合)。把这种混合的方式称为“侵入式”。这种方式一次性投入少,但界限不清晰,一个文件不能直接看出是属于平台还是产品,从而产生混乱。比如,难以看出平台和产品的版本;难以验证平台文件和产品文件是否完整;替换平台或产品的版本时,难以确认是否正确,容易残留上一版本的垃圾;平台和产品混合后难以再剥离出平台和产品;平台文件或产品文件容 ...
【技术保护点】
【技术特征摘要】
1.一种非侵入式软件开发方法,其特征在于,平台目录和产品目录均为独立目录;所述平台目录包括平台编译生成目录,所述产品目录包括产品编译生成目录;所述非侵入式软件开发方法包括:当产品需使用平台的动态库文件时,通过编译后的执行文件,获取平台编译生成目录相对产品编译生成目录的路径;根据所述平台编译生成目录相对产品编译生成目录的路径,获取所需的平台的动态库文件。2.根据权利要求1所述的非侵入式软件开发方法,其特征在于,所述通过编译后的执行文件,获取平台编译生成目录相对产品编译生成目录的路径,包括:若当前操作系统为Windows系统,则通过编译后的执行文件,获取平台编译生成目录创建的清单文件,根据所述清单文件,获取平台编译生成目录相对产品编译生成目录的路径;若当前操作系统为Linux系统或Unix系统,则通过编译后的执行文件的rpath标记,获取平台编译生成目录相对平台根目录的路径。3.根据权利要求1所述的非侵入式软件开发方法,其特征在于,所述非侵入式软件开发方法还包括:通过平台提供的获取文件路径的第一接口函数,实现在产品目录下存在产品目标文件时,使用所述产品目标文件逻辑覆盖平台目标文件;其中,所述第一接口函数在产品目录下存在所述产品目标文件时,返回所述产品目标文件的绝对路径,否则,返回所述平台目标文件的绝对路径;所述产品目标文件相对于产品根目录的路径与所述平台目标文件相对于平台根目录的路径相同,且所述产品目标文件和所述平台目标文件的文件名相同。4.根据权利要求1所述的非侵入式软件开发方法,其特征在于,所述非侵入式软件开发方法还包括:通过平台提供的获取插件路径的第二接口函数,实现在产品目录下存在产品目标插件时,使用所述产品目标插件逻辑覆盖平台目标插件;其中,所述第二接口函数在产品目录下存在所述产品目标插件时,返回所述产品目标插件的绝对路径,否则,返回所述平台目标插件的绝对路径;所述产品目标插件相对于产品根目录的路径与所述平台目标插件相对于平台根目录的路径相同,且所述产品目标插件...
【专利技术属性】
技术研发人员:易柯楠,林峰平,张孝山,周正龙,文志雄,
申请(专利权)人:深圳市康必达控制技术有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。