一个Dll调用和传输的问题, 请高手求教

liufx 2005-03-12 03:39:32
CSearchFile.dll
#ifdef CSEARCHFILE_EXPORTS
#define CSEARCHFILE_API _declspec(dllexport)
#else
#define CSEARCHFILE_API _declspec(dllimport)
#endif
CFind_Sent_Word m_find_sent_word;
extern "C" bool CSEARCHFILE_API _stdcall set_ck_and_index(const char * ck_path , const char * index_path);
extern "C" char * CSEARCHFILE_API _stdcall get_all_word_shuxin_from_str(const char * m_sent_string);
BOOL APIENTRY DllMain( HANDLE hModule,
DWORD ul_reason_for_call,
LPVOID lpReserved
)
{
return TRUE;
}


extern "C" bool CSEARCHFILE_API _stdcall set_ck_and_index(const char * ck_path , const char * index_path)
{
m_find_sent_word.Set_ck_path(ck_path);
bool flag = m_find_sent_word.set_index_data(index_path);
return flag;
}

extern "C" char * CSEARCHFILE_API _stdcall get_all_word_shuxin_from_str(const char * m_sent_string)
{ // 在此处出错,
int num , i;
num = i = 0;
num = m_find_sent_word.set_sent_data(m_sent_string);
char *p , data[MaxFileWordLin * MaxSentBufNum];
p = NULL; strcpy(data, "");
while( i < num )
{
strcat(data, "<");
strcat(data, m_find_sent_word.Get_sent_data_from_nuber(i));
strcat(data, ">");
i++;
}
p = data;
return p;
}


CSearchExe
extern "C" char * _declspec(dllimport) _stdcall get_all_word_shuxin_from_str( const char * m_sent_string );

void CSearchDlg::Abc()
{
char data[80];
sprintf(data, "%s", get_all_word_shuxin_from_str(text)) // 调用dll出错
}
SearchFile.def文件
EXPORTS
set_ck_and_index @1 NONAME
get_all_word_shuxin_from_str @2 NONAME


请帮我看看为什么会出错呢?

...全文
130 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
whs1980 2005-03-12
  • 打赏
  • 举报
回复
出错信息是什么?这样的代码有错也不太好看

15,471

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 进程/线程/DLL
社区管理员
  • 进程/线程/DLL社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧