3 问题示例
3.1 描述
一种常见的互操作性情况是,您希望将一段解决复杂问题的代码整合到您的 Erlang 程序中。例如,假设您有以下 C 函数,您希望从 Erlang 中调用它们
/* complex.c */ int foo(int x) { return x+1; } int bar(int y) { return y*2; }
这些函数有意保持尽可能简单,以提高可读性。
从 Erlang 的角度来看,最好能够调用 foo 和 bar,而无需担心它们是 C 函数。
% Erlang code ... Res = complex:foo(X), ...
在这里,与 C 的通信隐藏在 complex.erl 的实现中。在接下来的部分中,将展示如何使用不同的互操作性机制实现此模块。