CMakeLists.txt语法规则:数学运算 math
一. 简介
在 cmake 中如何使用数学运算呢?
其实,cmake 提供了一个命令用于实现数学运算功能。这个命令就是 math(),如下所示:
math(EXPR <output variable> <math expression>)
math 命令中,第一个参数是一个固定的关键字 EXPR。
第二个参数是一个返回参数,将数学运算结果 存放在这个变量中;
而第三个参数则是一个数学运算表达式,支持的运算符包括:+(加)、-(减)、*(乘)、
譬如:
math(EXPR out_var "1+1") #计算 1+1
math(EXPR out_var "100 * 2") ##计算 100x2
math(EXPR out_var "10 & 20") #计算 10 & 20
我们进行测试:
# math()命令测试
math(EXPR out_var "100 + 100")
message("${out_var}")math(EXPR out_var "100 - 50")
message("${out_var}")math(EXPR out_var "100 * 100")
message("${out_var}")math(EXPR out_var "100 / 50")
message("${out_var}")math(EXPR out_var "(100 & 100) * 50 - 2")
message("${out_var}")
测试结果如下:

这里简单学习一下 CMakeLists.txt语法中的数学运算。
相关文章:
CMakeLists.txt语法规则:数学运算 math
一. 简介 前面几篇文章学习了 CMakeLists.txt语法中的一些常用变量,常用命令,双引号的作用。条件判断语句,循环语句等等。 本文简单学习一下 CMakeLists.txt语法中数学运算 match。 二. CMakeLists.txt语法规则:数学运算 math 在…...
图片无损压缩工具-VIKY
一、前言 Viky v3.4是一款功能强大的图片压缩工具,它能够提供高效的图片无损压缩服务。通过使用独特的压缩算法,该软件在显著减小图片文件大小的同时,还保持了图像的清晰度和色彩饱和度,确保了图像质量的优异表现。 二、软件特点…...
【Linux操作系统】:文件操作
目录 前言 一、C语言中文件IO操作 1.文件的打开方式 2.fopen:打开文件 3.fread:读文件 4.fwrite:写文件 二、系统文件I/O 1.系统调用open、read、write 2.文件描述符fd 3.文件描述符的分配规则 4.重定向 5.缓冲区 6.理解文件系统 磁盘 磁盘…...
渗透之sql注入----二次注入
目录 二次注入的原理: 实战: 第一步:找注入点 找漏洞: 注入大概过程: 第二步:开始注入 二次注入的原理: 二次注入是由于对用户输入的数据过滤不严谨,导致存在异常的数据被出入…...
LeetCode 每日一题 ---- 【2105. 给植物浇水 II】
LeetCode 每日一题 ---- 【2105. 给植物浇水 II】 2105.给植物浇水II方法:模拟双指针 2105.给植物浇水II 方法:模拟双指针 今天是给植物浇水II,昨天是I,本质上和昨天的没有区别,都是模拟,今天额外需要注意…...
【刷题】代码随想录算法训练营第三十五天|435、无重叠区间,763、划分字母区间 ,56、合并区间
目录 435、无重叠区间763、划分字母区间56、合并区间 435、无重叠区间 讲解:https://programmercarl.com/0435.%E6%97%A0%E9%87%8D%E5%8F%A0%E5%8C%BA%E9%97%B4.html 左边界和有边界排序,注意sort的排序规则函数编写。 class Solution { public:// 按照…...
【JVM】了解JVM规范中的虚拟机结构
目录 JVM规范的主要内容 1)字节码指令集(相当于中央处理器CPU) JVM指令分类 2)Class文件的格式 3)数据类型和值 4)运行时数据区 5)栈帧 6)特殊方法 7)类库 JVM规范的主要内容 1&#…...
西藏在线教育系统哪家好,培训机构为什么讲师流动大?该如何留住讲师?
教育机构的核心竞争力其实还是产品竞争力,老师讲什么,这是教研团队在做的;老师如何讲,这是师资团队来做的;如何交付给学生,这是产品团队来做的,如果你有在线的团队的话,三个部分共同构成了整个产品…...
智能文档提取
识别饼状图、条形图转化为json字段 GitHub - LingyvKong/OneChart: official code for "OneChart: Purify the Chart Structural Extraction via One Auxiliary Token"...
封装Springboot基础框架功能-03
在些模块中汇总了一些web开发常用的配置和功能。 模块源码结构 Restful API常用定义 QueryParam请求参数 Data public class QueryParam {private String key;private String value; }RestfulController实现 RestfulController.java,主要汇总一些常用的restful的…...
汽车EDI:IAC Elmdon EDI 对接指南
近期收到客户C公司的需求,需要与其合作伙伴IAC Elmdon建立EDI连接,本文将主要为大家介绍IAC Elmdon EDI 对接指南,了解EDI项目的对接流程。 项目需求 传输协议:OFTP2 IAC Elmdon 与其供应商之间使用的传输协议为OFTP2。OFTP2是…...
IPFoxy:什么是静态住宅IP?静态ISP代理指南
静态住宅代理(也称为静态ISP代理)是最流行的代理类型之一。它们也是隐藏您的身份并保持在线匿名的最佳方法之一。您为什么要使用住宅代理而不是仅使用常规代理服务?下面我具体分享。 一、什么是静态住宅代理? 首先,我…...
【算法】高精度(string实现)
模板来自:【C/string】 大数高精度运算模板 加法 string add(string a, string b) {string ans;/* 翻转两个数字字符串,使得后面的for循环从个位开始相加 */reverse(a.begin(), a.end());reverse(b.begin(), b.end());/* 初次补0,保证最高位…...
宝塔面板如何删除一个站点
我们一般的网站都是PHPMySQL开发的,所以删除站点,就要先删数据库,再删网站目录 注意:一点要确保无用的再删 删除站点目录...
Android RecyclerView
RecyclerView核心实现官方文档 Once you determine your layout, you need to implement your Adapter and ViewHolder. These two classes work together to define how your data is displayed. The ViewHolder is a wrapper around a View that contains the layout for an…...
【QT教程】QT6命令行工具开发 QT命令行
QT6命令行工具开发 使用AI技术辅助生成 QT界面美化视频课程 QT性能优化视频课程 QT原理与源码分析视频课程 QT QML C扩展开发视频课程 免费QT视频课程 您可以看免费1000个QT技术视频 免费QT视频课程 QT统计图和QT数据可视化视频免费看 免费QT视频课程 QT性能优化视频免费看 免…...
基于Springboot的微乐校园管理系统(有报告)。Javaee项目,springboot项目。
演示视频: 基于Springboot的微乐校园管理系统(有报告)。Javaee项目,springboot项目。 项目介绍: 采用M(model)V(view)C(controller)三层体系结构…...
【第6节课笔记】LagentAgentLego
Lagent 最中间部分的是LLM,即为大语言模型模块,他可以思考planning和调用什么action,再将其转发给动作执行器action executer执行。 支持的工具如下: Arxiv 搜索 Bing 地图 Google 学术搜索 Google 搜索 交互式 IPython 解释器 IP…...
【ARMv8/v9 系统寄存器 4 -- ARMv8 通用寄存器详细介绍】
文章目录 ARMv8 通用寄存器通用寄存器X30 寄存器和链接寄存器(LR)程序计数器(PC)ARMv8 X30和PC之间的关系小结 ARMv8 通用寄存器 在ARMv9架构中(这也适用于ARMv8,因为ARMv9是其进化版本)&#…...
一个月速刷leetcodeHOT100 day 01
两数之和 给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。 //哈希表做法 function twoSum(nums, target) { let obj new Map(); for (let i 0; i < nums.length; i…...
BilibiliDown视频下载全攻略:从效率瓶颈到批量管理的进阶之路
BilibiliDown视频下载全攻略:从效率瓶颈到批量管理的进阶之路 【免费下载链接】BilibiliDown (GUI-多平台支持) B站 哔哩哔哩 视频下载器。支持稍后再看、收藏夹、UP主视频批量下载|Bilibili Video Downloader 😳 项目地址: https://gitcode.com/gh_mi…...
3分钟打造个性化英雄联盟体验:LeaguePrank工具让段位展示彻底自定义
3分钟打造个性化英雄联盟体验:LeaguePrank工具让段位展示彻底自定义 【免费下载链接】LeaguePrank 项目地址: https://gitcode.com/gh_mirrors/le/LeaguePrank 你是否曾想在好友面前展示独特的游戏段位?是否希望自己的游戏生涯页面与众不同&…...
拆解Lite-HRNet的‘轻量’魔法:ShuffleBlock与CCWBlock如何省下80%算力
拆解Lite-HRNet的‘轻量’魔法:ShuffleBlock与CCWBlock如何省下80%算力 在计算机视觉领域,高分辨率网络(HRNet)因其出色的特征保持能力而备受推崇,但随之而来的计算成本却让许多实际应用望而却步。Lite-HRNet的出现&a…...
Cadence Virtuoso仿真避坑指南:从网表生成到FFT分析的20个常见错误解决方案
Cadence Virtuoso仿真避坑指南:从网表生成到FFT分析的20个常见错误解决方案 在集成电路设计领域,Cadence Virtuoso作为行业标准工具链的核心组件,其仿真功能的正确使用直接关系到设计效率与结果可靠性。本文将系统梳理从网表生成到FFT分析全流…...
影刀经验库共建:5个岗位提效的RPA模板分享
影刀RPA岗位提效模板分享影刀RPA(机器人流程自动化)能够显著提升企业运营效率,尤其在重复性高、规则明确的任务中表现突出。以下是5个适用于不同岗位的RPA模板,帮助团队快速实现自动化提效。财务岗位:自动化发票处理通…...
Qwen1.5镜像部署推荐:一键启动WebUI,告别手动配置烦恼
Qwen1.5镜像部署推荐:一键启动WebUI,告别手动配置烦恼 还在为手动配置AI模型环境而头疼吗?今天介绍的Qwen1.5-0.5B-Chat镜像部署方案,让你真正实现一键启动,无需任何复杂操作就能拥有智能对话服务。 1. 项目概述&#…...
如何掌握Node-lru-cache的fetchMethod:异步数据获取的终极指南
如何掌握Node-lru-cache的fetchMethod:异步数据获取的终极指南 【免费下载链接】node-lru-cache A fast cache that automatically deletes the least recently used items 项目地址: https://gitcode.com/gh_mirrors/no/node-lru-cache Node-lru-cache是一个…...
Maestro内核架构深度解析:从启动到多任务调制的完整流程
Maestro内核架构深度解析:从启动到多任务调制的完整流程 【免费下载链接】maestro Unix-like kernel written in Rust 项目地址: https://gitcode.com/gh_mirrors/maestro5/maestro Maestro是一个用Rust编写的类Unix内核,它通过现代内存管理、高效…...
小白友好!MedGemma X-Ray完整使用流程:上传、提问、获取报告
小白友好!MedGemma X-Ray完整使用流程:上传、提问、获取报告 你是不是也遇到过这样的情况?拿到一张胸部X光片,看着上面复杂的骨骼、肺纹理和阴影,感觉无从下手,不知道哪些是正常的,哪些是需要关…...
CATIA数控加工仿真:铣平面粗加工的关键步骤与优化技巧
1. CATIA数控加工仿真入门:从零开始掌握铣平面粗加工 第一次接触CATIA数控加工仿真时,我和大多数新手一样被满屏的参数搞得头晕眼花。直到在车间跟老师傅学了三个月,才发现铣平面粗加工这个基础操作里藏着这么多门道。简单来说,这…...
