【dll 返回字符串 】2
生活随笔
收集整理的這篇文章主要介紹了
【dll 返回字符串 】2
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
【vc <--> vc】返回void* 類型
{
????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;
}
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");
????
?
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;
}
?
?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");
????
轉載于:https://www.cnblogs.com/no7dw/archive/2011/11/08/2240964.html
總結
以上是生活随笔為你收集整理的【dll 返回字符串 】2的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: SVN合并分支到主干(简单易懂)
- 下一篇: webstorm主题网址+使用方法