一个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


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

...全文
95 点赞 收藏 1
写回复
1 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
whs1980 2005-03-12
出错信息是什么?这样的代码有错也不太好看
回复
发帖
进程/线程/DLL
创建于2007-09-28

1.5w+

社区成员

VC/MFC 进程/线程/DLL
申请成为版主
帖子事件
创建了帖子
2005-03-12 03:39
社区公告
暂无公告