关于erlang的编译

本文详细介绍了在项目中如何利用Emakefile进行Erlang代码的编译,探讨了Emakefile提供的编译方法及其优势。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

项目中使用Emakefile编译。

Emakefile编译提供的方法

make:all()-> up_to_date|error
make:all(Options)-> up_to_date|error 
   这两个方法首先会在当前目录下查找一个Emakefile(一个用于指定要编译的模块和选项)。如果没有找到这个文件,将会编译当前目录下的模块。
   遍历模块集合,在一下情况下会编译每一个模块:
	1、输出目录下缺少相关的编译文件。
	2、源文件发生变化自上次编译后。
	3、头文件发生变化自上次编译后。
   编译时,会输出每个要编译的文件,如果某个模块编译失败,将停止编译并返回错误。
   Options是个list,有一下选项:
	1、noexec 
		没有执行模式,只是打印每个需要编译的模块。
	     2、load 
		加载模式,加载所有编译过的模块。
	     3、netload 
 Net load mode. Loads all recompiled modules an all known nodes.(加载所有编译过的模块在所有已知的节点?)。
make:files(ModFiles) -> up_to_date | error
make:files(ModFiles,Options) -> up_to_date | error
      这两个方法执行过程与make:all相同,只是这两个方法指定了要编译的模块列表(模块文件的扩展名必须是.erl)。如果当前目录存在Emakefile文件,将搜索每个模块的编译选项,如果不存在模板的编译选项或者不存在Emakefile文件,依然编译模块。
		
Emakefile 文件内容
{Modules,Options}.    
    Modules是一个atom或atom的list,它可以是一下格式:
	1、一个文件名,如:file1
	2、在其他目录的文件名 如 ../foo/file1
	3、通配符指定的文件集合 如 'file*'
	4、通配符表示当前目录的所有模块 如 '*'
	5、任意上述格式组合的数组 如['file*','../foo/file3','File4']
    Options是compiler命令的配置参数。具体查看 http://www.erlang.org/doc/man/compile.html
Emakefile是从上到下读取的,如果一个模块出现多次,第一次有效。
 
内容主要来源 http://www.erlang.org/doc/man/make.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值