首页 > 编程语言 >C++_计算机应用开发流程

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

时间:2023-10-28 17:13:52浏览次数:41  
标签:文件 计算机 流程 应用程序 C++ install 注册表 安装 make

开发流程

  需求-痛点-不满点-构成开发需求
  需求排期-设计原型
  开发-编译-测试-发布-安装
   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下,往往在卸载一个软件后,注册表中仍会存留大量的无用信息,需要在用转们的软件清除

标签:文件,计算机,流程,应用程序,C++,install,注册表,安装,make
From: https://www.cnblogs.com/ytwang/p/17794288.html

相关文章

  • 2023-2024-1-20231317<<计算机基础与程序设计>>第五周学习总结
    《计算机基础与程序设计》第五周学习总结作业信息这个作业属于哪个课程<班级的链接>(2023-2024-1-计算机基础与程序设计)这个作业要求在哪里<作业要求的链接>(如2023-2024-1计算机基础与程序设计第五周作业)这个作业的目标<学习《C语言第五章选择控制结构、第六章循......
  • C++ 日期&时间
    C++日期&时间C++标准库没有提供所谓的日期类型。C++继承了C语言用于日期和实际操作的结构和函数。为了使用日期和时间相关的函数和结构,需要在C++程序中引用<ctime>头文件。有四个与时间相关的类型:clock_ttime_tsize_ttm能够把系统时间和日期表示为某种整数。结构类型tm把......
  • C++引用
    C++引用引用变量是一个别名,也就是说,它是某个已存在变量的另一个名字,一旦把引用初始化为某个变量,就可以使用该引用名称或变量名称来指向变量。C++引用vs指针引用很容易与指针混淆,它们之间有三个主要区别:不存在空引用,引用必须连接到一块合法的内存一旦引用被初始化为一个对象......
  • 面向对象(C++)
    -1待填坑:运算符重载,模板和泛型编程。文件输入输出跨文件使用全局变量应该先用extern声明如果在全局变量和全局函数前面加上static关键字,就无法在其他文件中使用这些变量和函数了。0、动态内存分配分配内存:int*p=newint(4);//注意是一个变量初值为4int*list=newint[......
  • 计算机网络:1-3章简答详解
    1.简述计算机网络采用层次结构的主要优点。计算机网络采用层次结构的主要优点包括以下几个方面:模块化设计:层次结构将整个网络系统分解为多个层次,每个层次负责特定的功能。这种模块化设计使得网络的开发、维护和扩展更加容易,因为每个层次可以独立地进行设计和实现。同时,模块化......
  • C++指针
    C++指针学习C++指针既简单又有意思。通过指针可以简化一些C++编程任务的执行,还有一些任务,例如动态内存分配,没有指针是无法执行的。因此学习指针是很有必要的。每一个变量都有一个内存位置,每一个内存位置都定义了可使用连字号(&)运算符访问的地址,它表示了在内存中的一个地址。实例......
  • C++ 语法结构--堆
    1.堆介绍「堆heap」是一种满足特定条件的完全二叉树,主要可分为图8-1所示的两种类型。「大顶堆maxheap」:任意节点的值其子节点的值。「小顶堆minheap」:任意节点的值其子节点的值。堆作为完全二叉树的一个特例,具有以下特性。最底层节点靠左填充,其他层的节点都被填......
  • 2023-2024-1 20231312《计算机基础与程序设计》第5周学习总结
    作业信息这个作业属于哪个课程<班级的链接>2023-2024-1-计算机基础与程序设计|-这个作业要求在哪里<作业要求链接>2023-2024-1计算机基础与程序设计第四周作业|这个作业的目标《计算机基础概论》第6章《C语言程序设计》第4章|作业正文作业链接教材学习......
  • C++字符串
    C++字符串C++提供了两种类型的字符串表示形式:C风格字符串C++引入的string类类型C风格字符串C风格的字符串源于C语言,并在C++中继续得到支持。字符串实际上是使用Null字符终止的一堆字符数组。因此一个以NULL结尾的字符串,包含了组成字符串的字符。下面的声明和初始化创建了......
  • 【C++】继承 ⑪ ( 多继承 | 多继承语法 | 多继承案例 )
    文章目录一、多继承1、多继承基本语法2、多继承子类构造初始化3、多继承中访问父类成员二、多继承案例1、代码示例-简单多继承案例2、代码示例-多继承构造函数案例一、多继承1、多继承基本语法多继承概念:一个子类(派生类)可以继承多个父类(派生类);一个类......