premake构造工具

PreMake可以自动生成多个平台的MakeFile,比起其它的MakeFile生成软件(qmake, cmake),它最大的特点应该是它的工程文件其实是使用LUA语言编写的脚本,这样一来,它的工程文件可以拥有非常强大的表达能力。

PreMake的官方网站是:http://premake.sourceforge.net。可以下载到它的最新版本,仅仅一个可执行文件(大约230K),随便把它解压缩到一个目录就可以了。其官方说明参考:http://industriousone.com/what-premake

下面是一个简单的实例,使用premake工具生成工程文件。

首先编写文件

使用文本编辑器编写下面一段C代码:

#include <stdio.h>

void main()

{

printf("Hello world!\n");

}

保存为main.c文件。

使用文本编辑器编写工程文件:

solution "MyApplication"

configurations { "Debug", "Release" }

project "MyApplication"

kind "ConsoleApp"

language "C"

files { "**.h", "**.c" }

configuration "Debug"

defines { "DEBUG" }

flags { "Symbols" }

configuration "Release"

defines { "NDEBUG" }

flags { "Optimize" }

保存为premake4.lua文件。

(具体含义:参见文档http://industriousone.com/scripting-reference,我现在用的版本是premake4)

打开控制台,切换到这两个文件所在的目录,然后输入下面的命令:

premake4  vs2010,即生成了相关的MyApplication.vcxproj文件,MyApplication.sln文件等。

premake构造工具

时间: 2024-10-05 23:08:54

premake构造工具的相关文章

【软件构造】第二章第二节 软件构造的过程、系统和工具

第二章第二节 软件构造的过程.系统和工具 Outline 广义的软件构造过程 编程 静态代码分析 动态代码分析 调试与测试 重构 狭义的软件构造过程 构造系统:经典BUILD场景 构造系统的组件 构造过程和构造描述 Java编译工具 子目标和结构变体 构造工具 Notes ## 广义的软件构造过程 [编程(Coding)] 开发语言:如Java.C.Python 使用IDE(集成开发工具)的优势(组成) 方便编写代码和管理文件(有代码编辑器,代码重构工具.文件和库(Library)管理工具) 能

构造可配置词法语法分析器生成器(下)

本文为笔者原创,转载请注明出处 http://blog.csdn.net/xinghongduo mylex & xparser mylex & xparser是笔者实现的类似于Lex和Yacc的词法语法分析器生成器,它接受正则表达式定义的词法规则和BNF定义的语法规则,自动构造对应的以C为宿主语言的词法分析器源程序mylex.h, mylex.c和语法分析器源程序xparser.h, xparser.c. mylex & xparser特点如下: 轻量无依赖:构造器的主要代码仅2

构造可配置词法语法分析器生成器(中)

本文为笔者原创,转载请注明出处 http://blog.csdn.net/xinghongduo   语法分析器 语法分析器(grammar parser)是编译器的核心部分之一,它的作用是检测词法分析器返回的token序列是否符合文法定义的规则.一个完整的语法分析器除了检测语法正确性外还要包含对出错的处理以及错误恢复等功能. 文法和文法类型 文法是定义一个语言的所有规则的集合,形式上定义为四元组G={VT,VN,S,P},其中: VT是非空有限符号集合,它的每个符号称为终结符,文法产生的语言由

软件构造 第一章

一.课程简介 1.软件构造课程的目标 ①程序设计与实现能力 ②系统设计与实现能力 ③系统分析与评价能力 ④利用现代软件构造工具的能力 2.传统软件设计步骤 ①讨论需要写的软件并实现②测试代码并改错③重复②.图示如下 3.更好的软件设计 ①未雨绸缪②考虑非功能质量属性③考虑多种设计选择④把设计决策明确写下来 4.设计的目标.原则和模式 设计目标:编程的视野 设计原则:编程的标尺 设计模式:编程的经验 二.软件构造多维视图 1.什么是软件 (1)构成: ·程序Program:UI, Algorith

突破CRUD | 万能树工具类封装

0.学完本文你或许可以收获感受一个树工具从初始逐步优化完善的过程 树工具封装的设计思考与实现思路 最后收获一款拿来即用的树工具源代码 对于前端树组件有一定了解和使用过的同学可直接跳跃到第3章节开始. 1.树长什么样 ?前端的树组件大多数情况下出现在后端的管理系统中,比如我们常见的菜单树.机构树.某某分类树.树表格等.大致像下方图片所展示的这样. 菜单树 机构树 org_tree.pngorg_tree.png 树表格 大致上来说,前端树的展现形式就是上面3张图所列的几种形式.而这种前端树组件的展

如何制作行政区划矢量图(shp格式)

有时候想要一张shp格式的地方行政区划矢量图,但苦于网络资源有限,找得到的可能不够满足需求,更多时候是难以找到,这时唯有自力更生了!下面我将分享一种方法,通过用GIS软件创建shapefile文件并进行编辑描边,以达到目的. 工具/原料 ARCGIS10.2 行政区划图.jpg 添加图片 1 文件不能直接"打开".开启GIS后,选择标准工具条里的黑十字形图标,弹出"添加数据"对话框,找到你的图片并点击"添加",以此在软件添加图片. 2 在添加过程

【转】LR分析法

转自:http://guanjy0129.blog.163.com/blog/static/1115494452010614113333509/ LR分析法的归约过程是规范推导的逆过程,所以LR分析过程是一种规范归约过程. LR分析法正是给出一种能根据当前分析栈中的符号串(通常以状态表示)和向右顺序查看输入串的K个(K≥0)符号就可唯一地确定分析器的动作是移进还是归约和用哪个产生式归约,因而也就能唯一地确定句柄. 其中LR(0)分析器是在分析过程中不需向右查看输入符号,因而它对文法的限制较大,然

python/c++接口库比较(SWIG,boost.python, pycxx, py++, sip, Weave, Pyrex )

<python/c++接口库比较(SWIG,boost.python, pycxx, py++, sip, Weave, Pyrex )>http://blog.csdn.net/lainegates/article/details/19565823 目前有很多开源的Python/c++ 绑定工具,搜了好多岾子,这里稍微总结下. SWIG 支持 Python 2 and 3 配置正确的话,可以全自动完成封装(*.i文件需要自己写) 当不是全自动的时候,它大多会重复你的.h文件并给出提示 除了P

netty 的 JBoss Marshalling 编码解码

一. JBoss Marshalling 简介. JBoss Marshalling 是一个Java 对象序列化包,对 JDK 默认的序列化框架进行了优化,但又保持跟 Java.io.Serializable 接口的兼容,同时增加了一些可调的参数和附件的特性, 这些参数和附加的特性, 这些参数和特性可通过工厂类进行配置. 二. JBoss Marshalling 的使用. 1. 下载  org.jboss.marshalling <dependency> <groupId>org.