首页 > 其他分享 >cmake学习

cmake学习

时间:2023-04-11 16:44:11浏览次数:29  
标签:可执行文件 cmake 学习 Release 构建 BUILD 类型 Debug

-DCMAKE_BUILD_TYPE=Debug和Release有什么区别

-DCMAKE_BUILD_TYPE 是用于指定 CMake 构建类型的 CMake 变量。它有两个常见的值,即 "Debug" 和 "Release",它们分别用于在构建 C++/C 项目时指定不同的构建类型。

区别如下:

  1. Debug 构建类型:Debug 构建类型用于在开发阶段进行调试和测试。它会生成包含调试信息的可执行文件,并禁用优化,以便于调试器在运行时进行断点调试、单步执行等操作。此外,Debug 构建类型通常会启用更多的警告和运行时检查,以帮助发现代码中的错误和问题。

  2. Release 构建类型:Release 构建类型用于生成用于发布和部署的优化的可执行文件。它会应用各种优化策略,如代码优化、编译器优化和链接器优化,以最大程度地提高执行速度和减小可执行文件的大小。此外,Release 构建类型通常会禁用调试信息,并且不会启用额外的警告和运行时检查,以减小可执行文件的大小和提高性能。

因此,-DCMAKE_BUILD_TYPE=Debug-DCMAKE_BUILD_TYPE=Release 主要区别在于生成的可执行文件是否包含调试信息、是否启用优化以及是否启用额外的警告和运行时检查。在开发阶段,通常使用 Debug 构建类型以便于调试和测试,而在发布和部署阶段,通常使用 Release 构建类型以获得更好的性能和较小的可执行文件大小。

标签:可执行文件,cmake,学习,Release,构建,BUILD,类型,Debug
From: https://www.cnblogs.com/thmyl/p/17306740.html

相关文章

  • 全栈之前端 | 5.HTML表格列表标签元素学习篇
    [点击......
  • 全栈之前端 | 4.HTML样式布局区块标签元素学习篇
    [点击......
  • 全栈之前端 | 3.HTML格式化输出标签元素学习篇
    [点击......
  • 全栈之前端| 6.HTML输入提交表单标签元素学习篇
    [点击......
  • 事实胜于雄辩,苹果MacOs能不能玩儿机器/深度(ml/dl)学习(Python3.10/Tensorflow2)
    坊间有传MacOs系统不适合机器(ml)学习和深度(dl)学习,这是板上钉钉的刻板印象,就好像有人说女生不适合编程一样的离谱。现而今,无论是Pytorch框架的MPS模式,还是最新的Tensorflow2框架,都已经可以在M1/M2芯片的Mac系统中毫无桎梏地使用GPU显卡设备,本次我们来分享如何在苹果MacOS系统上......
  • CMake学习记录——下
    转载来自:https://subingwen.cn/cmake/CMake-advanced/1.嵌套的CMake如果项目很大,或者项目中有很多的源码目录,在通过CMake管理项目的时候如果只使用一个CMakeLists.txt,那么这个文件相对会比较复杂,有一种化繁为简的方式就是给每个源码目录都添加一个CMakeLists.txt文件(头文......
  • 【学习笔记】JS+VUE
    JSJS教程HTML定义了网页的内容CSS描述了网页的布局JavaScript控制了网页的行为简介1、什么是JS?JavaScript是一种轻量级的编程语言。JavaScript是可插入HTML页面的编程代码。JavaScript插入HTML页面后,可由所有的现代浏览器执行。2、JS有哪些作用?直接写入H......
  • 【学习笔记】HTML+CSS
    HTMLHTML教程简介编辑器基础元素属性标题段落文本格式化链接头部CSS图像表格列表区块布局表单和输入1、意义:用于收集用户的输入信息表示文档中的一个区域,此区域包含交互控件,将用户收集到的信息发送到Web服务器一个文本字段的默认宽度是20个字符2、form......
  • ”file not recognized: file format not recognized“错误,不同架构动态库交叉编译的
    在学习modbus协议时,发现了一些关于libmodbus库编译的问题 我将虚拟机作为客户端,树莓派作为服务器端,分别编写modbus-tcp协议的客户端/服务器端代码在ubuntu虚拟机上可以成功编译,但是在树莓派上会报:”filenotrecognized:fileformatnotrecognized“错误 下面是关于”fil......
  • 【SDR学习】RTL-SDR基本结构
    最近对无线电很有兴趣,故而本篇博客介绍一下自己购买的RTL-SDR的基本结构首先SDR就是SoftwareDefinedRadio,即软件定义的无线电,而RTL-SDR是一款非常便宜的SDR设备,可用于接收射频无线电信号,我购买的如下图所示:把外壳拆开后可以看一下里面的结构:......