windows到linux移植:如何替换__stdcall?

时间:2014-09-17 17:51:55

标签: c++ linux callback

我将我的应用程序从Windows移植到Linux。 在Windows版本中,我已定义了此类回调typedef void (__stdcall * OrdersCallback)(orders*);。然后我像这样实现它:

void __stdcall OrdersHandler(orders* param) {
    Processor::Instance().EnqueueFutOrderbook(param);
};

我将指向此处理程序的指针从我的应用程序传递给静态链接库,以便库可以传回数据。

但在Linux中,这行不能编译:{{1​​}}。我应该如何更新我的回调声明和实现以使其在Linux中编译?

1 个答案:

答案 0 :(得分:1)

如果执行回调并仅在程序/ lib中使用 (即没有外部的库将调用它),那么调用约定无关紧要 只需删除__stdcall无处不在