廖雪峰历时3个月打磨出价值1980的数据分析教程,终终终于免费啦!

文章目录
  1. 1. 前言
  2. 2. 一、用IDEA搭建Erlang集成开发环境
    1. 2.1. 1、去Erlang官网下载对应的Erlang程序
    2. 2.2. 2、安装Erlang
    3. 2.3. 3、配置IDEA的Erlang插件
    4. 2.4. 4、配置Rebar3
    5. 2.5. 5、Erlang Hello World
    6. 2.6. 7、配置文档
    7. 2.7. 8、用rebar.config来编译,用app.src来运行
  3. 3. 二、导入EMQ项目
  • http://www.bewindoweb.com/255.html

    前言

    虽然目前遇到的所有Broker设计问题都似乎得到了解决,但还是希望能够借鉴更多优秀的代码设计思路。Java开源的Broker代码都有局限性,而免费开源的完整的速度快的MQTT Broker也就只有EMQ了,没有办法只能花时间研究Erlang和EMQ源码了。首先需要搭建Erlang的IDE,之前用IDEA来作为Lua的IDE,没想到IDEA还能作为Erlang的IDE,实在是太好用了。

    一、用IDEA搭建Erlang集成开发环境

    搭建流程已经放到了wiki:软件安装手册 → 《Erlang + Windows + IDEA IDE环境搭建》,这里重复地描述下重要步骤。

    1、去Erlang官网下载对应的Erlang程序

    官网地址:http://www.erlang.org/downloads

    下载链接:如果知道版本就会很简单,只需要替换对应版本的部分,例如下载21.3:

    官网打开可能会很慢,但下载还算能够接受,可以去CSDN找一些资源下载会快一些。

    • EMQ 2.3.11 的编译版本是 Erlang OTP 20.0,想要学习MQTT3.1/3.1.1的可以看2.x版本代码 
    • EMQ X 3.1-beta.1 Released 的编译版本是Erlang OTP 21.2,想要学习MQTT5.0的可以看3.x的代码

    我下载的20.0.1。

    2、安装Erlang

    1)正常安装EXE

    2)配置Path环境变量,例如:E:\erl10.0.1\bin

    3)测试是否安装成功:cmd → erl:  

    3、配置IDEA的Erlang插件

    1)打开IDEA,文件 → 设置 → 插件,搜索Erlang,界面提示本地们找到,是否搜索库:

     2)搜索仓库,在线安装Erlang插件

     3)重启IDEA 

    4、配置Rebar3

    rebar3用来编译Erlang程序。

    )下载rebar3
    打开IDEA,文件 → 设置 → 其他设置 → Erlang扩展工具 → 点击Download the latest rebar3:

    选择合适的文件夹,下载后,会自动填充路径:

    2)设置rebar3为编译器
    设置 → 构建、执行和部署 → 编译器 → Erlang编译器 → 勾选Compile project with rebar���Add debug info:

    5、Erlang Hello World

    1)文件 → 新建项目 → Erlang:

    2)配置SDK为Erlang安装根目录,会自动识别Erlang:

    3)建立一个名为hello的Erlang的文件 

    4)将默认生成的代码改为Helloworld

    默认生成代码:

    %% API
    -export([]).

    Helloworld: 

    -export([start/0]).

start() ->
io:fwrite(“Hello, world!\n”).

5) 配置编译

右上角选择编译结构

 增加一个Erlang Application

选择工程、选择要使用哪个模块的哪个函数来启动 

 6)启动程序

7、配置文档

默认文档是去网上在线查的,这里改成本地查。

选择文件 → 项目结构 → SDKs → Erlang 21 → 增加本地的doc文件目录:

可以顺便把网上查的删掉。

ctrl+Q就可以查系统函数了:  

8、用rebar.config来编译,用app.src来运行

EMQ的所有项目都不是直接运行,而是编写rebar.config的,这样可以用rebar.lock去控制插件版本,就和前端的package.json、package-lock.json类似:

xxx.app.src则是入口,例如emqx-2.3.11首先会启动这些代码:

1)建立rebar.config

{escript_incl_extra,[{“priv/templates/*”,”.”}]}.

{erl_opts,
[
debug_info,
{src_dirs,
[
“src”
]}
]
}.

{pre_hooks,[]}.

{cover_enabled, true}.
{sub_dirs,[
“src”
]}.

2)建立hello.app.src(OTP application resource file)

注意这里直接写带“.”的名字会报错,需要先写hello,再重命名为hello.app.src。

如果写的是hello.erl,mod则写hello:

{application, hello, [
{description, “”},
{vsn, “1”},
{registered, []},
{applications, [
kernel,
stdlib
]},
{mod, {hello, []}},
{env, []}
]}.



3)配置erlang rebar编译

命令写compile,跳过依赖编译。

4)执行rebar编译:

如果直接执行,会报错,原因是之前设置的rebar3路径被清空了,重新配置一次,这次不用Download了,直接选择。

设置→其他设置→Erlang扩展工具→Path:

 再编译就能通过了:

5)执行编译后的程序

找到编译后hello.app、hello.beam的路径:

重新配置一个erlang application,将working directory配置成相应路径:

执行hello2,会产生和之前一样的结果:

二、导入EMQ项目

我下载的最后一个EMQ2.3.11版本代码,直接导入是不会高亮的,我们先用IDEA建立一个空的Erlang工程,然后将EMQ代码复制到该工程下,重新打开工程,就会语法高亮了:

可以用Ctrl+点击来跳转函数来源代码,和IntelliJ全家桶逻辑一致。

注意去标记对应的目录:



科学上网(翻墙)教程!

更多精彩内容,请扫描二维码关注公众号:轮子工厂,公众号内回复:

1.回复【图书】:获取15本新手自学编程,零基础入门经典学习教材;
2.回复【我要造轮子】:获取100多本计算机类经典书籍;
3.回复【开发工具】:获取几大主流编程语言的开发工具~
4.回复【内推】:可帮你内推到大厂工作。
文章目录
  1. 1. 前言
  2. 2. 一、用IDEA搭建Erlang集成开发环境
    1. 2.1. 1、去Erlang官网下载对应的Erlang程序
    2. 2.2. 2、安装Erlang
    3. 2.3. 3、配置IDEA的Erlang插件
    4. 2.4. 4、配置Rebar3
    5. 2.5. 5、Erlang Hello World
    6. 2.6. 7、配置文档
    7. 2.7. 8、用rebar.config来编译,用app.src来运行
  3. 3. 二、导入EMQ项目