混合语言使用
由于可以在 C++ 应用程序中使用 C 语言 API 实现函数,因此对于由 McoSqlEngine 启动的事务,可能需要使用事务句柄。为此提供了 McoTransaction 类:
class McoTransaction: public McoSql::Transaction
{
...
public:
mco_trans_h handle();
};
若要获取用于 C API 的事务句柄,C 函数只需将指向 C++ 事务对象的指针强制转换为 McoTransaction,然后调用其 handle
方法。
之后即可像往常一样在 C API 运行时函数调用中使用此句柄。
例如,给定一个 C++ 事务对象 cppTransaction
,我们可以按如下方式获取 C API 事务句柄:
McoTransaction trans = (McoTransaction)*cppTransaction;
mco_trans_h t = trans.handle();