scons构建自己的一个简单的程序

时间:2022-02-17 14:21:50

我在我的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,就执行了程序。

scons构建自己的一个简单的程序

你可能很惊讶 SConstruct 的内容只有一行,然而事实确实如此,它比传统的 Makefile 简单很多。SConstruct 以 Python 脚本的语法编写,你可以像编写 Python 脚本一样来编写它。其中的 Program 是编译的类型,说明你准备想要建造一个可执行的二进制程序,它由 test.c 文件来生成。在这里,没有指定生成的可执行程序的名字。不过不用担心,SCons 会把源代码文件名字的后缀去掉,用来作为可执行文件的名字。在这里,我们甚至不需要像 Makefile 那样指定清理的动作,就可以执行清理任务。

如果你不想直接编译可执行的二进制文件,那也没有关系。SCons 支持多种编译类型,你可以根据自己的需要,任意选用其中的一种。SCons 支持的编译类型有:

Program: 编译成可执行程序(在 Windows 平台上即是 exe 文件),这是最常用的一种编译类型。

Object: 只编译成目标文件。使用这种类型,编译结束后,只会产生目标文件。在 POSIX 系统中,目标文件以 .o 结尾,在 Windows 平台上以 .OBJ 结尾。

Library: 编译成库文件。SCons 默认编译的库是指静态链接库。