栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

1213

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

1213

1213_SCons初步了解以及安装试用装试用

全部学习汇总:https://github.com/GreyZhang/g_SCons

前阵子学习中的Makefile中断了,最近计划捡回来。不过,这段时间刚好在网上看到了几种可以实现软件构建的自动化工具,趁着这个机会了解一下。说不准,后续这样工具的掌握就可以直接替代掉Makefile这种古老的技术了。这次我看到的一个工具叫做SCons,支持多种编程语言,而我关注的C语言也在其中。

首先看看什么事SCons,从介绍看这个很可能是软件构建工具单词的缩写。不同于autotools或者cmake,他们是提供Makefile的构建,SCons看起来是直接跳过了这样的过程,直接提供了一个make的替代方案。从这个描述看,SCons还是有自己的独到之处的。以往的各种工具其实是在想方设法构建Makefile,如果深入理解还是躲不开Makefile的知识。而SCons把这个换成了python,自然,这种脚本语言在掌握上应该会更容易一些。

接下来,找一下软件包并且尝试安装。从官方的网站介绍找到了链接:SCons - Browse /scons at SourceForge.net

这里面有多个版本,最新的是4.3.0,但是看到网络上的说明稳定版本是4.2.0,因此我自己接下来的尝试的版本会是4.2.0。有一点需要注意,SCons对于Python的版本是有要求的,安装不同的版本可能也会有不同的要求。安装之间需要确保python的版本安装正确,这个是另一个话题但是比较简单,这里不再专门介绍。

安装非常简单,解压压缩包之后执行python setup.py install。

检测安装是否成功,可以执行scons -v,查看提示。

从这里可以看到,版本号已经识别成功。

这个软件是在MIT的lic下的,之前对这个license了解不多。前面看FreeRTOS的时候,了解过这个MIT license的介绍。简单一句就是:比自由更加自由。

这里介绍了一下SCons跟Make之间的关系,从这里看得出最初看到的介绍以及我自己理解的那样。SCons其实并不是autotools或者make的同类品或者竞争者,而是Make方案的一个替代品。

接下来,尝试做一个最简单的尝试,做一个我认为的hello world形式的操作出来。具体的工程中只有一个文件,test.c,然后生成一个my_scons的可执行文件。程序实现一个字符串的打印。

  1. 首先创建sconstruct.py配置文件,具体的配置信息如下:

2. 接下来,实现一个简单的C文件编写,具体内容如下:

3. 命令行中切换到当前目录,然后执行scons .。这里需要注意,执行的时候必须要有管理员权限,否则的话临时的目录会创建不成功。可能这个后续还有改进的方式,暂时的hello world尝试我采用了切换管理员权限来达成目标。

虽然中间有部分警告,但是基础的功能看得出来是已经实现了。这自然会有很多改进点存在,临时至少是可以用这个验证一下可行性。

另外一点,可以从生成的文件中看到,中间涉及到的目标文件也是创建出来了的。

接下来附加一下涉及到的代码或者配置:

  1. 配置文件如下:

import os

env = Environment(ENV={'PATH': os.environ['PATH']})

env["CC"] = "gcc"

env.Program(target='my_scons', source=['test.c'])

  1. 代码文件如下:

#include "stdio.h"

int main(void)

{

printf("test for scons.n");

return 0;

}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/822713.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号