调用CMake函数:参数数量

kgf3JfUtW

有一个名为的函数myfunc定义为

function (myfunc var1 var2 var3)
...
endfunction()

然后,我看到一个函数调用

myfunc(custom hahaha platform ALL
        COMMAND echo "hello world"
        SOURCES ${some_var} )

我的问题是

该函数myfunc有3个变量。在上面的函数调用中,这三个变量是什么?此外,哪有额外命令COMMANDSOURCES函数调用内?

戈丹西基奇

前三个参数是3个变量。

如果您的函数定义如下:

function (myfunc var1 var2 var3)
  message ("var1: ${var1}")
  message ("var2: ${var2}")
  message ("var3: ${var3}")
  message ("number of arguments sent to function: ${ARGC}")
  message ("all function arguments:               ${ARGV}")
  message ("all arguments beyond defined:         ${ARGN}") 
endfunction()

像您所说的那样调用它之后:

set (some_var "some var")
myfunc(custom hahaha platform ALL
        COMMAND echo "hello world"
        SOURCES ${some_var} )

结果将是:

var1: custom
var2: hahaha
var3: platform
number of arguments sent to function: 9
all function arguments:               custom;hahaha;platform;ALL;COMMAND;echo;hello world;SOURCES;some var
all arguments beyond defined:         ALL;COMMAND;echo;hello world;SOURCES;some var

因此,您已经调用了带有9个参数的函数,这些参数被引用${ARGV},所有未定义的参数也可以使用variable进行引用${ARGN}

请注意,在调用函数时,ALL,COMMAND和SOURCES只是函数的参数,仅此而已。

最后,这是有关cmake函数和参数的完整文档

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

参数数量未知的调用函数

调用参数数量未知的函数Python

更改参数数量的Java函数调用

如何减少go嵌套函数调用中的参数数量

调用映射 getter 时 Solidity 函数的参数数量无效

根据参数数量在模板中调用函数

当输入参数数量未知时,使用可变数量的输入参数进行函数调用

如何将可变参数传递给基于参数数量调用特定函数的函数?

CMake设置目标属性使用错误的参数数量调用

CMake add_executable调用了不正确的参数数量

CMake-使用错误的参数数量调用add_executable

c ++ 11:使用向量的元素调用可变参数函数,并自动推导参数数量

如何在调用函数之前检查回调函数的参数数量

调用“||”时的参数数量或类型错误

调用参数数量未知的回调

SQL:函数 Sum() 的参数数量错误

计算传递给函数的参数数量

如何找到Python函数的参数数量?

JavaScript确定函数采用的参数数量

减少Python中函数的参数数量?

函数如何确定参数数量

模式与构造函数的参数数量匹配

如何返回函数的参数数量?

从lambda /函数查询参数数量

TypeScript - 参数数量可变的函数类型

VBA Excel:参数数量错误或调用函数的属性分配无效

如果在函数调用中传递的参数数量与其定义中的参数数量不同,则引发特定的错误消息?

Python调用一个带有来自元组的参数的函数,该参数大于所需的参数数量

具有动态参数/参数数量的匿名函数