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 ...
随机推荐
- C++学习之路(四):线程安全的单例模式
(一)简单介绍 单例模式分为两种类型:懒汉模式和饿汉模式. 懒汉模式:在实际类对象被调用时才会产生一个新的类实例,并在之后返回这个实例.多线程环境下,多线程可能会同时调用接口函数创建新的实例,为了防止 ...
- Laravel 5.2 三、中间件、视图与 Blade 模板引擎
一.中间件 Laravel 的 HTTP 中间件提供了对路由的一层过滤和保护.下面模拟一下用中间件验证后台登录. 1. 创建中间件 cmd 窗口进入项目目录,使用 artisan 命令创建 php a ...
- 给windows设置隐藏文件夹的方法
cls @ECHO OFF title Folder Private if EXIST "HTG Locker" goto UNLOCK if NOT EXIST Private ...
- selenium.webdriver.common.keys 模块中常用的变量
表11-5 selenium.webdriver.common.keys 模块中常用的变量属性 含义Keys.DOWN, Keys.UP, Keys.LEFT,Keys.RIGHT 键盘箭头键Keys ...
- ubuntu下ssh服务相关操作
1.安装ssh服务:apt-get install openssh-server 2.检测ssh开启状态:ps -e | grep ssh 3.启动ssh:/etc/init.d/ssh start ...
- 【python】if __name__ == '__main__'
转载自:http://www.cnblogs.com/xuxm2007/archive/2010/08/04/1792463.html 当你打开一个.py文件时,经常会在代码的最下面看到if __na ...
- hdu 1671(字典树判断前缀)
Phone List Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total ...
- Intersection of Two Linked Lists——经典问题
Write a program to find the node at which the intersection of two singly linked lists begins. For ex ...
- AC日记——[LNOI2014]LCA bzoj 3626
3626 思路: 离线操作+树剖: 代码: #include <bits/stdc++.h> using namespace std; #define maxn 100005 #defin ...
- gulp-基本功能总汇
研究了三天的gulp,今天做一个结束吧. 本次包含的功能有: html压缩 图片压缩 css压缩 js检测 js压缩 文件合并 文件更名 提示信息 编译less 创建服务器-浏览器实时刷新 因为我安装 ...