2014-11-07 6 views
0

erlang에서 시작 함수를 공개하는 방법은 무엇입니까? 나는 당신이 당신의 기능을 내보내는 경우erlang 함수를 공용으로 만드는 방법은 무엇입니까?

-export([start_link/3, 

send_xml/2, 
sockname/1, 
peername/1, 
setopts/2, 
controlling_process/2, 
become_controller/2, 
custom_receiver/1, 
reset_stream/1, 
change_shaper/2, 
monitor/1, 
close/1, 
start/4, 
process_request/2]). 
+0

일반적으로 내보내는 함수의 수를 제한하려고합니다. 테스트를 위해 모든 것을 내보내려고하거나 던져 버린 모듈을 작성하고 있기 때문에 컴파일 옵션'-compile (export_all)'을 사용하는 것이 게으른 것이다. – zxq9

답변

1

는, 그것이 할 수있는 public으로의 언어에 새로운입니다. 그리고 당신은 start/4으로 그렇게하고 있습니다. start/3 또는 start/0과 같이 다른 인수 (매개 변수 개수)로 시작을 내보내려면 내보내기 목록에 추가하십시오.

-export([start_link/3, 
     start/0, 
     start/3. 
     send_xml/2, 
     sockname/1, 
      .... 
+0

빔 파일을 만들 때 다음과 같은 경고 메시지가 나타납니다. 동작 gen_mod 정의되지 않은 및 내 ejabberd 서버를 실행할 때 다음과 같은 오류가 발생합니다 : beam/beam_load.c (1365) :로드 모듈로드 오류 mod_http_pre_bind : opcode 153 사용; 이 에뮬레이터는 최대 152 개까지만 지원하고 /home/lanet-rohan/ejabberd-2.1.13/lib/ejabberd-2.1.13/ebin/mod_http_pre_bind.beam로드 실패 : badfile – Megha

+1

이제 두 개의 서로 다른 (그리고 새로운) 문제. 두 번째는 Erlang 버전 (당신이 당신의 loadin을 시도하는 것과는 다른 컴파일로)과 정의되지 않은 (컴파일되지 않은) 행동 때문일 수 있습니다. 질문을 업데이트하거나 워크 플로와 오류로 다른 질문을하십시오. – mpm

관련 문제