emacs与erlang的完美结合 

御前带刀侍卫 2012-09-23

1.在emacs中使用c+xc+z启动erlang shell 会报错useofopcode153;thisemulatorsupportsonlyupto152afterupgradingtoR140B4,因为erlang的beam文件版本不一致导致,linux下有2个erlang,一个14的,一个15的。所有要把14的删除(还有改.emacs中的配置,使用

这里的启动路径一致,不然会报erlexec找不到。

2.实现emacs中的跨模块操作:

要理解erl后面跟的参数的用途:

erl<arguments>

Theargumentscanbedividedintoemulatorflags,flagsandplainarguments:

*Anyargumentstartingwiththecharacter+isinterpretedasanemulatorflag.

Asindicatedbythename,emulatorflagscontrolsthebehavioroftheemulator.

*

Anyargumentstartingwiththecharacter-(hyphen)isinterpretedasaflagwhichshouldbepassedtotheErlangpartoftheruntimesystem,morespecificallytotheinitsystemprocess,seeinit(3).

各种参数+,一,普通的使用

经常用的参数:

最重要的分布式的支持:用于节点与节点间的通迅用:(底层用的tcp/ip):

节点间的联系:松散结构

ThenodesinadistributedErlangsystemarelooselyconnected.Thefirsttimethenameofanothernodeisused,forexampleifspawn(Node,M,F,A)ornet_adm:ping(Node)iscalled,aconnectionattempttothatnodewillbemade.

Connectionsarebydefaulttransitive.IfanodeAconnectstonodeB,andnodeBhasaconnectiontonodeC,thennodeAwillalsotrytoconnecttonodeC.Thisfeaturecanbeturnedoffbyusingthecommandlineflag-connect_allfalse,seeerl(1).

Ifanodegoesdown,allconnectionstothatnodeareremoved.Callingerlang:disconnect_node(Node)willforcedisconnectionofanode.

Thelistof(visible)nodescurrentlyconnectedtoisreturnedbynodes().

cookie用于保护节点间的安全security,只是一些随机的数字

相关推荐