SCons 一款基于 Python 的自动化构建工具

大家好,我是阿尔法!

说到构建工具,我们比较熟悉的是 Make、CMake 等,而 SCons 是一款开源的、由 Python 实现的自动化构建工具,开发者可以直接利用 Python 的强大功能和丰富库来管理复杂的构建逻辑,让构建过程变得更加高效。

相比于 Make、CMake,SCons 基于 Python 驱动,一步构建,逻辑灵活,过程简单,具备自动依赖分析等,可实现真正的跨平台。

安装 SCons

  • 实验环境:Ubuntu 24.04

  • SCons 依赖 Python,Ubuntu 24.04 默认安装了 Python 3.12,满足安装使用 SCons 的环境要求,故直接安装 SCons 即可:

  • 打开终端,输入 SCons 安装命令:

    sudo apt install scons

  • 通过查看程序版本的方式来验证 SCons 是否安装成功:

创建测试项目

  • 创建一个简单的测试项目,项目结构如下:

    scons/
    ├── inc/
    │ └── helloworld.h
    ├── src/
    │ ├── helloworld.c
    │ └── main.c
    └── SConstruct

  • 该测试项目仅仅为实现一个打印 hello world 的功能,相关源文件内容如下:
c 复制代码
// helloworld.h
void helloworld(void);

// helloworld.c
#include <stdio.h>

void helloworld(void)
{
    printf("hello world! \r\n");
}

// main.c
#include "helloworld.h"

int main(void)
{
    helloworld();
    return 0;
}
  • 编写一个简单的 SConstruct 脚本,该脚本在 Scons 构建中用来配置编译属性等,文件内容如下:

    创建构建环境

    env = Environment()

    设置编译选项

    env.Append(CCFLAGS=["-g", "-Wall"])

    指定头文件路径

    env.Append(CPPPATH=["inc"])

    定义源文件列表

    src_files = ["src/helloworld.c", "src/main.c"]

    构建可执行文件

    program = env.Program(target="test", source=src_files)

    设置默认构建目标

    Default(program)

构建测试

  • 输入 scons 即可构建可执行程序:
  • 输入 scons -c 用来清除编译文件:
  • 通过并行构建方式可加快构建速度,如使用 4 个并行任务,输入 scons -j4:

未完待续...

更多内容

相关推荐
全栈陈序员2 分钟前
【Python】基础语法入门(二十九)—— 正则表达式实战:文本处理利器
开发语言·人工智能·python·正则表达式
得物技术33 分钟前
Jev 实战:为AI工作流引入轻量决策层 x10倍提速|得物技术
python·llm·测试
reasonsummer41 分钟前
【教学类-07-12】20261028大3班破译电话号码html(手机按钮版本)
python·html
摇滚侠1 小时前
《On Java 中文版 基础卷》阅读笔记 复用 13
java·笔记·python
用户298698530141 小时前
Python 将 Word 文档转换为 XML 的实践要点
后端·python·api
薛之谦_1 小时前
用 Java 实现阿里云式 IAM 子用户管理:架构设计与表结构详解
java·python·阿里云
2601_952047791 小时前
金蝶云星空销售订单附件查询接口权威教程(BOS_Attachment)
python·机器人·钉钉
神仙别闹1 小时前
基于Python Yolo实现绝缘子目标检测程序
python·yolo·目标检测
超级架构师1 小时前
让 COBOL 长出 AI 大脑:原生 Agent 核心框架 praxo-core 深度剖析
c语言·开发语言·c++·人工智能·python·架构·ai编程
甜到心里的蛋糕1 小时前
抖音评论自动回复机器人部署实践:无头 Chrome + DeepSeek + NapCat(2C2G 云主机)
java·jvm·chrome·python·抖音·deepseek