• CMake 12 函数和宏


    CMake中用以下指令定义函数

    function(<name> [<arg1> …])

      <commands>

    endfunction()

    function指令,指定函数的名称,参数名称

    endfunction指令,用于结束函数的定义,可以传入与function指令中同样的函数名称作为参数,也可以不传。

    这两个指令中间就是函数要执行的命令。

    调用时直接使用函数名即可,不区分大小写

    即如果这样定义函数:

    function(func)

             <command>

    endfunction()

    则可以这样调用 func()  或者 FUNC()

    函数的参数

    1. ARGC:参数的个数
    2. ARGV0、ARGV1、…ARGV#:第#个参数的值
    3. ARGV:所有传入的参数值的列表
    4. ARGN:如果在定义函数时,显式的指定了两个参数,而在调用时,传入了五个参数,则后面的三个参数的值就存在在这个变量里

    注意:set(<variable> <value>... [PARENT_SCOPE]),如果PARENT_SCOPE指定了,那么变量将在当前作用域的父作用域中生效。

    CMake中的宏与函数很相似,但也有区别。

    相同:调用方式相同,同样是不区分名称大小写,参数的引用同样可用,如${ARGC},${ARGN}等。

    区别:CMake的宏跟C语言的宏类似,直接替换,宏的参数相关的引用,并不是真实的变量,而函数中对函数的引用,则是真实的变量,函数有自身的域而宏没有。

    宏定义使用 macro 和 endmacro指令。

  • 相关阅读:
    python接口测试(二)——配置文件的使用
    python接口测试(一)——http请求及token获取
    jmeter接口测试--响应结果Unicode转码成中文
    jmeter接口测试--获取token
    jmeter接口测试--参数化
    Sysbench安装步骤及详情
    云数据库安装及使用
    npm start 和 npm run start的关系
    使用JS控制伪元素的几种方法
    html5新属性
  • 原文地址:https://www.cnblogs.com/merlinzjl/p/13904812.html
Copyright © 2020-2023  润新知