scons 工具

2024-08-22 11:58
文章标签 工具 scons

本文主要是介绍scons 工具,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

在linux下面编译 c 项目编译其实很简单, 无外乎 编译工具, 源码, 编译依赖, 编译选项 这几项.

如今大多数我们情况, 我们都是依赖于Make工具, 包括cmake工具也是为项目自动构建一个makefile管理结构.

但是make是依赖于系统 shell 来执行操作, shell语法有点死板, 不容易调试. cmake 有大量的新的 API 命令, 对新手不是很有好.

最近在网上以外看到一个项目工具, scons, 该工具是 python 实现的, 完美继承 python 语法中对文件和字符串的便捷操作的有点.

具体情况大家可以在官网进行参考.

下面我给大家一个参考样例, 供大家上手.

import glob flags = '-Wall -g'
inc_path = ["inc", "media"]
# 使用 python 的 glob 库获取media目录下的所有源码
media_fns = glob.glob('media/*.cpp')+glob.glob('media/*.c')# ------------ * --------------
# Program 产生一条对 'server' 程序 的 编译规则,  
# media_fns+['main.cpp'] 给出编译 server 需要的所有源码
# LIBS: 相当于给 server 目标添加 一个 gcc的指定 -l 选项的列表
# LIBPATH:  相当于给 server 目标添加 一个 gcc的指定 -L 选项的列表
# CCFLAGS: 编译器的编译选项
# CPPPATH: 头文件的路径
# ------------ * --------------
Program('server', media_fns+['main.cpp'],LIBS = [ 'zlog'],LIBPATH=['./lib'],CCFLAGS =flags,CPPPATH = inc_path
)

执行:

scons -c # 相当于 make clean 
scons -j 16 # 相当于 make -j16 ,启动16个不相干线程并行编译

当然scons除了 Program 命令 来编译 c/c++ 外, 还有一些其他命令, 比如工程的安装 和 JAVA 工程的编译.

网上有很多中文资料讲解 scons的使用了, 如果大家需要, 后面有时间可以给大家翻译下 scons的 官方文档, 供大家学习和产考.


参考

  • Scons入门简介

这篇关于scons 工具的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1096204

相关文章

使用Python自建轻量级的HTTP调试工具

《使用Python自建轻量级的HTTP调试工具》这篇文章主要为大家详细介绍了如何使用Python自建一个轻量级的HTTP调试工具,文中的示例代码讲解详细,感兴趣的小伙伴可以参考一下... 目录一、为什么需要自建工具二、核心功能设计三、技术选型四、分步实现五、进阶优化技巧六、使用示例七、性能对比八、扩展方向建

Python基于wxPython和FFmpeg开发一个视频标签工具

《Python基于wxPython和FFmpeg开发一个视频标签工具》在当今数字媒体时代,视频内容的管理和标记变得越来越重要,无论是研究人员需要对实验视频进行时间点标记,还是个人用户希望对家庭视频进行... 目录引言1. 应用概述2. 技术栈分析2.1 核心库和模块2.2 wxpython作为GUI选择的优

使用Java实现通用树形结构构建工具类

《使用Java实现通用树形结构构建工具类》这篇文章主要为大家详细介绍了如何使用Java实现通用树形结构构建工具类,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录完整代码一、设计思想与核心功能二、核心实现原理1. 数据结构准备阶段2. 循环依赖检测算法3. 树形结构构建4. 搜索子

利用Python开发Markdown表格结构转换为Excel工具

《利用Python开发Markdown表格结构转换为Excel工具》在数据管理和文档编写过程中,我们经常使用Markdown来记录表格数据,但它没有Excel使用方便,所以本文将使用Python编写一... 目录1.完整代码2. 项目概述3. 代码解析3.1 依赖库3.2 GUI 设计3.3 解析 Mark

利用Go语言开发文件操作工具轻松处理所有文件

《利用Go语言开发文件操作工具轻松处理所有文件》在后端开发中,文件操作是一个非常常见但又容易出错的场景,本文小编要向大家介绍一个强大的Go语言文件操作工具库,它能帮你轻松处理各种文件操作场景... 目录为什么需要这个工具?核心功能详解1. 文件/目录存javascript在性检查2. 批量创建目录3. 文件

jvm调优常用命令行工具详解

《jvm调优常用命令行工具详解》:本文主要介绍jvm调优常用命令行工具的用法,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一 jinfo命令查看参数1.1 查看jvm参数二 jstack命令2.1 查看现场堆栈信息三 jstat 实时查看堆内存,gc情况3.1

MySQL使用binlog2sql工具实现在线恢复数据功能

《MySQL使用binlog2sql工具实现在线恢复数据功能》binlog2sql是大众点评开源的一款用于解析MySQLbinlog的工具,根据不同选项,可以得到原始SQL、回滚SQL等,下面我们就来... 目录背景目标步骤准备工作恢复数据结果验证结论背景生产数据库执行 SQL 脚本,一般会经过正规的审批

基于Python开发批量提取Excel图片的小工具

《基于Python开发批量提取Excel图片的小工具》这篇文章主要为大家详细介绍了如何使用Python中的openpyxl库开发一个小工具,可以实现批量提取Excel图片,有需要的小伙伴可以参考一下... 目前有一个需求,就是批量读取当前目录下所有文件夹里的Excel文件,去获取出Excel文件中的图片,并

Java导入、导出excel用法步骤保姆级教程(附封装好的工具类)

《Java导入、导出excel用法步骤保姆级教程(附封装好的工具类)》:本文主要介绍Java导入、导出excel的相关资料,讲解了使用Java和ApachePOI库将数据导出为Excel文件,包括... 目录前言一、引入Apache POI依赖二、用法&步骤2.1 创建Excel的元素2.3 样式和字体2.

基于Python开发PDF转PNG的可视化工具

《基于Python开发PDF转PNG的可视化工具》在数字文档处理领域,PDF到图像格式的转换是常见需求,本文介绍如何利用Python的PyMuPDF库和Tkinter框架开发一个带图形界面的PDF转P... 目录一、引言二、功能特性三、技术架构1. 技术栈组成2. 系统架构javascript设计3.效果图