锐英源软件
第一信赖

精通

英语

开源

擅长

开发

培训

胸怀四海 

第一信赖

当前位置:锐英源 / 开源技术 / Darwin服务器 / Darwin概念之模块的要求
服务方向
人工智能数据处理
人工智能培训
kaldi数据准备
小语种语音识别
语音识别标注
语音识别系统
语音识别转文字
kaldi开发技术服务
软件开发
运动控制卡上位机
机械加工软件
软件开发培训
Java 安卓移动开发
VC++
C#软件
汇编和破解
驱动开发
联系方式
固话:0371-63888850
手机:138-0381-0136
Q Q:396806883
微信:ryysoft

Darwin模块的要求


每个QTSS模块必须实现两个例程:

  • 一个Main例程,服务器在启动的时候将调用这个例程,来对您开发的模块所在的QTSS stub库进行初始化。
  • 一个Dispatch(分发)例程,服务器为了某种特定的目的调用模块时,需要使用这个例程。

这个部分的主要内容是:

  • Main例程
  • Dispatch例程

Main例程

每个QTSS模块必须提供一个主例程。服务器在启动的时候会调用这个主例程,并使用这个例程来初始化QTSS stub库,以便在之后调用该模块。

对于编译到服务器里面的模块,其主例程的地址必须传递到服务器的模块初始化例程中,这在“编译服务器内部的QTSS模块”部分中进行描述。

主例程的函数体必须按照如下方式书写:

QTSS_Error MyModule_Main(void* inPrivateArgs)
{
return _stublibrary_main(inPrivateArgs, MyModuleDispatch);
}

这里,MyModuleDispatch是模块分发例程的名称,这个例程将在下文的“Dispatch例程”部分进行描述。

重要提示

对于代码片断模块,主例程必须命名为MyModule_Main,其中MyModule是包含模块的文件名称。

Dispatch例程

每个QTSS模块都必须提供一个分发例程。服务器为了某种特定的目的需要某个模块时,需要调用该模块的分发例程,并在调用时将任务的名称及相应的参数块传递给该函数(在编程接口中使用“角色”这个术语来描述特定的任务。如果需要更多关于角色的信息,请参见“模块角色”部分)。

分发例程必须具有下面所示的原型:

void MyModuleDispatch(QTSS_Role inRole, QTSS_RoleParamPtr inParams);

其中MyModuleDispatch是分发例程的名称,由模块的主例程来指定;inRole是角色的名称,只有注册了该角色的模块才会被调用;inParams是一个结构,包含模块感兴趣的值。

友情链接
版权所有 Copyright(c)2004-2021 锐英源软件
公司注册号:410105000449586 豫ICP备08007559号 最佳分辨率 1024*768
地址:郑州大学北校区院(文化路97号院)内