【dll 返回字符串 】1
【vc <--> vc】
void __stdcall torrent_hash( char *hash, const char *TorrentFilePath)
{
if(strcmp(TorrentFilePath,"") == 0 || TorrentFilePath == NULL)
return ;
string strHashString = "abcdefg";
memcpy(hash , strHashString.c_str() ,strlen(strHashString.c_str() ));
printf("dll output: [%s %s] Anylist Result : %s \t Hash: %s\n",__DATE__,__TIME__, TorrentFilePath , strHashString.c_str() );
}
extern "C" __declspec(dllexport) void __stdcall torrent_hash( char *hash,const char *TorrentFilePath);
call for dll
View Code
void torrent_hash( char *backhash, const char *TorrentFilePath )
{
typedef void (__stdcall *TORRENT_HASH)( char *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");
HashFun( backhash, 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)( char *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");
HashFun( backhash, 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");