当前位置: 首页 > news >正文

网站建设的主要工作国内信息图制作网站

网站建设的主要工作,国内信息图制作网站,陈木胜个人资料,兰州建设网站在 CMake 中,function 用于定义一个可复用的代码块,可以在 CMake 脚本中多次调用。它类似于其他编程语言中的函数。函数内的变量默认是局部的,不会影响外部的变量,除非显式地使用 PARENT_SCOPE 来修改父级作用域中的变量。 基本语…

在 CMake 中,function 用于定义一个可复用的代码块,可以在 CMake 脚本中多次调用。它类似于其他编程语言中的函数。函数内的变量默认是局部的,不会影响外部的变量,除非显式地使用 PARENT_SCOPE 来修改父级作用域中的变量。

基本语法

function(<name> [arg1 arg2 ...])# Function body
endfunction()
  • <name>: 函数名。
  • [arg1 arg2 ...]: 函数的参数,可以是零个或多个。
  • 函数体: 包含要执行的 CMake 命令。

示例 1:定义一个简单的函数

cmake_minimum_required(VERSION 3.10)
project(MyProject)# 定义一个打印消息的函数
function(print_message message)message(STATUS "Message: ${message}")
endfunction()# 调用函数
print_message("Hello, CMake!")

在这个例子中,我们定义了一个名为 print_message 的函数,它接收一个参数 message,然后打印出来。当调用 print_message("Hello, CMake!") 时,CMake 会输出 Message: Hello, CMake!

示例 2:函数内修改变量的作用域

cmake_minimum_required(VERSION 3.10)
project(MyProject)# 定义一个修改变量值的函数
function(change_variable)set(MY_VAR "Modified Inside Function")
endfunction()# 调用函数之前
message(STATUS "MY_VAR before: ${MY_VAR}")# 调用函数
change_variable()# 调用函数之后
message(STATUS "MY_VAR after: ${MY_VAR}")

在这个例子中,MY_VAR 在函数内部被修改,但由于函数内的变量是局部的,函数外部的 MY_VAR 不受影响,输出将会是:

MY_VAR before: 
MY_VAR after: 

示例 3:使用 PARENT_SCOPE 修改父级作用域中的变量

如果你想在函数内修改外部作用域中的变量,可以使用 PARENT_SCOPE

cmake_minimum_required(VERSION 3.10)
project(MyProject)# 定义一个修改父级作用域中变量的函数
function(change_variable_in_parent_scope)set(MY_VAR "Modified in Parent Scope" PARENT_SCOPE)
endfunction()# 调用函数之前
message(STATUS "MY_VAR before: ${MY_VAR}")# 调用函数
change_variable_in_parent_scope()# 调用函数之后
message(STATUS "MY_VAR after: ${MY_VAR}")

在这个例子中,函数 change_variable_in_parent_scope 修改了 MY_VAR,并使用 PARENT_SCOPE 将更改传递到父级作用域。输出将会是:

MY_VAR before: 
MY_VAR after: Modified in Parent Scope

示例 4:函数返回值

CMake 的 function 本身并没有返回值的概念,但可以通过设置一个变量来模拟返回值:

cmake_minimum_required(VERSION 3.10)
project(MyProject)# 定义一个模拟返回值的函数
function(get_square value)math(EXPR result "${value} * ${value}")set(${ARGV0} ${result} PARENT_SCOPE)  # 将结果传递给父级作用域的变量
endfunction()# 调用函数并获取结果
get_square(4 RESULT)# 打印结果
message(STATUS "Square of 4 is: ${RESULT}")

在这个例子中,函数 get_square 接收一个数字并计算其平方,然后通过 PARENT_SCOPE 将结果返回。结果会被赋值给变量 RESULT,并在输出中显示 Square of 4 is: 16

示例 5:函数内的多参数

CMake 的函数可以接收多个参数。你可以通过 ARGN 访问所有的附加参数:

cmake_minimum_required(VERSION 3.10)
project(MyProject)# 定义一个接收多个参数的函数
function(print_all_args)message(STATUS "Number of arguments: ${ARGC}")foreach(arg IN LISTS ARGN)message(STATUS "Argument: ${arg}")endforeach()
endfunction()# 调用函数
print_all_args("Hello" "CMake" "Function" "Example")

输出会是:

Number of arguments: 4
Argument: Hello
Argument: CMake
Argument: Function
Argument: Example

小结

  1. 基本使用: function 用于定义一个可复用的代码块。
  2. 变量作用域: 默认情况下,函数内部的变量是局部的,使用 PARENT_SCOPE 可以将修改传递到父级作用域。
  3. 返回值模拟: CMake 没有内建的返回值机制,但可以通过设置外部变量来实现类似功能。
  4. 多参数支持: 使用 ARGV0ARGNARGC 可以方便地处理多个输入参数。

这些例子涵盖了 CMake 中 function 的常见使用方式。

http://www.yayakq.cn/news/463693/

相关文章:

  • 钓鱼转转网站在线生成软件国际知名设计公司赛瑞的logo
  • 建设银行官方网站登录电脑版网站建设优化合同
  • 做淘宝客网站需要工商营业执照重庆网站建设制作设计
  • 太原网站推广教程北京大厂网站建设
  • 视觉传达设计网站wordpress 菜单 数据库
  • 做旅游网约车的网站珠市口网站建设
  • 贵州建设厅网站报名系统大型公司网站建设目标
  • 北京网站优化效果国外优秀的网站
  • 网站推广在哪些平台做外链wordpress分页
  • 律师做网站有用海南新闻在线观看
  • 网站导航栏特效360建筑网中级机械工程师招聘
  • 如何在网站申请做co中兴通讯的网站建设分析
  • 网站建设外文参考文献深圳网站优化平台
  • 广州做网站的公司哪家好云服务器网站解析
  • 新网站制作市场wordpress app
  • 网站快照前显示中文怎么做的手机下载app并安装
  • 成都淮洲新城建设投资有限公司网站创建wordpress主题
  • 吴忠市住房和城乡建设局网站南沙建设网站
  • 官方网站建设 招标公告网站建设廉政风险点
  • 家居企业网站建设如何大型大型网站建设方案ppt
  • 做网站域名的成本网站建设冖金手指花总十五
  • 网站开发中的文档手机客户端网站怎么做
  • 怎么做网站教程中国视觉设计网
  • 陕西建设监理协会网站全国职业生涯规划大赛
  • 长沙专业网站建设公司排名制作一个网站平台吗
  • 上海做网站公司排名镇江公司网站建设
  • 如何做一个商城类型的网站郑州网站建设公司锐客科技
  • 做海外网站ppt模板有哪些网站
  • 河北省建设工程招投标管理网站网页版游戏网站
  • 海口个人建站模板wordpress的polylang