erlang趣事二

以前都是在erlang shell里进行c(),编译文件。今天看了坚强哥的erlang的Emakefile所以尝试了下。

先写一个Emakefile

%% -*- mode: erlang -*-
{"src/*", [debug_info, 
           {outdir, "ebin"},
           {i, "include"}
]}.
    
启动的时候。我是在windows下运行的、

写个cmd文件。

werl -name zhb@127.0.0.1 -pa ebin

首先确定你配置好了环境变量。可以打开命令窗口输入erl 看看是否进入erlang shell界面。

werl是打开erlang shell,加上w是启动erlang shell,我不喜欢在命令窗口敲。

-name 是起节点名字。

-pa  指定beam的目录。

----------------------------------------------------------------------------------------------------------------------------------------------------------

下边看源码

	-module(test).
	
	%%% =================================================================
	%%% API functions
	%%% =================================================================
	-export([get_number/0]).
	
	
	
	%%% =================================================================
	%%% Internal functions
	%%% =================================================================
	
		get_number()->

              lists:seq(1,10).	
	  </span>
点击cmd文件  

Erlang/OTP 18 [erts-7.0] [64-bit] [smp:4:4] [async-threads:10]

Eshell V7.0  (abort with ^G)
(zhb@127.0.0.1)1> make:all().
Recompile: src/test
up_to_date
(zhb@127.0.0.1)2> test:get_number().
[1,2,3,4,5,6,7,8,9,10]

此时,我们将源文件修改
	
		get_number()->

              lists:seq(1,8).	
	  
此时在运行
(zhb@127.0.0.1)3> make:all().
Recompile: src/test
up_to_date
(zhb@127.0.0.1)4> test:get_number().
[1,2,3,4,5,6,7,8,9,10]
发现还是运行的上次的。但是已经提示我们编译了。这是为什么呢。

后来发现erlang虽然编译了但是没有加载需要加载下。l().加载文件。

(zhb@127.0.0.1)5> l(test).
{module,test}
(zhb@127.0.0.1)6> test:get_number().
[1,2,3,4,5,6,7,8]
(zhb@127.0.0.1)7> 

好了。大家玩的高兴。。。。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值