scons构建自己的一个简单的程序
2014-07-06 13:14
393 查看
我在我的D盘下,新建一个文件夹,命名为try。在这个文件夹下新建两个文件,一个文件是test.c 。里面的程序很简单:
#include<stdio.h>
#include<stdlib.h>
int main(int argc, char* argv[])
{
printf("Hello, SCons!\n");
return 0;
}
另个文件是SConstruct,里面就一句代码:Program('test.c')
然后我在windows xp命令提示行下:输入d: 就进入了我的D盘。然后再输入cd try就进入了我建的那个文件夹。输入scons,就进行了编译。
编译生成了exe文件,然后我再直接输入exe文件的名字:test,就执行了程序。
你可能很惊讶 SConstruct 的内容只有一行,然而事实确实如此,它比传统的 Makefile 简单很多。SConstruct 以 Python 脚本的语法编写,你可以像编写 Python 脚本一样来编写它。其中的 Program 是编译的类型,说明你准备想要建造一个可执行的二进制程序,它由 test.c 文件来生成。在这里,没有指定生成的可执行程序的名字。不过不用担心,SCons 会把源代码文件名字的后缀去掉,用来作为可执行文件的名字。在这里,我们甚至不需要像 Makefile 那样指定清理的动作,就可以执行清理任务。
如果你不想直接编译可执行的二进制文件,那也没有关系。SCons 支持多种编译类型,你可以根据自己的需要,任意选用其中的一种。SCons 支持的编译类型有:
Program: 编译成可执行程序(在 Windows 平台上即是 exe 文件),这是最常用的一种编译类型。
Object: 只编译成目标文件。使用这种类型,编译结束后,只会产生目标文件。在 POSIX 系统中,目标文件以 .o 结尾,在 Windows 平台上以 .OBJ 结尾。
Library: 编译成库文件。SCons 默认编译的库是指静态链接库。
#include<stdio.h>
#include<stdlib.h>
int main(int argc, char* argv[])
{
printf("Hello, SCons!\n");
return 0;
}
另个文件是SConstruct,里面就一句代码:Program('test.c')
然后我在windows xp命令提示行下:输入d: 就进入了我的D盘。然后再输入cd try就进入了我建的那个文件夹。输入scons,就进行了编译。
编译生成了exe文件,然后我再直接输入exe文件的名字:test,就执行了程序。
你可能很惊讶 SConstruct 的内容只有一行,然而事实确实如此,它比传统的 Makefile 简单很多。SConstruct 以 Python 脚本的语法编写,你可以像编写 Python 脚本一样来编写它。其中的 Program 是编译的类型,说明你准备想要建造一个可执行的二进制程序,它由 test.c 文件来生成。在这里,没有指定生成的可执行程序的名字。不过不用担心,SCons 会把源代码文件名字的后缀去掉,用来作为可执行文件的名字。在这里,我们甚至不需要像 Makefile 那样指定清理的动作,就可以执行清理任务。
如果你不想直接编译可执行的二进制文件,那也没有关系。SCons 支持多种编译类型,你可以根据自己的需要,任意选用其中的一种。SCons 支持的编译类型有:
Program: 编译成可执行程序(在 Windows 平台上即是 exe 文件),这是最常用的一种编译类型。
Object: 只编译成目标文件。使用这种类型,编译结束后,只会产生目标文件。在 POSIX 系统中,目标文件以 .o 结尾,在 Windows 平台上以 .OBJ 结尾。
Library: 编译成库文件。SCons 默认编译的库是指静态链接库。
相关文章推荐
- 构建自己的代码库及软件开发不能是加工作坊--及一个简单的Linux C程序开发框架—linux-dev-framework
- 自己以前用C#写的简单升级程序源码(比如更新一个安装包或者压缩文件),带进度条,支持续传
- 自己动手写一个简单的Shell之二:运行程序
- 一个最简单的gps定出自己位置的小程序,监听位置变化
- 自己动手弄基于QT5和directx11的简单粒子编辑器v0.1(一个编辑器,一个更新器,一个linux服务端程序)
- 一个简单的tcl/tk程序,包含了几乎所有常用组件的基本用法,仅供自己参考
- 自己私用的一个简单程序
- 2006-10-29 22:50:00 自己写的一个简单的溢出程序
- 一个最简单的基站定位定出自己位置的小程序
- (1)构建一个简单的SilverLight程序
- NET简单的一个画图程序 使用简单 自己可以相关自己的内容进行配置就可以使用了
- 自己动手编写一个简单的U盘杀毒程序
- 如何使用Maven 3.0, Flex Mojos 4.0和Flex 4.5构建一个简单的SWF程序
- 使用rpcgen构建分布式程序的一个简单例子
- Qt入门-构建一个简单的窗体程序
- [原创]自己写的一个简单的程序日志记录类
- 使用ASP.NET MVC2+PDF.NET 构建一个简单的新闻管理程序
- 在自己的WSASOCKET服务端/客户端中做了一个简单的解包程序处理粘包的问题
- asp.net中 cookies的应用,自己写的一个简单登陆程序。
- 自己动手写一个简单的Windows shell扩展程序