C++_计算机应用开发流程

发布时间 2023-10-28 17:01:45作者: 辰令

开发流程

  需求-痛点-不满点-构成开发需求
  需求排期-设计原型
  开发-编译-测试-发布-安装
   RedHat(Redhat Package Manager)的包管理规范进行打包,获取到相应的软件RPM发布包,然后使用rpm命令安装

make

  autotools 的工具集打包的。这个工具集包含 autoconf 、automake 等工具 生成 config脚本
  configure 脚本根据系统信息将 Makefile.in 模版文件转换为 Makefile文件
  make # 构建软件

make install

项目构建完成后往往需要安装或者打包发布
  软件已经被构建好并且可以执行,接下来要做的就是将可执行文件复制到最终的路径。
  make install 命令就是将可执行文件、第三方依赖包和文档复制到正确的路径
    install命令为项目生成一系列的安装规则。
    在执行make install时,所指定的安装规则会被依次执行,最终将目标文件(so,exe,其他文件等)复制到指定的路径下。  
    目标文件安装
        目标类型也就相对应的有三种,ARCHIVE 特指静态库,LIBRARY 特指动态库,RUNTIME 特指可执行目标二进制。
       参数中的 TARGETS 后面跟的就是我们通过 ADD_EXECUTABLE 或者 ADD_LIBRARY 定义的目标文件,可能是可执行二进制、动态库、静态库。
   普通文件的安装
   非目标文件的可执行程序安装(比如脚本之类)
   目录的安装 DESTINATION

cmake install

 intall()命令为工程生成安装规则,同一个源文件目录下的安装规则按照intall()命令的调用顺序在安装时(也就是使用make install时)执行。

catkin_make install

catkin_make install 的作用是:创建一个可以运行,但不含源码的工程包,以便于给客户等其他人使用,但同时不至于泄露源码的这么一个作用

发布-安装-部署

版本管理和发布流程
升级和优化--带历史数据-兼容-加密
  Linux 官方软件包管理工具	
Windows系统上进行软件开发部署时,
         有两种常见的方式:Copy Deployment(复制式部署)和 Runtime Redistributable Package(运行时可分发包
    Copy Deployment (复制式部署		
    	开发人员将已编译的应用程序和其相关依赖项直接复制到目标计算机上。
    	      这种方式通常用于单个或小规模的应用程序,特别是那些不需要在目标计算机上进行复杂配置或注册的简单应用
    		    缺少依赖项检查--繁琐的维护
    			涉及到动态库的定位问题,也就是说应用程序可执行文件在运行时,如何“找到”并加载这些动态库
    Runtime Redistributable Package (运行时可分发包):
          Runtime Redistributable Package 是一种将应用程序及其所需的运行时环境和依赖项打包在一起的部署方式。	
    	  复杂的依赖关系和注册过程
    将您的应用程序指向DLL文件,您可以在Windows注册表中注册应用程序路径(“AppPath”)	 
    
    Windows的注册表:是一个重要的系统组件,用于存储操作系统和应用程序的配置信息。
	windows刚开始的时候是和unix一样没有注册表的,它的程序信息在后缀为ini的文本文件中
    它类似于一个数据库,包含了各种键值对、参数、设置等,可以通过注册表来管理和修改系统和应用程序的行为
	  通过访问和修改注册表,可以改变系统和应用程序的行为,实现个性化定制和扩展
	  win下,往往在卸载一个软件后,注册表中仍会存留大量的无用信息,需要在用转们的软件清除