声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1644|回复: 5

[混合编程] matlab产生的dll文件可否被C++builder调用

[复制链接]
发表于 2007-5-14 22:57 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
如题,我模仿着例子写了个简单的小程序,编译通过了,但是总是不能将dll中的函数载入。
程序为
//---------------------------------------------------------------------------

#include <vcl.h>
#pragma hdrstop

#include "test.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
HINSTANCE  hComm;
extern "C" _declspec (dllimport) void _fastcall  fprintf(int n,char *m );
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
      hComm=LoadLibrary("hello.dll");
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
       FARPROC   lpFarProc;
       lpFarProc=GetProcAddress(hComm," fprintf");
       if(lpFarProc==NULL)
       ShowMessage("hello Error");
}
//---------------------------------------------------------------------------

void __fastcall TForm1::Button2Click(TObject *Sender)
{
    FreeLibrary(hComm);
}
//-------------------------------------------------------


matlab小程序是从示例中找到的,两句话
function hello
fprintf(1,'Hello, World\n' );


运行后的结果是
hello Error的提示框

不知道是什么原因,是不是matlab的dll文件不适合被C++builder调用啊?
回复
分享到:

使用道具 举报

发表于 2007-5-15 11:12 | 显示全部楼层
请问一下楼主:在matlab 7.0下,如何将M函数转变为*.dll文件啊?
 楼主| 发表于 2007-5-16 09:34 | 显示全部楼层
如果是生成C语言的动态链接库,使用:
mcc -W lib:filename  -T  link: lib  filename0.m
如果是生成C++的动态链接库,使用:
mcc -W cpplib: filename  -T link:lib filename0.m
filename是带生成链接库的名字,filename0是原m文件的名字
此命令在matlab下使用

评分

1

查看全部评分

发表于 2007-5-16 19:22 | 显示全部楼层
请问一下:这样生成的.dll文件可以在m文件中调用吗?
 楼主| 发表于 2007-5-16 19:48 | 显示全部楼层
我也不清楚哦,我生成的.dll文件是想让c++builder调用,结果没弄好。不知道有没有用.dll文件生成.lib文件的,然后由.lib文件导入。你可以试一下,这纯属自己臆想的,嘿嘿。
发表于 2007-5-16 21:44 | 显示全部楼层
哦!好的!谢谢啊!!
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-12-12 20:46 , Processed in 0.108096 second(s), 19 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表