3.问题示例 | 3. Problem Example

3个问题实例

3.1描述

一个常见的互操作性情况是,当你想在你的Erlang程序中加入一段代码,解决一个复杂的问题时。例如,假设您有以下想要从Erlang调用的C函数:

/* 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。在接下来的部分中,将展示如何使用不同的互操作性机制来实现此模块。