【vc <--> vc】返回void* 类型
void* __stdcall torrent_hash( const char *TorrentFilePath)
{
char szText[41]={0};
if(strcmp(TorrentFilePath,"") == 0 || TorrentFilePath == NULL)
return NULL;
string strHashString = "abcdefg";
sprintf(szText,"%s",strHashString.c_str() );
printf("dll output: [%s %s] Anylist Result : %s \t Hash: %s\n",__DATE__,__TIME__, TorrentFilePath , strHashString.c_str() );
return (void*)szText;
{
char szText[41]={0};
if(strcmp(TorrentFilePath,"") == 0 || TorrentFilePath == NULL)
return NULL;
string strHashString = "abcdefg";
sprintf(szText,"%s",strHashString.c_str() );
printf("dll output: [%s %s] Anylist Result : %s \t Hash: %s\n",__DATE__,__TIME__, TorrentFilePath , strHashString.c_str() );
return (void*)szText;
}
extern "C" __declspec(dllexport) void* __stdcall torrent_hash ( const char *TorrentFilePath);
使用:
View Code
void torrent_hash( char *backhash, const char *TorrentFilePath )
{
typedef void* (__stdcall *TORRENT_HASH)(const char *TorrentFilePath_indll);
TORRENT_HASH HashFun;
HINSTANCE HDLL = LoadLibrary(HASH_DLL_PATH);
if(HDLL==NULL)
{
printf("cannot find the dll file");
return ;
}
HashFun = (TORRENT_HASH)GetProcAddress(HDLL,"torrent_hash");
strcpy(backhash , (char*)HashFun( TorrentFilePath));
printf("TorrentFilePath Hash:%s \t %s\n",TorrentFilePath, backhash);
FreeLibrary(HDLL);
return ;
}
int main(int argc, char **argv)
{
if(argc>=0)
{
char backhash[41]={0};
torrent_hash( backhash ,argv[1]);
printf("TorrentFilePath Hash:%s \t %s\n",argv[1], backhash);
}
else
{
printf("loaddll torrent_path\n");
}
printf("end\n");
{
typedef void* (__stdcall *TORRENT_HASH)(const char *TorrentFilePath_indll);
TORRENT_HASH HashFun;
HINSTANCE HDLL = LoadLibrary(HASH_DLL_PATH);
if(HDLL==NULL)
{
printf("cannot find the dll file");
return ;
}
HashFun = (TORRENT_HASH)GetProcAddress(HDLL,"torrent_hash");
strcpy(backhash , (char*)HashFun( TorrentFilePath));
printf("TorrentFilePath Hash:%s \t %s\n",TorrentFilePath, backhash);
FreeLibrary(HDLL);
return ;
}
int main(int argc, char **argv)
{
if(argc>=0)
{
char backhash[41]={0};
torrent_hash( backhash ,argv[1]);
printf("TorrentFilePath Hash:%s \t %s\n",argv[1], backhash);
}
else
{
printf("loaddll torrent_path\n");
}
printf("end\n");