博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
利用scons构建project
阅读量:7172 次
发布时间:2019-06-29

本文共 1035 字,大约阅读时间需要 3 分钟。

scons有非常多相对于make构建系统的优秀特性,可是因为发展时间比較短如今的应用范围还是不太多,可以找到的资料也不是非常多。

scons如今一大问题就是初始上手还是有点难度的,对于有python的基础的还是有点问题,毕竟他跟写成的python还是不一样的。尽管他遵循了python语言的语法,相同用python进行解析,可是我觉得他仅仅是由python进行解释,不全然等同于可运行的python。

这点我相信用一用之后会有理解。

先讲一下这个构建的结构:

整个程序的组织是仅仅有SConstruct这个文件的名字是固定的,这点和Makefile是一样的。

这个脚本就相当于makefile,这里面还能够挂接其它的python脚本进行构建的扩展,对于比較大的系统还是非常有作用的。

构建步骤就是先要建立一个SConstruct文件,这个文件能够选择成为py格式这样能够方便的帮我们分析里面是不是有语法错误。

以下就要写里面的内容了,内容的组织遵循python语法。

这里给出一个最简单的编译hello.c的文件。

import os
import sys
print "call program 'hello.c'"
#CC = 'arm-none-eabi-gcc'
CPPPATH = '/opt/arm-2010.09/bin'
env = Environment(CC='/opt/arm-2010.09/bin/arm-none-eabi-gcc',CCFLAGS='-O2')
#env.Append(CCFLAGS='-O2')
#env = Environment(ENV=os.environ,tools=['arm-none-eabi-gcc'])
env.Program('src/go.c')
print "exit"

相信有几本的python经验的都能看懂个大概,这里就解释里面的主要函数的意义。

Environment是环境变量设置的函数,里面CC和CCFLAGS是scons的keyword  CC是编译器的路径。剩下的是编译条件的环境变量。

Program也是scons的keyword  他的作用就是设置编译的文件名称和路径一边找到编译目标。

print和makefi里面echo作用一样能够帮助调试或者看到一些过程

这样一个主要的scons的构建文件就写完了,在文件夹下执行 scons 就能够进行编译了。

一些其它复杂的应用兴许介绍。

转载地址:http://otbzm.baihongyu.com/

你可能感兴趣的文章
.Net性能的方方面面(必看官方经典)
查看>>
java反射调用方法
查看>>
***使用Fiddler进行IOS APP的HTTP抓包
查看>>
ConcurrentHashMap总结
查看>>
uboot arp地址解析
查看>>
gem5: 使用ruby memory system中的mesh结构 出现AssertionError错误
查看>>
leetcode:Binary Tree Paths
查看>>
ubuntu-Linux下如何安装Tensorflow?
查看>>
关于1KB病毒的清除
查看>>
BZOJ 4318: OSU!
查看>>
【算法系列】之递归算法
查看>>
Android获取wifi MAC,关闭的wifi不能获取
查看>>
《Android源代码设计模式解析与实战》读书笔记
查看>>
c# CacheManager 缓存管理
查看>>
LeetCode - 463. Island Perimeter
查看>>
Jquery—Jquery中的(function($){...})(jQuery)
查看>>
写给大家看的编程规范
查看>>
Android Studio “懒人”必备插件android layout id converter
查看>>
SQL语句:Group By总结
查看>>
Java字节码 小结
查看>>