none
求教各位大神:C语言和matlab联合编程的问题 RRS feed

  • 问题

  • C语言仿真程序里面有个数组,我是用指针引用的那种定义的,就是(double *) 。。malloc那种定义的,长度是1000的double,现在我想调用matlab里面的awgn函数给这个数组加噪声,matlab里面调用很简单,就是awgn(数组,噪声值)就可以了,但是我要是在C里面调用,按照网上的方法,编译出了awgn.c,awgn.h,awgn.dll,awgn,lib,把他们放到C工程里面,发现自己不会调用(头一次这样用matlab)。。。。搞了好久好久,求大家帮帮忙!!!(不是调用引擎那种方法,而是调用dll的方法)
    2016年7月17日 7:52

答案

  • 将.h/.c/.lib/dll文件copy到工程中,有两种方式:静态链接和动态加载。
    1. 首先将.h和.c文件添加到工程中,VS上Resolution View中右键工程名称选择添加/添加已存在文件..
    2. 将dll与exe放到同一目录路径下,如Debug/Release目录下,即与exe同目录。
    3. 如果是静态链接的方式,可以使用#pragma comment(lib, "awgn.lib")方式来进入库,或者右键工程属性,Link选择项添加对应的awgn.lib到工程中。
    4. 如果是动态加载的方式,可以使用API接口LoadLibrary()/GetProcAddress()/FreeLibrary(),该API使用方式详细可参看MSDN文档。

    Visual C++ enthusiast, like network programming and driver development. At present is being engaged in the WinCE/Windows Mobile platform embedded development.

    2016年7月18日 2:41
    版主