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

未完待续...

更多内容

相关推荐
lhxcc_fly4 分钟前
LangGraph基础知识点
python·langchain·llm·langgraph
Lvan的前端笔记5 分钟前
python:Mac 系统 uv 完整安装+入门实战
python·macos·uv
会飞锦鲤14 分钟前
基于YOLOv10的瓜果成熟度智能检测系统
人工智能·python·深度学习·yolo·flask
AOwhisky18 分钟前
Python 学习笔记(第四期)——字符串:格式化、操作与文本处理——核心知识点自测与详解
开发语言·笔记·python·学习·列表·元组·字典
一次旅行44 分钟前
【AI技术_工具】用 MCP 把本地工具接入 Claude_Cursor,让 AI 真正摸到你的数据
大数据·人工智能·python
AOwhisky1 小时前
Python 学习笔记(第六期)——函数:定义、参数传递与作用域
笔记·python·学习·云原生·运维开发·函数·参数传递
茗创科技1 小时前
CGE连接组:用基因表达解码脑疾病的异质性(附高分文献下载)
python·matlab·脑网络
汤米粥1 小时前
Python调用百度搜索触发安全验证
开发语言·python
杠杠的blog2 小时前
企业级提示词管理
python·agent·提示词·生产级实践
小小放舟、2 小时前
VS Code Code Runner 中文乱码修复与 IDEA 风格输出配置
vscode·python·code runner