SConstruct 文件介绍

注释

在文件内,可以将 # 作为注释的起始,如下图。

# this is SConstruct file
Program('hello')

构建顺序

文件的构建顺序与 SConstruct 内的顺序无关,只需要在文件内,告诉 SCons 需要做什么,具体运行顺序完全由 SCons 自主执行。且需要知道的是,文件读取完之后,没有语法错误,才会进行构建过程,所以应该不存在构建语法导致的失败问题。

admin@DESKTOP-NQU1HUV C:\Users\admin\Desktop\scons\day2
$ scons
scons: Reading SConscript files ...
Calling Program('hello.c')
Calling Program('goodbye.c')
Finished calling Program()
scons: done reading SConscript files.
scons: Building targets ...
gcc -o goodbye.o -c goodbye.c
gcc -o goodbye.exe goodbye.o
gcc -o hello.o -c hello.c
gcc -o hello.exe hello.o
scons: done building targets.admin@DESKTOP-NQU1HUV C:\Users\admin\Desktop\scons\day2
$ ls
SConstruct  goodbye.c  goodbye.exe  goodbye.o  hello.c  hello.exe  hello.o

可以看出,按照 SConstruct 文件内的顺序,是先输出 Calling Program('hello.c') 之后,进行 hello.c 的编译。实际上,在执行完三条输出语句之后,才进行实际构建工作。
可以认为 SConstruct 文件只需要考虑做什么,而不需要考虑执行顺序,SCons会自主管理构建顺序。
还需要特别注意的是,先构建了 goodbye 程序,后构架的 hello 程序。

如果不想看到构建过程的话,可以使用 -Q 来屏蔽掉 scons 输出过程。

$ scons -Q
Calling Program('hello.c')
Calling Program('goodbye.c')
Finished calling Program()
gcc -o goodbye.o -c goodbye.c
gcc -o goodbye.exe goodbye.o
gcc -o hello.o -c hello.c
gcc -o hello.exe hello.o$ scons
scons: Reading SConscript files ...
Calling Program('hello.c')
Calling Program('goodbye.c')
Finished calling Program()
scons: done reading SConscript files.
scons: Building targets ...
gcc -o goodbye.o -c goodbye.c
gcc -o goodbye.exe goodbye.o
gcc -o hello.o -c hello.c
gcc -o hello.exe hello.o
scons: done building targets.

SCons教程 (2) SConstruct 文件介绍相关推荐

  1. SCons教程(7) 文件操作

    文件操作 SCons 提供了一套针对文件的操作,可以不依赖特定平台,方便进行移植.主要提供了 copy, 等操作函数,下面进行介绍. Command 执行命令 可以通过 Command 来执行一些功能 ...

  2. 传奇客户端文件介绍注解教程,GM必备知识

    传奇客户端文件介绍注解教程,GM必备知识 很多朋友架设微端,或者说修改传奇版本素材方面的内容的时候对于客户端很懵逼! 尤其是新手朋友他并不知道传奇客户端里面哪个文件是对应什么内容的! 今天我们将这些发 ...

  3. WML教程2:简单介绍关于WML文件的概念WML Decks

    WML教程2:简单介绍关于WML文件的概念WML Decks 这里简单介绍一个关于WML文件的概念,其他的细节问题会在后面的章节还详细介绍. 声明 由于WML语言继承于XML,所以一个有效的WML文档 ...

  4. 【Gazebo入门教程】第一讲 Gazebo的安装、UI界面、SDF文件介绍

    [Gazebo入门教程]第一讲 Gazebo的安装.UI界面.SDF文件介绍 文章目录 [Gazebo入门教程]第一讲 Gazebo的安装.UI界面.SDF文件介绍 一.Gazebo的简介与安装 1. ...

  5. SCons教程(3) 编译程序

    编译 重定义目标输出文件名称 admin@DESKTOP-NQU1HUV C:\Users\admin\Desktop\scons\day3 $ scons scons: Reading SConsc ...

  6. python爬虫scrapy框架教程_Python爬虫教程-30-Scrapy 爬虫框架介绍

    从本篇开始学习 Scrapy 爬虫框架 Python爬虫教程-30-Scrapy 爬虫框架介绍 框架:框架就是对于相同的相似的部分,代码做到不出错,而我们就可以将注意力放到我们自己的部分了 常见爬虫框 ...

  7. Python-EEG工具库MNE中文教程(13)-“bad“通道介绍

    目录 标记坏频道/标记不良通道(marking bad channels) 本分享为脑机学习者Rose整理发表于公众号:脑机接口社区 .QQ交流群:903290195 本教程主要介绍手动标记坏通道以及 ...

  8. Spring Boot 2.x基础教程:多文件的上传

    昨天,我们介绍了如何在Spring Boot中实现文件的上传(博客地址:https://blog.didispace.com/spring-boot-learning-21-4-3/).有读者问:那么 ...

  9. WPF入门教程系列三——Application介绍(续)

    接上文WPF入门教程系列二--Application介绍,我们继续来学习Application 三.WPF应用程序的关闭 WPF应用程序的关闭只有在应用程序的 Shutdown 方法被调用时,应用程序 ...

最新文章

  1. [转]12款最佳Linux命令行终端工具
  2. 应对电信劫持强行插入广告的处理
  3. 一劳永逸:域名支持通配符,ASP.NET Core中配置CORS
  4. python计算器基础知识_Python基础(一):将Python当做计算器、编程的第一步
  5. 你能分清多进程与多线程吗?
  6. 李洋疯狂C语言之有关“you are come from shanghai”逆序(二)
  7. OpenCV与图像处理学习六——图像形态学操作:腐蚀、膨胀、开、闭运算、形态学梯度、顶帽和黑帽
  8. 将普通文章内容替换为微信图文消息符合的内容
  9. DPDK分析——UIO
  10. 第一节计算机课开场白,老师第一节课的开场白
  11. 图像超分辨去噪(去雨雾)
  12. 5、kali安装输入法——搜狗拼音
  13. wps如何调节行间距?
  14. 【Oracle】 选择题汇总
  15. Spring Boot使用宝兰德BES进行改造和部署
  16. 4399AT自动化工具多设备不同用户登录讲解
  17. nginx反向代理非80端口/nginx反代非80端口
  18. AST抽象语法树的基本思想
  19. RT-Thread:U盘读写
  20. HTTPS、SSL、TLS三者之间的联系和区别

热门文章

  1. 固定资产管理系统如何简化固定资产管理和盘点工作?
  2. BI 到底是什么,看看这篇文章怎么说
  3. 2020年 Web 开发的最佳编程语言
  4. 微信小程序全面屏适配
  5. 链接下载(在线链接下载)
  6. C、C++、Java到Python,编程入门学习什么语言好?
  7. 关于iPhone出现白苹果黑屏现象的修复方法
  8. 第一天送宇轩去幼儿园
  9. WideBaselineFeatureMatcher_PAMI
  10. python 映射表_python映射列表实例分析