`
wgcode
  • 浏览: 593381 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

Erlang中用的makefile的一点解释

阅读更多

又重新开始读了《Programming Erlang》,也就又读到了第六章中的makefile,结合学习中的具体情况,略作了修改如下:

.SUFFIXES: .erl .beam

OUT = ./beam

.erl.beam:
    erlc -W $< ; mv $@ ${OUT}

ERL = erl -boot start_clean

MODS = kvs

all: compile

compile: ${MODS:%=%.beam}

# application:
#     ${ERL} -s application start ARG1 ARG2

clean:
    rm -rf *.beam erl_crash.dump

 跟书里有的一点不同是,我把编译之后的文件转移到了beam文件夹里了,所以为此,在“~/.erlang”中也添加了该路径:

path_addz("./beam").
 这样,就方便载入自己编写的模块。最后还是要对以上的makefile稍作解释,以便以后忘了可以看看。

.SUFFIX声明要用到的或者将生成的文件的类型;.erl.beam是指.beam依赖于.erl,紧接着下一行一个tab之后的是一段有关于这种生成关系的具体命令,我也就是在这里把beam文件移动到./beam文件夹里的;MODS和OUT都是定义的变量,方便重复使用(虽然这里没有再用到,但是至少看起来很清楚);application这个替换被注释掉了,因为我几乎用不到,但也可能以后会用到,除了编译之外,它还负责运行编译之后的模块函数;clean就是删除当前文件夹下的beam文件。

分享到:
评论
1 楼 room_bb 2015-03-18  
.hrl文件怎么加入到编译规则里面?
比如:
pp.hrl文件
-define(PI, 3.14)


test.erl文件
-module(test).

-include(pp.hrl).

-export(test_pi/0).
test_pi() ->
    io:format("the pi is:~w",[PI]).


第一编译,执行test_pi()输出是3.14
但是我修改pp.hrl PI=5.14
再次编译执行,发现没编译到test.erl文件,执行test_pi()发现还是3.14

相关推荐

    OTP进程池应用程序_Erlang_Makefile_下载.zip

    在Erlang项目中,`Makefile`通常包含编译源代码、创建 beam 文件(Erlang的字节码)、测试代码以及打包应用等步骤。用户可以通过简单的命令,如`make`或`make all`,来触发这些步骤,而无需手动执行每个单独的任务。...

    erlog, 在Erlang中,Prolog解释器.zip

    erlog, 在Erlang中,Prolog解释器 Erlog - 用于Erlang应用程序的PrologErlog是在Erlang中实现的Prolog解释器,并与Erlang运行时系统集成。 它是Prolog标准的子集。 还包括 Erlog shell ( REPL ) 。如

    erlang编程 Introducing Erlang

    它负责解释Erlang字节码,提供内存管理、垃圾回收和并发调度等功能。 ### 10. 语言特性 Erlang的语法简洁,支持模式匹配、函数式编程、列表处理和递归等特性。它的动态类型系统和强大的类型推断让代码更加灵活。 ...

    erlang_版本24.3.4.4

    这一步会检测你的系统环境并生成适合的Makefile。 4. **构建和测试**:执行`make`命令开始编译Erlang。这个过程可能需要一些时间,因为它会编译整个Erlang虚拟机和标准库。编译完成后,你可以通过运行`make tests`...

    erlang25.0 windows版本

    Erlang是一种高级编程语言,特别适用于并发、分布式和实时系统。它由Ericsson公司开发,主要用于构建高可用性、容错性和可扩展性的软实时系统。Erlang的25.0版本是该语言的一个更新,针对Windows操作系统进行了优化...

    erlang资源

    书中可能会详细解释这一特性及其在并发编程中的应用。 6. **并行算法**:书中可能包含实例,演示如何使用Erlang实现高效的并行算法,提升计算性能。 《Erlang入门手册》则可能包含以下基础内容: 1. **Erlang语法...

    Erlang/OTP 26.2.1

    Erlang/OTP 26.2.1,Erlang,OTP,26.2.1

    erlang22最新下载包

    Erlang是一种面向并发的、函数式编程语言,由瑞典电信设备制造商Ericsson为了实现分布式实时、高可靠性系统而开发。Erlang以其强大的并行处理能力、容错性和易于构建大规模分布式系统的特点,在电信、金融和互联网等...

    Erlang官网下载过慢

    Erlang是一种面向并发的、函数式编程语言,主要用于构建高度可扩展的、容错性强的分布式系统。在IT行业中,Erlang因其强大的实时性和处理大量并发连接的能力而被广泛应用于电信、互联网基础设施和实时系统。RabbitMQ...

    erlang深度分析.pdf

    BEAM是Erlang的字节码解释器,模拟器可以用于开发阶段模拟运行和测试Erlang代码,有助于调试程序和优化性能。 #### 7. 内存管理 Erlang的内存管理是非常高效的,它使用了一种特殊的垃圾回收机制来确保低延迟。了解...

    ErlangB和ErlangC计算工具(exe可执行文件+excel两个)

    Erlang B和Erlang C是电信领域中两种重要的流量模型,用于预测和分析通信系统中的呼叫处理能力和拥塞情况。这两个模型由丹麦工程师Agner Krarup Erlang在20世纪初提出,至今仍广泛应用于现代通信网络的设计与优化。 ...

    Erlang 20.3linux安装包

    Erlang是一种面向并发的、函数式编程语言,主要用于构建高度可扩展的、容错性强的分布式系统。在IT行业中,Erlang因其强大的实时性、并发性和内存管理机制而被广泛应用于网络通信、数据库系统以及消息中间件,如...

    xiandiao_erlang_Erlang课后习题_

    【Erlang编程语言及其应用】 Erlang是一种并发式、函数式的编程语言,由瑞典电信设备制造商Ericsson开发,最初用于构建高可用性、容错性和可扩展性的分布式系统。"xiandiao_erlang_Erlang课后习题_"这个压缩包文件...

    erlang安装包.zip

    erlang安装包

    两本erlang电子书

    书中会详细解释Erlang的语法和编程范式,让读者理解其独特的函数式编程风格。同时,它也会涉及Erlang的并发特性和错误处理机制,使读者能够编写出可扩展且容错性强的代码。此外,这本书还会讨论Erlang的模块系统、...

    erlang9.rar

    Erlang是一种高级编程语言,特别适用于并发、分布式和实时计算系统。它的设计目标是创建一个高可用性、容错性强、低延迟的系统。Erlang9指的是Erlang/OTP(Open Telephony Platform)的第9个主要版本。OTP是Erlang...

    Erlang_B_model.rar_Erlang B _Erlang B model_Wireless Handbook_e

    **无线通信手册**通常会包含Erlang B模型的详细解释和应用实例,帮助工程师理解和计算通信网络的性能。在这个压缩包中,我们有一个名为"Erlang_B_model.pdf"的文件,它很可能是这样的手册的一部分,提供了关于Erlang...

    erlang otp25 win安装包

    erlang otp25 win安装包

    erlang23.2版windows64位.zip

    Erlang是一种面向并发的、函数式编程语言,由瑞典电信设备制造商Ericsson开发,用于构建高可用性、分布式和实时系统。Erlang因其在处理大量并发连接和容错能力上的优秀表现,广泛应用于电信、银行、互联网服务等领域...

    erlang programming

    Erlang是一种面向并发的、函数式编程语言,主要用于构建高度可扩展的、容错性强的分布式系统。在“erlang programming”这个主题下,我们可以深入探讨以下几个关键知识点: 1. **Erlang语言基础**:Erlang是瑞典...

Global site tag (gtag.js) - Google Analytics