今日の記録 2020/6/23
勉強した
プログラミング Erlang - P171 ~ P177
実装の続き。前回の stdio が見つからないというエラーは brew で入れた gcc を使うことで対応できた。
次に以下のように Erlang 側で走らせようとすると、start() は上手くいくのだが、sum の実行をすると何の結果も返ってこないという問題にぶつかった。
2> example1:start().
<0.84.0>
3> example1:sum(45, 32).
何か実装が間違えているのかと思い各関数を見なおしたところ、example1_driver.c の if 文の後にあった以下のプログラムが抜けていただけだった。
buff[0] = result;
write_cmd(buff, 1);
example1によって、Erlangから実行ファイルに対して、通常の Erlang プロセスと同様に(共通言語としてのバイトコードを利用する必要はあるが)メッセージを送ることができることが分かった。これとローカル外とのプロセス間通信があれば、アイディアさえあればなんでも作れそうだ。
この記事が気に入ったらサポートをしてみませんか?