只是C ++中的事件

时间:2015-06-04 04:07:06

标签: c++ node.js events

在规划项目时,我意识到使用优化编程会更好。但事实证明,当另一个对象从它继承时,所有事件库都集中在I / O的东西上并且不提供像NodeJS'EventEmitter这样的基本事件。

我正在寻找的是在我的C ++代码中启用ismple eventing。我们假设这段代码为例:

class Window : EventClass {
private:
    NativeWindow* _w;
public:
    Window() {
        // Initialize a window for the platform.
        _w = new NativeWindow();
        emit("init", _w);
    }
    void open() {
        // Open the window...
        emit("open", _w);
    }
    // ...
};

int main() {
    Window w();
    w.on("init", [](NativeWindow* w){
        cout << "Window initialized." << endl;
    });
    w.on("open", [](NativeWindow* w){
        w->setTitle("foo");
    });
}

是否有可以启用此类行为的库?我看到的所有人都非常关注事件I / O,他们忘了提供原始事件......

1 个答案:

答案 0 :(得分:0)

您可以使用nodejs插件,它允许您将C ++库用于nodejs。请参阅此link

>> node-gyp configure build

这将创建您的插件,这是一个C ++片段,您可以使用require(\path\to\addon)

将其包含在您的节点js文件中