Erlang学习记录(一)——Windows下的环境搭建
一.安装编译器
在http://www.erlang.org/download.html下载R16B01 Windows Binary File并安装。
二.运行编译器
安装完编译器后,打开安装目录下的werl.exe,就可以进入编译器环境。可以通过toolbar:start().来显示toolbar。通过halt()来退出编译器。
三.配置编译器
用命令init:get_arguments().可以获得编译器的环境配置。
[{root,["C:\\PROGRA~2\\ERL510~1.2"]},
{progname,["erl"]},
{home,["C:\\Users\\guo"]},
我们可以利用命令行,在打开werl.exe时传入参数来配置编译器的环境
1.mode
-mode embedded 所有的code都会按照boot script的配置在编译器启动时一起加载
-mode interactive(default) code按需加载
2.pa和pz
配置编译文件的查找路径
-pa Dir 将Dir加到查找路径的开头,即最先在这个路径查找代码文件
-pz Dir 加到路径的结尾
注意,Dir必须是全英文的路径,不支持带汉字的路径。路径中间有空格的话需要用双引号括住,否则会理解为两个路径。用空格来分割开多个路径。
3.通过boot script进行更多配置
详见http://www.erlang.org/doc/system_principles/system_principles.html
四.安装IDE
其实直接用notepad就行,也可以在http://www.sublimetext.com下载Sublime Text并安装。不过这个工具貌似需要注册。我装的beta3版本,没觉得怎么好用。
五.编写代码并存为.erl文件
-module(hello).
-export([say/0]). say() ->
io:format("hello world~n",[]).
将上述代码存为hello.erl
六.编译文件
通过c(hello).语句来编译hello.erl文件,文件将被编译成hello.beam文件。
编译器默认需要编译的文件位于其启动路径下。如果你需要编译别的路径下的erl文件,如D:\Erlang下的erl文件,有三种办法:
1.可以在该文件夹下创建一个erl.bat,并利用"C:\Program Files (x86)\erl5.10.2\bin\werl.exe"来打开编译器。
2.参见(三.2),利用-pa,-pz来加入路径
3.在Erlang编辑器中,通过code模块来加入路径
add_pathz(Dir)加在路径尾
add_patha(Dir)加在路径头
add_pathsz([Dir1,...,DirN])加在路径尾
add_pathsa([Dir1,...,DirN])加在路径头
需要注意的是Dir中不能用"\",而需要用"/",Dir中用汉字不报错,但是编译时不能正确识别。
所以如果你的路径中含有汉字,我目前知道的方案只有1
注意:我用了Emakefile的方法后,2,3这两种方法都失效了,不知道为啥,重装无效!!!
七.高级编译
1.可以使用compile模块来编译
file(File)
file(File, Options) :参数配置参见http://www.erlang.org/doc/man/compile.html
2.使用make模块,通过Emakefile来定制编译行为
方法为在编译器的启动路径下新建Emakefile文件,为不同模块配置编译行为,例如
{"D:/code/Erlang/*", [report, verbose, {outdir,"D:/code/Erlang"}] }.
这个配置是说将编译D:/code/Erlang/路径下的所有文件,并将编译好的beam放入D:/code/Erlang文件夹下。接着运行make:all([load]).就能完成编译。
参见http://www.erlang.org/doc/man/make.html
八.运行函数
通过hello:say().语句就能运行函数了。
Erlang学习记录(一)——Windows下的环境搭建的更多相关文章
- Windows下的环境搭建Erlang
Windows下的环境搭建 Erlang 一.安装编译器 在http://www.erlang.org/download.html下载R16B01 Windows Binary File并安装. 二. ...
- Redis在windows下的环境搭建
Redis在windows下的环境搭建 下载windows版本redis,,官方下载地址:http://redis.io/download, 不过官方没有Windows版本,官网只提供linux版本的 ...
- 2017.7.18 windows下ELK环境搭建
参考来自:Windows环境下ELK平台的搭建 另一篇博文:2017.7.18 linux下ELK环境搭建 0 版本说明 因为ELK从5.0开始只支持jdk 1.8,但是项目中使用的是JDK 1.7, ...
- Spark学习笔记--Spark在Windows下的环境搭建
本文主要是讲解Spark在Windows环境是如何搭建的 一.JDK的安装 1.1 下载JDK 首先需要安装JDK,并且将环境变量配置好,如果已经安装了的老司机可以忽略.JDK(全称是JavaTM P ...
- Spark学习笔记--Spark在Windows下的环境搭建(转)
本文主要是讲解Spark在Windows环境是如何搭建的 一.JDK的安装 1.1 下载JDK 首先需要安装JDK,并且将环境变量配置好,如果已经安装了的老司机可以忽略.JDK(全称是JavaTM P ...
- 区块链Hyperledger Fabric 学习记录(一)开发环境搭建(ubuntu16.04/ubuntu18.04)
目录 Fabric开发环境搭建 更新说明 教程环境及软件版本 Docker 安装Docker 配置用户组 配置Aliyun Docker加速器 安装docker-compose Go 下载源码 安装源 ...
- 【Pytorch-入门】windows下的环境搭建(经验证成功~)
前言 实验需要,之前使的tensorflow[因为自己手边的服务器都是windows环境TT...],但身边的师兄们用的都是pytorch,自己查了查现在做科研基本上都是用的pytorch,而且现在p ...
- Python科学计算(二)windows下开发环境搭建(当用pip安装出现Unable to find vcvarsall.bat)
用于科学计算Python语言真的是amazing! 方法一:直接安装集成好的软件 刚开始使用numpy.scipy这些模块的时候,图个方便直接使用了一个叫做Enthought的软件.Enthought ...
- Spark在Windows下的环境搭建(转)
原作者:xuweimdm 原文网址:http://blog.csdn.net/u011513853/article/details/52865076 由于Spark是用Scala来写的,所以Spa ...
随机推荐
- ribbon设置url级别的超时时间
序 ribbon的超时设置,只能按转发的serviceId来分的,无法像nginx那样直接在每个转发的链接里头设置超时时间.这里hack一下,实现url基本的ribbon超时时间设置.具体的思路就是重 ...
- 使用Redirector插件解决googleapis公共库加载的问题【转】
转自:http://www.cnblogs.com/kari/p/5860371.html 最近访问一些面向国外的网站总是会出现ajax.googleaips.com无法加载的情况.以下为加载stac ...
- Laravel 5.2 数据库迁移和数据填充
一.数据库迁移 Laravel 的数据库迁移提供了对数据库.表.字段.索引的一系列相关操作.下面以创建友情链接表为例. 1. 创建迁移 使用 Artisan 命令 php artisan make: ...
- [session篇]看源码学习session(一)
假如你是使用过或学习过PHP,你一定觉得很简单.session只不过是$_SESSION就可以搞得,这还不简单只是对一个key-value就能工作了.我觉得可以大多数的phper都是这样的,这是语言本 ...
- 1002: 当不成勇者的Water只好去下棋了---课程作业---图的填色
1002: 当不成勇者的Water只好去下棋了 Time Limit: 1 Sec Memory Limit: 128 MB Description 由于魔王BOSS躲起来了,说好要当勇者的Wate ...
- aspxpopupcontrol弹出在aspxpivotgrid的下方
ASPxPopupControl是DevPress控件集中非常优秀的控件之一,适用于弹出式窗口.对话窗口.信息提示窗口等的制作,甚至可用作拖放类的图片容器. 我设计时,想点击ASPxButtonEdi ...
- 高性能网络编程(1)—accept建立连接(待研究)
阿里云博客上一篇感觉还不错的文章,待研究,原文链接如下: http://blog.aliyun.com/673?spm=5176.7114037.1996646101.3.oBgpZQ&pos ...
- HDU 2829 Lawrence(斜率优化DP O(n^2))
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2829 题目大意:有一段铁路有n个站,每个站可以往其他站运送粮草,现在要炸掉m条路使得粮草补给最小,粮草 ...
- beego学习笔记(1)
公司准备开发一个针对塔吊行业的APP. 后台采用微服务,docker容器部署. 准备采用go进行微服务的开发. 采用beego进行restful API的开发. 第一步,访问beego的官方网站: h ...
- hdu 1664(数论+同余搜索+记录路径)
Different Digits Time Limit: 10000/4000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others ...