当前位置: 首页 > 编程笔记 >

Python自动化构建工具scons使用入门笔记

农弘毅
2023-03-14
本文向大家介绍Python自动化构建工具scons使用入门笔记,包括了Python自动化构建工具scons使用入门笔记的使用技巧和注意事项,需要的朋友参考一下

这段时间用到了scons,这里总结下,也方便我以后查阅。

一、安装scons
Linux环境(以CentOS为例)

1、yum安装

yum install scons
2、源码安装

下载scons:http://http://jaist.dl.sourceforge.net/project/scons/scons/2.3.0/scons-2.3.0.zip

安装scons:python setup.py install

二、scons常用命令

scons -c : 可以清除生成的临时文件和目标文件,相当于执行make clean。

scons -Q : 将产生更少的输出信息。

三、scons使用示例

1、编译可执行文件

使用Program函数进行可执行文件的编译。

1.1 单文件方式

1.1.1 编写程序代码

建立文件test.c,内容如下:


#include <stdio.h>

int main()

{

    printf("Just a test!\n");

    return 0;

}


1.1.2 编写SConstruct代码

内容如下:


Program("test1.c")


1.1.3 编译程序

执行scons命令进行编译,效果如下:

1.2 多文件方式

1.2.1 编写程序代码

test1.h文件:


#include <stdio.h>

void fun11();


test1.c文件:

#include "test1.h"

void fun11()

{

    printf("fun11\n");

}


test2.c文件:

#include "test1.h"

int main()

{

    fun11();

    return 0;

}


1.2.2 编写SConstruct代码

内容如下:


Program('test', ['test1.c','test2.c'])


或者:

Program('test',Glob('*.c')) 


1.2.3 编译程序

执行scons命令进行编译。

1.3 依赖

1.3.1 链接库

语法示例如下:


Program('test', ['test1.cpp'],LIBS=['boost_system','boost_thread-mt'], LIBPATH='/usr/lib64')


1.3.2 包含库

语法示例如下:


Program('program',Glob('*.c'),CPPPATH='/home/admin/inc')


2、编译静态库

语法示例如下:


Library('libtest1',['test1.c'])


3、编译动态库

语法示例如下:


SharedLibrary('libtest1',['test1.c'])

三、其它

参考资料

(1) scons主页:http://www.scons.org/

(2) scons文档:http://www.scons.org/documentation.php

 类似资料:
  • SCons 简介 SCons 是一套由 Python 语言编写的开源构建系统,类似于 GNU Make。它采用不同于通常 Makefile 文件的方式,而是使用 SConstruct 和 SConscript 文件来替代。这些文件也是 Python 脚本,能够使用标准的 Python 语法来编写。所以在 SConstruct、SConscript 文件中可以调用 Python 标准库进行各类复杂的

  • 自动化所有测试流程并对其进行配置以实现速度和灵活性至关重要。此过程称为DevOps自动化。 维护庞大的IT基础架构的大型DevOps团队面临的困难可以简要分为六个不同的类别。 基建自动化 配置管理 部署自动化 绩效管理 日志管理 监测 下面我们来看看每个类别中的一些工具以及它们如何解决痛点 - 1. 基建自动化 亚马逊网络服务(AWS):作为云服务,无需实际存在于数据中心。此外,它们易于按需扩展。

  • 主要内容:使用 maven-invoker-plugin 插件Maven 自动化构建是一种方案,即当某个项目构建完成后(特别是有代码更新的情况下),所有依赖它的相关项目也应该开始构建过程,以确保这些项目的稳定运行。 Maven 的自动化构建主要通过如下两种方案实现: 使用 maven-invoker-plugin 插件。 使用持续集成(CI)服务器自动管理构建自动化,例如 Jenkins (了解即可)。 使用 maven-invoker-plugin 插件

  • 本文向大家介绍在Mac OS上安装使用Node.js的项目自动化构建工具Gulp,包括了在Mac OS上安装使用Node.js的项目自动化构建工具Gulp的使用技巧和注意事项,需要的朋友参考一下 安装 node.js 首先需要安装 node.js, 通常情况下,只需要到 Node.js 官网下载安装包安装就可以了。不过我可耻的失败了,弹出了如下错误: 于是我换成了 brew 大法: 安装 Gulp

  • 你可以使用Scapy构建你自己的自动化工具。你也可以扩展Scapy而不必编辑它的源文件。如果你构建了一些有趣的工具,请捐献给我们的邮件列表。 在你的工具中使用Scapy 你可以很容易的在你的工具中使用Scapy,只需要导入你需要的便可以使用。 第一个例子是传入一个IP或者一个主机名作为参数,发送一个ICMP响应请求,然后显示返回包完整的构造。 #! /usr/bin/env python imp

  • 我试图推出iOS应用程序,这是开发和建立在Xcode版本7.3.1(7D1014)使用Appium自动化工具。为了启动ios应用程序,我在IOS模拟器上安装了苹果公司的根证书,方法是在模拟器上拖放证书文件。我能够手动启动应用程序,但使用appium自动化工具启动应用程序时出现问题。IOS应用程序启动时失败,我得到"nsurlerrordomer1012 iphone"。下面我附上了简单的代码来设置