`
做一行爱一行吧
  • 浏览: 23522 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

erlang的简单编译

 
阅读更多

       上次的注册进程问题有待解决,打算写一个完整的app代码来验证一下,既然有了这样的打算就不得来说说编译的问题,我们总不能把所有的代码写在一个文件夹下来直接-make吧,这样结构既不美观也不适用,那就来看看简单的erlang代码是如何处理文件结构和编译的问题吧!

       首先我们先来创建一个test的文件夹,然后再该文件夹下创建这样几个文件夹

 这些在以后都是用的到的,文件结构不需要更多复述!

目的是将我们所有的编译好的beam文件放到ebin中以便我们进行操作

 

我们在script文件夹下新建一个文件格式的Emakefile文件

然后我们在src内新建两个文件夹module和nodes文件夹

 接下来我们编写一下我们的Emakefile文件

 

{[
  '../src/module/*'
 ], 
 [ {i, "../include"}, {outdir, "../ebin"}, other_function]}.

 {[
  '../src/nodes/*'
 ], 
 [ {i, "../include"}, {outdir, "../ebin"}, other_function]}.

 我们随便写几个小的erlang文件来测试一下,test1.erl和test2.erl



 

测试通过了,这样我们就可以根据自己的需求来进行一些文件的布置,emakefile(如果对上面的格式有疑问,你可以参看一下文件路径问题的知识)为了方便不用每次都去命令行编辑我们的文件,我们可以自己编写一个小的脚本   Make.cmd

ECHO on
cd /d %0/..
cd ebin
cd ../scripts
erl -make
pause

 

其实写几个基础的脚本都很简单,而且网上资料也很多,可以根据自己的需要去编写

关于自己编译的问题解决以后,我们就来开始看看,如何搭建一个application

 

  • 大小: 9.4 KB
  • 大小: 5.3 KB
  • 大小: 1.3 KB
分享到:
评论

相关推荐

    rabbitmq编译安装erlang的所需要的依赖rpm包

    RabbitMQ通常也提供源码安装方式,步骤与Erlang类似,但RabbitMQ的依赖主要基于Erlang环境,所以在Erlang成功安装后,RabbitMQ的安装会相对简单。 总的来说,对于ARM架构的系统,编译安装Erlang和RabbitMQ需要仔细...

    erlang简单聊天练习

    "erlang简单聊天练习"中提到的"只用到了简单的node消息交互"指的是利用Erlang的节点间消息传递机制来实现聊天功能。这种通信方式基于Erlang的进程间通信(IPC, Inter-Process Communication),通过`send`和`receive...

    erlang环境搭建

    学习Erlang,你需要掌握这些核心概念,并通过编写简单的程序来实践,如创建并发进程、实现简单的分布式系统等。同时,理解Erlang的错误处理和模块化设计也是至关重要的。 总结,搭建Erlang环境是开始学习和开发...

    基于Erlang VM的语言

    尽管Core Erlang对普通开发者来说较为晦涩,但它对于理解Erlang编译过程和进行编译器扩展非常有用。 【基于Erlang VM的语言示例】 1. **Reia**: Reia是一种类似于Ruby和Python的脚本语言,旨在提供更友好的语法...

    rustler编写erlang nif

    - 文章通常会包含一个简单的Rust NIF实现,例如计算两个整数的和,展示如何在Rust和Erlang之间传递数据。 - 也会演示如何在Erlang模块中注册和调用这个NIF。 6. **编译与加载**: - 编译Rust代码为动态库,并将...

    Erlang Programming 导读.pdf

    - **实践项目**: 结合实际案例进行练习,比如实现一个简单的 Web 服务器或聊天应用,通过实践加深对 Erlang 特性的理解。 - **社区交流**: 加入 Erlang 社区,与其他开发者交流经验和技术问题,参与开源项目也是提高...

    backoff, 在Erlang中,简单的指数 backoffs.zip

    backoff, 在Erlang中,简单的指数 backoffs 退避退退是处理指数backoffs和计时器在处理循环事件( 如重新连接) 时使用的一个Erlang库。编译./rebar get-deps compile运行测试测试是作为基本的基于属性的测试套件实现...

    Erlang和RabbitMQ安装包

    对于源码编译,需要先解压,配置,编译,最后安装Erlang,然后再按照类似步骤安装RabbitMQ。安装完成后,需要配置RabbitMQ以满足具体应用需求,并确保正确启动和管理服务。 总结来说,Erlang和RabbitMQ是构建高并发...

    erlang 中文基础教程

    在Erlang Shell中,你可以像使用计算器一样进行简单的算术运算,如`2+5.`,其中`.`是必要的结束符号,表示计算完成。Shell会返回结果`7`,并在下一行显示出新的提示符`2>`。这种即时反馈的特性使得Erlang Shell成为...

    erlang程序设计

    6. BEAM虚拟机:Erlang代码编译成BEAM字节码,在Erlang虚拟机上运行。BEAM提供了垃圾回收、进程调度和内存管理等服务。 7. 分布式特性:Erlang支持多节点集群,节点间可以透明地通信,这使得构建分布式系统变得简单...

    erlang win64_18.1

    这个安装程序将部署Erlang运行时系统,包括解释器、编译器和其他必要的组件,使得开发人员可以在Windows平台上编写、编译和运行Erlang代码。 Erlang的特性包括: 1. 并发:Erlang通过轻量级进程实现并发,这些进程...

    21天erlang

    通过这份文档提供的信息,初学者可以了解如何从零开始搭建Erlang的开发环境,以及如何使用Erlang Shell和Emacs来编写、编译和运行Erlang程序。文档中的知识点设计得非常基础,以确保初学者在没有任何预备知识的情况...

    erlang源码包

    - **并发和分布式**:Erlang天生支持并发和分布式编程,通过简单的API就能实现节点间的通信和数据共享。 - **热升级**:在Erlang中,系统可以在线升级,无需停机,这对于服务无中断非常重要。 - **Mnesia数据库**...

    Erlang 运行环境的安装文件

    6. **测试运行环境**:在 REPL 中,你可以尝试编写简单的 Erlang 代码,例如 `io:fwrite("Hello, World!\n")`,然后按 Ctrl+C 退出。 7. **获取帮助**:Erlang 提供了丰富的文档和在线资源,包括官方手册、Erlang/...

    erlang websocket

    1. **rebar3介绍**:rebar3是Erlang的主流构建和依赖管理工具,提供了编译、测试、打包等一系列功能,帮助开发者更高效地管理项目。使用`rebar3 new`命令可以快速创建新的Erlang项目模板,其中包括了Websocket应用的...

    erlang nif test

    在“tu”这个文件中,可能包含了测试NIF功能的代码,例如创建一个简单的NIF,用于执行加法运算,或者读取和修改Erlang术语。测试通常包括验证NIF是否正确加载,调用是否成功,以及错误处理机制是否按预期工作。 在...

    Erlang在eclipse4.2.2里的开发编译工具

    Eclipse 4.2.2版本是Java开发的集成环境,而"Erlang在eclipse4.2.2里的开发编译工具"主要指的是Erlang IDE(Erlang Development Tool for Eclipse,简称ErlIDE或Erlide)。 Erlide是Eclipse平台上的一个插件,它为...

    erlang及其应用

    1. **错误隔离与容错**:Erlang通过进程监督机制提供简单而强大的错误控制和容错能力。当一个进程崩溃时,可以自动重启,而不影响整个系统的稳定性。 2. **并发与消息传递**:并发是Erlang语言的基本组成部分。应用...

    erlang 环境配置文档说明

    以上步骤展示了如何在Windows环境下安装配置Erlang及其开发工具,包括Eclipse和Erlide插件,并创建简单的Erlang项目及模块,最后演示了如何编译和运行Erlang程序。这将有助于开发者快速上手Erlang语言,并利用强大的...

    erlang_gproc_扩展实现Erlang的全局ets

    - **安装**:将`gproc`源码添加到你的项目依赖中,然后编译并加载到Erlang VM中。 - **注册进程**:使用`gproc:reg/2`函数为进程注册全局名字。 - **查找进程**:使用`gproc:lookup/1`或`gproc:lookup_pid/1`根据...

Global site tag (gtag.js) - Google Analytics