xmake 提供了很多的内置模块和接口,可以让用户在自定义脚本域中随意使用,方便用户处理编译过程中的各种定制化逻辑。其中,我们多少会需要涉及到一些系统调用、io 操作等。

因为这些是最基本也是最常用的操作接口,而 lua 语言自身就有提供 os 和 io 内置模块去处理这些,但是 lua 自带的这两个模块功能有限,使用也不是很方便,并且也无法满足用户对编译的一些特殊需求。因此 xmake 在此基础上,做了些扩展和改进,封装了更多好用的接口提供给大家使用。

在本实验中,我们重点介绍如何使用 os 系统模块里面的各种常用接口。

复制删除文件和目录

首先我们来讲解如何使用 os 模块去复制和删除指定的文件以及目录。

对于复制文件,xmake 提供了内置的 os.cp(src, dst) 接口,可以从源路径复制到目的路径,同时支持文件和目录的复制,并且支持 * 来模式匹配。

而对于删除文件,我们可以使用 os.rm() 接口,它也同时支持文件和目录的删除。在实验前,我们还是一样,先执行下面的命令,创建一个新的空工程。

cd ~/Code
xmake create ostest

接下来进入 ostest 目录,修改 xmake.lua 文件,加入对 os 模块接口的调用,具体修改如下。

target("ostest")set_kind("binary")add_files("src/*.cpp")after_build(function (target)os.cp(target:targ

Xmake进阶----系统操作详解相关推荐

  1. C语言学习笔记 | 进阶 | 文件操作详解(万字精心制作)

  2. 用计算机画图截图图片,如何使用系统自带画图工具截图?电脑画图工具截图操作详解...

    在使用电脑的时候,如果我们要进行截图操作,很多人都会选择使用自己通讯软件的截图功能,比如说QQ或者是微信等等,或者是电脑自带截图工具.但是,如果电脑出现一些问题,无法使用以上方法截图的时候,应该怎么办 ...

  3. java控制mac录音代码_操作详解丨如何用 Cybery 控制 mac OS系统下的录音软件(DAW)...

    原标题:操作详解丨如何用 Cybery 控制 mac OS系统下的录音软件(DAW) Cybery可以在各主流平台/操作系统下实现MIDI控制功能:mac OS(可通过蓝牙.USB线或者借助其它硬件连 ...

  4. 单片机最小系统 原理图详解 PCB操作 个人备忘

    印象笔记链接: 单片机最小系统 原理图详解 PCB操作 总结(图解) - CSDN资源下载 -  点击打开链接

  5. python 拼音库_python有没有拼音库python进阶之socket详解

    Socket的英文原义是"孔"或"插座".作为BSD UNIX的进程通信机制,通常也称作"套接字",用于描述IP地址和端口,是一个通信链的句 ...

  6. python输入参数改变图形_Python基于Tensor FLow的图像处理操作详解

    本文实例讲述了Python基于Tensor FLow的图像处理操作.分享给大家供大家参考,具体如下: 在对图像进行深度学习时,有时可能图片的数量不足,或者希望网络进行更多的学习,这时可以对现有的图片数 ...

  7. EasyPR中文开源车牌识别系统 开发详解

     在上篇文档中作者已经简单的介绍了EasyPR,现在在本文档中详细的介绍EasyPR的开发过程. 正如淘宝诞生于一个购买来的LAMP系统,EasyPR也有它诞生的原型,起源于CSDN的taotao ...

  8. Java实现话术词槽匹配_桔子互动|百度UNIT操作详解(上篇)

    原标题:桔子互动|百度UNIT操作详解(上篇) 作者:令狐曦 文章简介: 本篇文章对UNIT的操作和注意事项进行详细说明,内容包括: 建立场景 配置对话单元/问答单元/高级设置 [配置对话单元] [配 ...

  9. python3d动态图-Python图像处理之gif动态图的解析与合成操作详解

    本文实例讲述了Python图像处理之gif动态图的解析与合成操作.分享给大家供大家参考,具体如下: gif动态图是在现在已经司空见惯,朋友圈里也经常是一言不合就斗图.这里,就介绍下如何使用python ...

最新文章

  1. (C++)1009 Product of Polynomials
  2. python爬虫正则表达式实例-Python 正则表达式爬虫使用案例解析
  3. laravel框架cookie应用到中间件的理解
  4. 几个常用的宏:likely和unlikely __raw_writel
  5. sqlserver2008 获取最后插入的id_Python3操作SQL Server2008数据库
  6. sizeof和strlen()区别
  7. jQuery 事件介绍
  8. 转一篇写的比较好的camera文档[Camera 图像处理原理分析]
  9. 【探索PowerShell 】【十二】筛选器 - Filters
  10. 我的世界服务器组件怎么用,我的世界:两款服务器的组件功能,种树也有学问,种树技巧!...
  11. PCA主成分分析python实现
  12. Ubuntu 14.04 LTS 搜狗拼音输入法不能使用的情况
  13. excel 合格率计算方法
  14. 如何成功搭建一个游戏平台?
  15. 播放失败246106异常代码_三菱-菱云系列电梯故障代码
  16. 旅行时间问题(python)
  17. cfa的pv怎么用计算机算,怎么用金融计算器算pv(金融计算器怎么用)
  18. 关闭CPU风扇灯的正确做法
  19. vcpkg下载速度慢的解决办法
  20. 适合ipad的python编程软件-iPad编程软件推荐(一) —— Pythonista 3

热门文章

  1. 如何在Android设备之间共享Google Play应用,音乐等
  2. spyderpython使用教程_使用spyder3调试python程序的简明教程
  3. NB-IoT 移远 BC28 TE-B 模块网络接入测试
  4. Kruskal-Wallis test
  5. 名画122 王冕 吴镇《梅竹双清图》
  6. Redis的IO多路复用原理
  7. 关注链接-小强测试品牌
  8. 区块链与去中心化数据库
  9. 企业服务器3d建模系统,3d云设计服务器
  10. 软件架构-redis特性和集群特性(上)