non vorrei lavorare

昔はおもにプログラミングやガジェット系、今は?

NAN化されたnode-ffiを試した

おはようございます。奥さんが京都・大阪方面へ出張のため、息子達と実家に転がり込んでいる@kjunichiです。
 

背景

Node.jsでNodObjCというモジュールがあり、これはCocoa APIがnodeから使えるようになる。

しかし、このNodObjCが内部で使っているnode-ffiというモジュールがネイティブモジュールであり、0.11系のnodeではビルド出来なかった。

ところが、これをNAN化した方が現れたので、これを試した。

インストール

nodebrew use 0.11
git clone https://github.com/avatar5d/node-ffi.git
cd node-ffi
npm install -g node-gyp
npm install nan
node-gyp rebuild

サンプルを動かす

npm install
cd examples/factorial

OSX

gcc -dynamiclib -undefined suppress -flat_namespace factorial.c -o libfactorial.dylib

Linux/Unix

gcc -shared -fpic factorial.c -o libfactorial.so

Windows

試していないが、これでDLLを作れる模様。

cl.exe /D_USRDLL /D_WINDLL factorial.c /link /DLL /OUT:libfactorial.dll

動かす

node factorial.js 35

まとめ

NodObjCもこのnode-ffiを使って、0.11系のnodeで動かせたので、最新のnode-webkitAtom ShellへのNodObjCの組み込みも出来るとおもう。つまり、node-webkitAtom ShellからNodObjC経由でCocoa APIが使える様になるハズ。

abs.jsを動かしても、無限ループするので、動作確認にはあまりよろしくなかった。

関連記事

 

9年前の記事

8年前の記事

4年前の記事

3年前の記事

1年前の記事