zoukankan      html  css  js  c++  java
  • 【dll 返回字符串 】2

    【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;
    }

     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");
        
  • 相关阅读:
    linux-gcc 编译时头文件和库文件搜索路径
    程序自启动位置(8种方法,注册表有6处)
    谷歌、flick网站图片 一次性下载 javaWeb项目 多线程下载,
    部署vc2008开发的程序(vcredist_x86是其中一个办法)
    vs2012-vs2013编译出来的程序不能在xp上运行解决方法
    openssl编译
    libcurl编译
    qt 国际化(翻译时会触发changeEvent)
    uva 12100 Printer Queue 优先级队列模拟题 数组模拟队列
    qtcreator增加doxygen注释
  • 原文地址:https://www.cnblogs.com/no7dw/p/2240964.html
Copyright © 2011-2022 走看看