emacs与erlang的完美结合
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,只是一些随机的数字