首页 > 其他 > 详细

5.24-29离线解析问题

时间:2019-07-25 09:46:31      阅读:95      评论:0      收藏:0      [点我收藏+]

改成离线语音听写

 

技术分享图片

 

LabVIEW 中使用指针

目的:传入一个初始化的C字符串,在DLL中运行之后,此字符串被重写,得到有效信息,语音识别的文字。需不需要使用XNODELXY答:需要

1DLL函数声明 int LVmain(char** OutInfo)

技术分享图片

2、函数调用约定需要一致-__cdecl (/Gd)

3、使用传指针参数进labview 是不行的,无法实现类似于C语言的传地址功能,在C语言中,传字符串相当于传指针,指针所起的位置的内存数据可以被函数所操作。从而实现C语言函数“返回”除返回值之外的多个参数。但是这个操作在labview中是行不通的。

4、解决办法是传入一个数值指针int*,这个指针即将需要存储的是指向字符串的指针,char** 。在DLL函数中实际上是产生了一个指向字符串的地址(指针的指针),labview调用库函数节点将此传出,再使用一个XNODE(此节点由国外团队二次开发),解引用指针(解引用这个指针的指针),指定参数类型(字符串),得到结果。

修改DLL函数声明

修改DLL函数声明需至少在两个文件中修改:1CreateDll.cpp 2CreateDll.h

项目设置

1)打开Microsoft Visual Studio 2010,选择文件->新建->新建项目。

 

图一

2)选择Visual C++ ->Win32->Win32控制台应用程序,输入项目名称,然后点击确定键。

图二

3)点击下一步。

图三

4)附加选项选择“空项目”,应用程序类型选择“控制台应用程序”,然后点击完成。

图四

图五

5)鼠标右键点击“源文件”,点击添加->新建项。

图六

6)选择“代码”,输入后缀名为.c的名称,例如“main.c”,点击添加。

图七

7)代码请参考SDK/Windows_SDK/samples下的语音示例。

图八

8)将科大讯飞语音SDKbin,include,libs文件复制到Demo文件夹下。

图九

3 导入头文件

1)鼠标右键点击Demo项目,选择属性。

图十

2)点击C/C++->常规->附加包含目录,输入相对于工程文件Demo.vcxproj的相对路径,即相对于$(ProjectDir)的路径。

图十一

图十二

4 加载msc.dll

1)加载msc.lib文件:在main.c文件中输入如下图所示代码。(注意:加载路径输入相对于工程文件的相对路径)

 

图十三

2)将msc.dll所在目录设置为工作目录,即“$(ProjectDir)..\bin\”。

图十四

5 打印日志

运行程序后,bin/msc文件夹下会生成日志。(注意:msc文件夹下需有msc.cfg文件)

 

图十五

6 运行可执行文件

1)通过属性设置,将可执行文件copybin目录下运行,否则会报如图16错误。 

图十六

图十七

2)点击“命令行”后边的下拉框,选择“编辑”。

图十八

3)输入“copy $(TargetPath) $(ProjectDir)..\bin\”。

图十九

 

Inserted from <http://www.xfyun.cn/default/doccenter/doccenterInner?itemTitle=d2luZG93cw==>

23108的真正原因-离线听写服务还没发布

 

技术分享图片


5.24-29离线解析问题

原文:https://www.cnblogs.com/lizhensheng/p/11241945.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!