Chinaunix首页 | 论坛 | 博客
  • 博客访问: 255569
  • 博文数量: 76
  • 博客积分: 66
  • 博客等级: 民兵
  • 技术积分: 980
  • 用 户 组: 普通用户
  • 注册时间: 2012-10-28 16:48
个人简介

做游戏 写程序 Erlang分布式

文章分类

全部博文(76)

文章存档

2017年(3)

2016年(2)

2015年(1)

2014年(5)

2013年(20)

2012年(45)

我的朋友

分类: Erlang

2013-07-16 00:56:31

Erlang有个类似Makefile的文件Emakefile负责编译erl程序, 

格式是 
Erlang代码  收藏代码
  1. {Modules, Options}.  

其中Modules是一个atom,或者是一个atom的列表。 
这些atom 
可以是一个模块名,如file1; 
可以是别的目录中的模块名,如../foo/file3; 
也可以是通过通配符匹配的一系列模块名,如file*; 
还可以是上述atom的列表,如['file*', '../foo/file3', 'File4']。 

Options是compiler命令的配置参数,具体参数可以 
一个Emakefile的例子 
Erlang代码  收藏代码
  1. {'src/*',   
  2.     [debug_info,   
  3.     {i,"include"},  
  4.     {outdir,"ebin"}  
  5.     ]}.  

shell命令 
Shell代码  收藏代码
  1. erl -make  
将寻找当前目录下的Emakefile文件,然后根据文件内容build,例如上述例子将当前src目录中的所有模块进行编译,程序中-include 或者 -include_dir指定的相关文件将在include目录中查找,编译好的beam文件输出到ebin目录下。 

make时将查看输出目录下有没有相关的编译文件,如果没有则进行编译; 
如果有则检查文件时间,比较后决定是否要进一步编译; 
如果是最新修改的源文件,则进行编译。 

ps: 
在erl shell中输入命令 
Erlang shell代码  收藏代码
  1. make :all().  
有同样的功效。如果加上load参数, 
Erlang shell代码  收藏代码
  1. make:all([load]).  

会将重新编译的代码重新转载进erlang,对调试很有帮助。
阅读(606) | 评论(0) | 转发(0) |
0

上一篇:我也实习了~~~

下一篇:erlang的运算符

给主人留下些什么吧!~~