网站备案有电话来机械公司网站建设

张小明 2026/1/9 13:11:47
网站备案有电话来,机械公司网站建设,口碑好的镇江网站建设,平台公司335指标文章目录第二章 CMake基础语法2.9 file()2.9.1 file子命令2.9.2 GLOB/GLOB_RECURSE子命令的使用2.9.3 写文件 (WRITE / APPEND)2.9.4读文件 (READ / STRINGS)2.9.5 复制/重命名/删除(COPY/RENAME/REMOVE)2.9.6 file部分完整测试代码本文介绍cmake的file()文件操作函数#xff…文章目录第二章 CMake基础语法2.9 file()2.9.1 file子命令2.9.2 GLOB/GLOB_RECURSE子命令的使用2.9.3 写文件 (WRITE / APPEND)2.9.4读文件 (READ / STRINGS)2.9.5 复制/重命名/删除(COPY/RENAME/REMOVE)2.9.6 file部分完整测试代码本文介绍cmake的file()文件操作函数该函数功能强大可以读文件写文件复制删除重命名等操作。第二章 CMake基础语法2.9 file()file() 是 CMake 中功能最强大的命令之一用于执行各种文件系统操作读写、搜索、复制等。2.9.1 file子命令使用file(GLOB|GLOB RECURSE )命令匹配文件列表子命令GLOB I GLOB_RECURSE 生成与匹配的文件列表。GLOB 不搜索子目录GLOB_RECURSE 会递归搜索子目录 WRITE 写入内容到文件中 MAKE DIRECTORY 创建给定的目录及其父目录。 REMOVE 删除给定的文件 COPY_FILE 复制文件 RELATIVE_PATH 计算相对路径。2.9.2 GLOB/GLOB_RECURSE子命令的使用使用GLOB/GLOB_RECURSE 来代替aux_source_directory 搜索目录下的文件。aux_source_directory只是搜索指定目录下的源文件而FILE(GLOB)可以通过通配符搜索目录下的所有文件。GLOB: 搜索当前目录符合模式的文件。GLOB_RECURSE: 递归搜索子目录。语法格式如下file(GLOBvariable[LIST_DIRECTORIEStrue|false][RELATIVEpath][CONFIGURE_DEPENDS]globbing-expressions...)参数说明参数1: 存储搜索结果的变量名。参数2[LIST_DIRECTORIES true|false]:是否在结果列表中包含目录。默认为 true。如果只想获取文件可以设置为 false。参数3[RELATIVE]: 让返回的文件路径相对于指定的而不是绝对路径。${CMAKE_CURRENT_SOURCE_DIR} 作为相对基准。参数4[CONFIGURE_DEPENDS] (重要CMake 3.12):解决 GLOB 不会自动更新的问题。如果加上这个参数CMake 会在构建时检查目录内容。如果增加了新文件构建系统会自动重新运行 CMake 来更新文件列表。示例file(GLOB SOURCES CONFIGURE_DEPENDS*.cpp)[FOLLOW_SYMLINKS] (仅限 GLOB_RECURSE):是否递归进入符号链接指向的目录。参数5:匹配模式可以写多个。.cpp匹配所有 C 源文件。src/.h匹配 src 目录下所有头文件。test?.cpp匹配 test1.cpp, test2.cpp 等? 匹配单个字符。代码文件结构cmake_minimum_required(VERSION3.30)project(testfile VERSION1.0LANGUAGES CXX)# GLOBfile(GLOB SOURCES*.cpp)message(SOURCES ${SOURCES})# SOURCES E:/cmakeLearning/chap2/5file/main.cpp;# E:/cmakeLearning/chap2/5file/mycul.cpp# 可以看出搜索到了两个.cpp文件。# GLOB_RECURSE# file(GLOB_RECURSE ALL_SOURCES RELATIVE ./build *.cpp)file(GLOB_RECURSE ALL_SOURCES RELATIVE${CMAKE_CURRENT_SOURCE_DIR}CONFIGURE_DEPENDS*.cpp)message(ALL_SOURCES ${ALL_SOURCES})#[[ALL_SOURCESa/a.cpp;build/CMakeFiles/4.2.1/CompilerIdCXX/CMakeCXXCompilerId.cpp;main.cpp;mycul.cpp]]# 可以发现递归搜索出了目录下面的所有.cpp文件add_executable(testfile${SOURCES})2.9.3 写文件 (WRITE / APPEND)WRITE: 写入内容覆盖原文件。APPEND: 在末尾追加内容。message(###############################)file(WRITEversion.txthello cmake)#追加file(APPENDversion.txt\nhello APPEND)WRITE测试结果会在当前目录下面生成一个version.txt文件并在该文件中插入 hello cmake字符串。APPEND测试结果会在version.txt文件中添加 hello APPEND字符串结果如下2.9.4读文件 (READ / STRINGS)READ: 读取整个文件内容。STRINGS: 按行读取适合处理配置文件。下面分别测试# 读文件file(READversion.txtCONTENTS)message(CONTENTS ${CONTENTS})#[[CONTENTShello cmake hello APPEND]]# 按行读file(STRINGSversion.txtlines)message(line ${lines})# line hello cmake;hello APPEND2.9.5 复制/重命名/删除(COPY/RENAME/REMOVE)拷贝测试拷贝一份version.txt 到指定的目录下。# 拷贝一份file(COPYversion.txtDESTINATION${CMAKE_CURRENT_SOURCE_DIR}/a/version.txt)重命名测试# 重命名将 a/version.txt 重命名为 a/version2.txtfile(RENAME${CMAKE_CURRENT_SOURCE_DIR}/a/version.txt${CMAKE_CURRENT_SOURCE_DIR}/a/version2.txt)输出文件测试删除指定的文件# 删除文件或目录file(REMOVE${CMAKE_CURRENT_SOURCE_DIR}/a/version2.txt)2.9.6 file部分完整测试代码cmake_minimum_required(VERSION3.30)project(testfile VERSION1.0LANGUAGES CXX)# GLOBfile(GLOB SOURCES*.cpp)message(SOURCES ${SOURCES})# SOURCES E:/cmakeLearning/chap2/5file/main.cpp;# E:/cmakeLearning/chap2/5file/mycul.cpp# 可以看出搜索到了两个.cpp文件。# GLOB_RECURSE# file(GLOB_RECURSE ALL_SOURCES RELATIVE ./build *.cpp)file(GLOB_RECURSE ALL_SOURCES RELATIVE${CMAKE_CURRENT_SOURCE_DIR}CONFIGURE_DEPENDS*.cpp)message(ALL_SOURCES ${ALL_SOURCES})#[[ALL_SOURCESa/a.cpp;build/CMakeFiles/4.2.1/CompilerIdCXX/CMakeCXXCompilerId.cpp;main.cpp;mycul.cpp]]# 可以发现递归搜索出了目录下面的所有.cpp文件message(###############################)file(WRITEversion.txthello cmake)#追加file(APPENDversion.txt\nhello APPEND)# 读文件file(READversion.txtCONTENTS)message(CONTENTS ${CONTENTS})#[[CONTENTShello cmake hello APPEND]]# 按行读file(STRINGSversion.txtlines)message(line ${lines})# line hello cmake;hello APPEND# 拷贝一份#file(COPY version.txt DESTINATION ${CMAKE_CURRENT_SOURCE_DIR}/a/version.txt)# 重命名将 a/version.txt 重命名为 a/version2.txt# file(RENAME ${CMAKE_CURRENT_SOURCE_DIR}/a/version.txt ${CMAKE_CURRENT_SOURCE_DIR}/a/version2.txt)# 删除文件或目录file(REMOVE${CMAKE_CURRENT_SOURCE_DIR}/a/version2.txt)add_executable(testfile${SOURCES})
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

网站整站程序关键词优化工具互点

资料查找方式:特纳斯电子(电子校园网):搜索下面编号即可编号:T4482305C设计简介:本设计是基于STC89C52的列车超速报警器,主要实现以下功能:可通过按键设置直流电机的速度 可通过光电…

张小明 2026/1/4 18:00:55 网站建设

百度账号购买网站山东城市建设职业学院教务网网站

“35岁危机”曾是悬在程序员头顶的达摩克利斯之剑,但在技术快速迭代的今天,这条年龄线甚至被提前到了30岁。根据某一线互联网公司内部数据,35岁以上程序员主动离职率比30岁以下高出40% ,而再就业周期平均延长3-6个月。 这不仅是年…

张小明 2026/1/4 18:00:52 网站建设

哪个网站可以做c语言的题做网站和百度推广有什么不一样

基于HuggingFace镜像网站一键拉取GPT-OSS-20B模型的方法 在大语言模型迅速普及的今天,一个现实问题始终困扰着国内开发者:如何高效、稳定地获取像 GPT-OSS-20B 这样动辄数十GB的开源模型?官方 Hugging Face 仓库虽功能强大,但跨国…

张小明 2026/1/6 6:19:22 网站建设

辽阳网站建设企业网站建设和淘宝店装修是不是一样

IAMKeys:用于安全的独立自适应密钥管理方案 1. 引言 无线体域网(WBAN)利用个人数字助理(PDAs)或手机等中间设备,在连续健康监测方面展现出巨大潜力。然而,患者的个人健康数据在无线信道中传输,安全问题至关重要。因为医疗决策基于这些数据做出,所以确保数据的可靠性…

张小明 2026/1/4 18:00:44 网站建设

免费小程序模板优化绿松石什么意思

认识腰果矮砧密植腰果矮砧密植,简单来说就是选用矮化品种(Dwarf variety),通过科学增加种植密度来提高产量的创新栽培模式。就像在有限的果园空间里,巧妙布局更多果树,让每寸土地都释放出最大潜力。这种栽培…

张小明 2026/1/6 6:19:46 网站建设

做网站贷款滁州建设局网站

您是否曾经担心过自己的移动应用被逆向工程分析?核心算法被恶意研究?敏感数据被轻易提取?在移动应用安全防护的战场上,O-MVLL作为基于LLVM的专业级代码混淆工具,正成为开发者的终极防护武器。 【免费下载链接】o-mvll …

张小明 2026/1/6 2:35:34 网站建设