zoukankan      html  css  js  c++  java
  • dll return a string

    char g_szText[1024];

    __declspec(dllexport) const char * __stdcall FuncName(const unsigned char *p)
    {
    sprintf(g_szText, "this is %u !", (unsigned int) p[2]);
    return g_szText;
    }
    __declspec(dllexport)表示该函数要被输出,__stdcall表示参数传递方式,一般动态库都用这个,这个函数就是返回动态库中的一个全局变量的地址,当动态库被加载到你的程序中时,他也成了你程序的全局变量,不用担心内存问题。
    在你的程序中可以用
    __declspec(dllimport) const char * __stdcall FuncName(const unsigned char *p);声明一下就可以用了。
    另外,extern "C"也是需要的,但是如果你程序和DLL用的是一种语言一个编译器编的就无所谓了,并且__stdcall也是无所谓了。
    在VC中可以在动态库源码中这样写:
    char g_szText[1024];

    __declspec(dllexport) const char * __stdcall FuncName(const unsigned char *p)
    {
    sprintf(g_szText, "this is %u !", (unsigned int) p[2]);
    return g_szText;
    }
    __declspec(dllexport)表示该函数要被输出,__stdcall表示参数传递方式,一般动态库都用这个,这个函数就是返回动态库中的一个全局变量的地址,当动态库被加载到你的程序中时,他也成了你程序的全局变量,不用担心内存问题。
    在你的程序中可以用
    __declspec(dllimport) const char * __stdcall FuncName(const unsigned char *p);声明一下就可以用了。
    另外,extern "C"也是需要的,但是如果你程序和DLL用的是一种语言一个编译器编的就无所谓了,并且__stdcall也是无所谓了。

    char *szText = "dfsdfd";
    CString str(szText);就可以。另外,CString提供好多成员函数实现这个东西。
     
     
    来源:摘抄笔记
  • 相关阅读:
    Dapper 基础用法
    测试的分类
    Python
    MySQL数据库的增删改查
    Python面向对象之
    Python面向对象之
    Python
    HTML5/CSS3/JS笔记
    Python-Flask框架之
    Python进程与线程
  • 原文地址:https://www.cnblogs.com/no7dw/p/2238437.html
Copyright © 2011-2022 走看看