erlang Emakefile
Erlang有个类似Makefile的文件Emakefile负责编译erl程序,
格式是
- {Modules, Options}.
其中Modules是一个atom,或者是一个atom的列表。
这些atom
可以是一个模块名,如file1;
可以是别的目录中的模块名,如../foo/file3;
也可以是通过通配符匹配的一系列模块名,如file*;
还可以是上述atom的列表,如['file*', '../foo/file3', 'File4']。
Options是compiler命令的配置参数,具体参数可以 查看文档
一个Emakefile的例子
- {'src/*',
- [debug_info,
- {i,"include"},
- {outdir,"ebin"}
- ]}.
shell命令
- erl -make
将寻找当前目录下的Emakefile文件,然后根据文件内容build,例如上述例子将当前src目录中的所有模块进行编译,程序中-include或者 -include_dir指定的相关文件将在include目录中查找,编译好的beam文件输出到ebin目录下。
make时将查看输出目录下有没有相关的编译文件,如果没有则进行编译;
如果有则检查文件时间,比较后决定是否要进一步编译;
如果是最新修改的源文件,则进行编译。
ps:
在erl shell中输入命令
- make :all().
有同样的功效。如果加上load参数,
- make:all([load]).
erlang Emakefile相关推荐
- Erlang的Emakefile文件备忘
转自:http://cryolite.javaeye.com/blog/192069 Erlang有个类似Makefile的文件Emakefile负责编译erl程序,说明文档在此 格式是 Erlang ...
- 2015-1-11 【erlang】erl中的make -make 参数 以及 Emakefile
光棍节??????? :-) 学习erlang开发时,在某个Makefile中发现,在使用erl时使用 -make 选项,于是查找手册学习之,顺带了解了Emakefile 1.困惑的出现 ...
- erlang的Emakefile和批处理启动
在当前的项目文件夹下新建一个叫Emakefile,内容如下所示 {'src/*', [debug_info, {i,"include"}, {outdir,"ebin&q ...
- [转]使用target_system进行erlang应用的发行
[转]使用target_system进行erlang应用的发行 转自:http://blogold.chinaunix.net/u3/104903/showart_2348532.html 一个简单实 ...
- Erlang -- 编译
编译 单个文件编译 在Erlang Shell运行c(ModuleName).进行编译. c(ModuleName, Options)也可以通过Options添加编译选项. 通过定制Emakefile ...
- Erlang项目编译及防止反编译
erlang自带了类似makefile的功能,Emakefile,可以自动化编译整个erlang项目的代码,使用非常方便,直接运行erl -make即可自动化编译. Erlang项目编译 一个简单的例 ...
- Erlang笔记 -- 基础
Hello World %% hello.erl -module(hello). -export([start/0]).start() ->io:format("Hello World ...
- erlang的tcp服务器模板
改来改去,最后放github了,贴的也累,蛋疼 还有一个tcp批量客户端的,也一起了 大概思路是 混合模式 使用erlang:send_after添加recv的超时处理 send在socket的opt ...
- Erlang服务端开发(无需Erlang基础)笔试题
某游戏公司Erlang服务端开发(无需Erlang基础)笔试题,面向C/C++程序员 一.用你熟悉的语言解决下面的问题. 1.反转输出字符串,并移除其中的空格. 2.快速的判断一个数是否素数的方法. ...
最新文章
- IC/FPGA校招笔试题分析(四)再看Moore状态机实现序列检测器
- 【Android 电量优化】JobScheduler 相关源码分析 ( ConnectivityController 底层源码分析 | 构造函数 | 追踪任务更新 | 注册接收者监听连接变化 )
- 论文笔记:ZFNet
- 如何看待papi酱的个人平台papitube?
- java converttostring_由 ToString()和Convert.ToString() 引发的问题
- scala 的39个关键字
- 批量删除某个目录下的 某类型文件方法
- chosen组件实现下拉框
- SpringBoot启动出现java.sql.SQLNonTransientConnectionException: CLIENT_PLUGIN_AUTH is required
- 发表和编辑Post的一个Bug
- 第三十一期:QQ for Linux 复活,微信 for Linux 还远吗?
- H5 输入框text和number切换
- 材料科学与工程考计算机,计算机在材料科学与工程中应用作业.pdf
- amazon linux ami root 密码,Ubuntu Server的Amazon AMI映像的默认用户名是什么?
- 电子过载继电器行业调研报告 - 市场现状分析与发展前景预测(2021-2027年)
- Log4j配置和简单使用
- CSS按钮动画(四)
- Python搭建投票分类器模型来进行机器学习实验
- python判断手机号码是否正确_python检测手机号码是否合法
- python三国演义人物 统计分析前20个_python爬取三国演义文本,统计三国演义中出场次数前30的人物,并生成词云、图表...