檢視原始碼 問題範例

描述

一個常見的互通性情況是,當您想要在您的 Erlang 程式中加入一段程式碼來解決複雜的問題時。假設您有以下 C 函式,您希望從 Erlang 中呼叫它們

/* complex.c */

int foo(int x) {
  return x+1;
}

int bar(int y) {
  return y*2;
}

為了便於閱讀,這些函式刻意保持盡可能簡單。

從 Erlang 的角度來看,最好能夠呼叫 foobar,而無需關心它們是 C 函式

% Erlang code
...
Res = complex:foo(X),
...

在這裡,與 C 的通訊隱藏在 complex.erl 的實作中。在以下章節中,將展示如何使用不同的互通性機制來實作此模組。