SCons — 程序构建工具
目录
文章目录
- 目录
- SCons - a software construction tool
- 使用示例
SCons - a software construction tool
SCons 类似于 Make Tool,同样是一款自动化程序构建(Construction)工具,通过 Python 实现,可用来替代 Make 编写复杂的 makefile。并且 Scons 是跨平台的,只要 Scons 脚本写的好,就可以在 Linux 或 Windows 下随意编译。
- github:https://github.com/SCons/scons
与传统的 Make Tool 比较,SCons 具有以下优点:
- 使用 Python 脚本做为配置文件。
- Build-in(内建)支持 C、C++、D、Java、Fortran,、Yacc、Lex、Qt、SWIG 以及 Tex/Latex 语言程序。用户还可以根据自己的需要进行扩展以获得对需要编程语言的支持。
- 对于 C、C++ 和 Fortran,Build-in 支持可靠的自动依赖分析功能。不用像 Make 那样需要执行 make depends 和 make clean 就可以获得所有的依赖关系。
- 支持 make -j 风格的并行建造。相比 make -j,SCons 可以同时运行 N 个工作,而不用担心代码的层次结构。
- 使用 Autoconf 风格查找头文件、函数库、函数和类型定义。
- 良好的跨平台,SCons 可以运行在 Linux、AIX、BSD、HP/UX、IRIX、Solaris、Windows、Mac OS X 和 OS/2 上。
SCons 支持的编译类型有:
- Program: 编译成可执行程序(在 Windows 平台上即是 exe 文件),这是最常用的一种编译类型。
- Object: 只编译成目标文件。使用这种类型,编译结束后,只会产生目标文件。在 POSIX 系统中,目标文件以 .o 结尾,在 Windows 平台上以 .OBJ 结尾。
- Library: 编译成库文件。SCons 默认编译的库是指静态链接库。
- StaticLibrary: 显示的编译成静态链接库,与上面的 Library 效果一样。
- SharedLibrary: 在 POSIX 系统上编译动态链接库,在 Windows 平台上编译 DLL。
使用示例
- 源码 hello.c
#include <stdio.h>int main(void)
{printf("hello, world!\n");return 0;
}
- SConstruct,相当于 Makefile,以 Python 语言编写
Program("hello.c")
- Building
$ scons
scons: Reading SConscript files ...
scons: done reading SConscript files.
scons: Building targets ...
gcc -o hello.o -c hello.c
gcc -o hello hello.o
scons: done building targets.$ ls
hello hello.c hello.o SConstruct$ ./hello
hello, world!
SCons — 程序构建工具相关推荐
- Java命令行程序构建工具airlift使用
package com.ilucky.airlift;import java.util.Arrays;import io.airlift.airline.Cli; import io.airlift. ...
- linux内核使用scons构建,使用scons软件构建工具
scons 是一个比较有意思的软件构建工具,其本意是想替代著名的autotools系列,我没有用过autotools,不过看到网上的 autotools使用教程就头晕,后来听说了scons,就仔细下载 ...
- 使用scons软件构建工具
scons 是一个比较有意思的软件构建工具,其本意是想替代著名的autotools系列,我没有用过autotools,不过看到网上的 autotools使用教程就头晕,后来听说了scons,就仔细下载 ...
- WEB跨平台桌面程序构建工具对比(Electron、Tauri、Wails)
楔子 WEB 跨平台 桌面应用程序 顾名思义就是用 JavaScript.HTML.CSS 等前端技术构建跨平台的桌面应用,WEB 负责 GUI 渲染并与后端(如 Node.js.Python.Rus ...
- Java命令行程序构建工具airlift使用之分组(group)
闲话少说,直接上代码: package com.ilucky.druid.airlift.test2;import java.util.Arrays;import io.airlift.airline ...
- c++构建工具之shell,configure,make,cmake,scons,xmake简析总结
前言 说到编译工具,在windows下必言vs,在linux下必言make. 0.shell 如果编译一个库的命令太复杂或者为了方便,我们更愿意将编译命令写成一个shell脚本来执行,比如build. ...
- python自动化构建工具_Python自动化构建工具scons使用入门笔记
这段时间用到了scons,这里总结下,也方便我以后查阅. 一.安装sconsLinux环境(以CentOS为例) 1.yum安装 yum install scons 2.源码安装 下载scons:ht ...
- 效率神器 SCons 构建工具
SCons 是一个 Python 编写的开源的自动化构建工具(确切来说,是下一代构建工具) .可以将 SCons 视为经典构建工具 Make 的跨平台的改进版本,其具有类似于 autoconf / a ...
- SCons 构建工具
SCons 简介 SCons 是一套由 Python 语言编写的开源构建系统,类似于 GNU Make.它采用不同于通常 Makefile 文件的方式,而是使用 SConstruct 和 SConsc ...
最新文章
- 大话文本分类之Fnet
- CPU的基本结构和功能
- 《数据结构》知识点Day_01
- PYQT4 Python GUI 编写与 打包.exe程序
- gblfy博客配色模板
- microstation添加txt文件_C开发实战-文件操作
- js 子窗口关闭并且刷新父窗口
- 逆向透视表 python_Python实现数据的透视表
- mercurial使用_DBA对Mercurial的介绍–什么时候以及为什么我们应该使用版本控制
- Julia: 关于1.0的Array的变化
- refine OpenRefine 3.0
- java hotmail日历,我用java写的日历
- 家用风扇控制系统c语言程序设计,数字风扇控制系统的设计
- matlab 提取子波,地震子波提取研究
- 埃及分数c 语言程序,C语言将真分数分解为埃及分数
- MATLAB工具箱——Classification Learner使用
- 阿里国际站全球直播,短周期变现渠道受追捧
- 怎么把视频转成mp3音频,下面有四个方法
- CASdatasets
- 客户留存的4个产品策略
热门文章
- 直接操作游戏对象C#游戏开发
- iOS 滚动图滚动到顶部汇总
- 基于脑功率谱检测飞行过程认知网络的脑机接口
- 重磅!公开基于“内心对话”的EEG脑机接口数据集,助力语音意念控制研究
- DIY穷人版谷歌眼镜,自定义手势操控,树莓派再一次被开发新玩法
- 95%PyTorch库都会中招的bug!特斯拉AI总监都没能幸免
- 我在A4纸上看宫崎骏动画
- 无人配送的Nuro再融5亿美元,为啥中国复刻者们没它这么火
- 北大图灵班本科生带来动画CG福音,「最懂骨骼的卷积网络」,无需配对样本实现动作迁移 | SIGGRAPH...
- 百度Apollo升级发布15大新品,还要化身无人车基建狂魔 | 一文看尽首届Apollo生态大会...