我希望能夠將字符串列表傳遞給Erlang的C節點,並在計算後返回一個字符串到Erlang進程。如何從Erlang C節點返回字符串?
result = function(input_string),
其中input_string的類型是ETERM的*
我對字符串計算使用的char *變量的字符串。
請讓我知道這是否足夠的信息繼續下去。
[在erl_interface教程的C節點的示例使用從C節點整數輸入和輸出]
TIA,
BR,
Shailen
我希望能夠將字符串列表傳遞給Erlang的C節點,並在計算後返回一個字符串到Erlang進程。如何從Erlang C節點返回字符串?
result = function(input_string),
其中input_string的類型是ETERM的*
我對字符串計算使用的char *變量的字符串。
請讓我知道這是否足夠的信息繼續下去。
[在erl_interface教程的C節點的示例使用從C節點整數輸入和輸出]
TIA,
BR,
Shailen
使用erl_iolist_to_string
輸入(每二郎「串「也是一個iolist)。
使用erl_mk_string
而不是erl_mk_int
進行輸出。
http://erlang.org/doc/man/erl_eterm.html#erl_iolist_to_string
謝謝@ r3m0t,應該這樣做。 – ombud
您曾經考慮過使用NIF? http://www.erlang.org/doc/man/erl_nif.html實施imo更容易,並且具有更加輕鬆的鋼筋模板。 – cashmere
@cashmere,一個nif不適合要求有幾個大文件被讀入搜索空間,但一旦啓動,而不是每次調用,謝謝。 – ombud
@ombud一個NIF庫可以指定一個'load'函數,它可以將信息寫入它的參數'* priv_data'。然後,您可以使用名爲'enif_priv_data'的函數在每個NIF調用中獲取指向該數據的指針。 – r3m0t