cmake:macro,function中ARGV,ARGN参数的区别
2024-09-07 07:20:43
cmake中的宏(macro)和函数(function)都支持动态参数
变量ARGC记录传入的参数个数
变量ARGV0,ARGV1,...顺序代表传入的参数
变量ARGV则是一个包含所有传入参数的list
变量ARGN也是一个包含传入参数的list,但不是所有参数,而是指macro/function声明的参数之后的所有传入参数
写一个小程序就可以验证:
# 定义一个宏,显式声明了两个参数hello,world
macro(argn_test hello world)
MESSAGE(STATUS ARGV=${ARGV})
MESSAGE(STATUS ARGN=${ARGN})
MESSAGE(STATUS ARGV0=${ARGV0})
MESSAGE(STATUS ARGV1=${ARGV1})
MESSAGE(STATUS ARGV2=${ARGV2})
MESSAGE(STATUS ARGV3=${ARGV3})
endmacro()
# 调用宏时传入4个参数
argn_test(TOM JERRY SUSAN BERN)
cmake脚本执行输出结果,ARGN为声明参数之后的所有参数
-- ARGV=TOMJERRYSUSANBERN
-- ARGN=SUSANBERN
-- ARGV0=TOM
-- ARGV1=JERRY
-- ARGV2=SUSAN
-- ARGV3=BERN
转载于:https://blog.csdn.net/10km/article/details/83027824
最新文章
- C++小项目:directx11图形程序(一):主框架
- 基于vue的新组件开发
- delphi中VirtualStringTree树使用方法之终结篇!
- IOS网络请求原理
- 管理批量邮箱 FOXMAIL 和网易闪电邮(PC端)有什么区别? 对比
- [转]Redis集群的配置
- “IPSec 共享密钥”丢失。
- sqlserver2012的审计功能的相关理解
- core_cm3.c解析
- 记一次解析XML转对象的笔记
- scrapy初试水 day03(递归调用)
- MySQL数据库入门(建库和建表)--陈远波
- mr实现pagerank
- Pandas数据去重和对重复数据分类、求和,得到未重复和重复(求和后)的数据
- 【python】廖雪峰python教程学习--基础
- C和C指针小记(十六)-动态内存分配
- 归并排序(C++实现)
- hive SQL 字母大小写转换
- npm 用 淘宝代理
- 连接redis