预编译工具介绍
- 1、简介
- 2、功能演示
- 1、我们先用java语言举例。
- 1.1、先在桌面上建立一个空目录。
- 1.2、我们编辑test.java内容如下:
- 1.3、打开PreCompile工具,我们点击新建工程按钮。
- 1.4、点击选择目录按钮,选择桌面上的test目录,项目类型选择java,点击确定即可创建好工程。
- 1.5、双击红框处,打开test.java代码。
- 1.6、效果如下:
- 1.7、接下来,我们配置相应标签,譬如我把魏、蜀、吴视作不同的项目,对应(COUNTRY_WEI、COUNTRY_SHU、COUNTRY_WU),让我们点击项目标签配置按钮。
- 1.8、窗口如下:
- 1.9、我们点击空白处新建项目配置
- 1.10、每个国家(项目),国家对应国王和继承人,配置好之后,点击确定关闭,效果如下:
- 1.11、点击确定之后,我们发现控制台处的项目配置发生改变,点击展开之后效果如下:
- 1.12、先选择魏国 (WEI),点击旁边的预编译按钮。
- 1.13、此时我们用sublime打开看看test.java效果。
- 1.14、我们再切换一个试试
- 3、语法介绍
- 1、关键字:
- 2、举例(C语言),or 使用说明
- 3、举例(C语言),not 使用说明
- 4、优先级提升举例
- 5、嵌套说明,缩进只是为了更好的观看代码,实际运用中可以不缩进。
- 6、格式化说明,书写在一行也是没问题的。
- 7、其他语言,譬如lua、python只需将/* */替换成相应的注释块即可,譬如
- 4、下载地址
1、简介
你好!给你介绍一款预编译软件,
本软件和c语言的预编译概念不一样,不会涉及编译的操作,只是通过修改注释注释代码的方式实现预编译功能。
所以只要是风格类似的语言都是支持的。譬如C/C++、Java、JavaScript注释块(/* 注释内容 */)一样就可以通用。
目前支持的注释块有
C/C++
/* 注释内容 */
lua
--[[注释内容 ]]
python
''' 注释内容 '''
2、功能演示
1、我们先用java语言举例。
1.1、先在桌面上建立一个空目录。
1.2、我们编辑test.java内容如下:
1.3、打开PreCompile工具,我们点击新建工程按钮。
1.4、点击选择目录按钮,选择桌面上的test目录,项目类型选择java,点击确定即可创建好工程。
1.5、双击红框处,打开test.java代码。
1.6、效果如下:
1.7、接下来,我们配置相应标签,譬如我把魏、蜀、吴视作不同的项目,对应(COUNTRY_WEI、COUNTRY_SHU、COUNTRY_WU),让我们点击项目标签配置按钮。
1.8、窗口如下:
我们右键Debug、Release,删除掉,新建好魏蜀吴几个项目。
1.9、我们点击空白处新建项目配置
双击即可修改对应的标签名。
1.10、每个国家(项目),国家对应国王和继承人,配置好之后,点击确定关闭,效果如下:
1.11、点击确定之后,我们发现控制台处的项目配置发生改变,点击展开之后效果如下:
1.12、先选择魏国 (WEI),点击旁边的预编译按钮。
1.13、此时我们用sublime打开看看test.java效果。
1.14、我们再切换一个试试
WU2的定义为COUNTRY_WU、heir
执行后,我们可以看到,“孙休”正确的打开了。到此,教程就到此结束了。
3、语法介绍
1、关键字:
if、else、elseif、end、then
2、逻辑运算符(优先级从上到下,括号可改变优先级):
not:当标签未定义时表达式成立
and:当两侧的标签都定义时,表达式成立
or:当两侧标签有一个定义时,表达式成立
注意,关键字无视大小写。
标签:
命名:
建议以字符串或者下划线开头,字母或者数字下划线组成。不能使用关键字命名,(if、else、elseif、end、then、not、and、or)
状态:
标签只有两种状态,定义或者没定义。
1、举例(C语言),and 使用说明:
定义的标签:juzhu、taishou
/*if junzhu and taishou then*/ // 如果是君主并且是太守
printf("是君主或者是太守");
/*else*`
printf("不是太守也不是君主"); // 表示普通武将
/*end*/
junzhu(君主)、taishou(太守)都定义了,所以条件成立,第一个注释块被打开,else注释被关闭,打印“主公曹操”。
2、举例(C语言),or 使用说明
定义的标签:taishou
/*if taishou or weiguo then*/
printf("是魏国的或者是太守");
/*else*`
printf("非魏国普通武将");
/*end*/
因为定义了taishou标签,所以只要taishou或者weiguo一个标签定义则表达式成立,所以条件成立,打印“是魏国的或者是太守”。
3、举例(C语言),not 使用说明
定义了标签:taishou
/*if not taishou then*`
printf("不是太守");
/*else*/
printf("是太守");
/*end*/
因为定义了taishou标签,结果为真,not之后,结果为假,所以条件不成立,else注释块被打开,打印“是太守”。
4、优先级提升举例
定义标签:weiguo、junzhu
/*if weiguo and (junzhu or taishou) then*/
printf("魏国的君主或者太守");
/*else*`
printf("非魏国的君主或者太守");
/*end*/
如果去掉括号,那么意思就变成了魏国的君主或者任意国家的太守。所以需要用括号提升表达式优先级。
5、嵌套说明,缩进只是为了更好的观看代码,实际运用中可以不缩进。
定义标签:wuguo、junzhu
/*if weiguo then*`
printf("魏国");
/*elseif wuguo then*/
/*if taishou then*`
printf("周瑜");
/*else*/
printf("孙权");
/*end*/
/*elseif shuguo then*/
/*if junzhu then*/
printf("蜀国");
/*elseif chengxiang then*/
printf("诸葛亮");
/*end*/
/*end*/
因为weiguo没定义,第一个条件表达式不成立,所以关闭,下一个表达式中wuguo定义了,所以表达式被打开,第三个表达式 taishou没定义,关闭注释块,所以输出“孙权”。
6、格式化说明,书写在一行也是没问题的。
定义标签:caocao
string name = /*if caocao then*/"曹操"/*else*/"孙权"/*end*/;
printf("%s\n", name.c_str());
因为定义了caocao,所以表达式成立,曹操被显示。
7、其他语言,譬如lua、python只需将/* */替换成相应的注释块即可,譬如
lua:
local name = --[[if caocao then]]"曹操"--[[else]`"孙权"--[[end]];
print(name);
python:
name = '''if caocao then'''"曹操"'''else''`"孙权"'''end''';
print(name);
4、下载地址
如有有兴趣,可以到这个链接中看到详细用法,以及下载地址。谢谢~
http://note.youdao.com/noteshare?id=80b30749403471c4154962704db709c9