【CMake 入门与进阶(14)】 CMake中变量的作用域(附代码)

        如同 C 语言一样,在 cmake 中,变量也有作用域的概念,本文我们就来聊一聊关于 cmake 中变量作用域的问题。

        对于函数作用域,当在函数内通过 set 将变量 var 与当前函数作用域绑定时,变量 var 仅在函数作用域内有效,出了这个作用域,如果这个作用域外也有同名的变量 var,那么使用的将是域外同名变量 var;func1()内部调用 func2(),嵌套调用的函数 func2()内部如果也引用变量 var,那么该变量 var 应该是 func1()内部定义的变量,如果有的话;如果 func1()内部没有绑定变量 var,那么就会使用 func1()作用 域外定义的变量 var,依次向外搜索。

        以上这段话大家可能不好理解,我们通过几个示例来看看函数作用域。

        ①、函数内部引用函数外部定义的变量

        示例代码如下所示:

# 函数 xyz
function(xyz)
    message(${ABC}) #引用变量 ABC
endfunction()

set(ABC "Hello World") #定义变量 ABC

xyz() # 调用函数

        ABC 是函数外部定义的一个变量,在函数 xyz 中引用了该变量,打印信息如下:

         所以可知,函数内可以引用函数外部定义的变

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值