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提供好多成员函数实现这个东西。
     
     
    来源:摘抄笔记
  • 相关阅读:
    [Unity官方文档翻译]Primitive and Placeholder Objects Unity原生3D物体教程
    开源一个简易轻量的reactor网络框架
    架构设计:系统存储(28)——分布式文件系统Ceph(挂载)
    实现连接池技术的样例
    <html>
    nyoj 1239 引水project (河南省第八届acm程序设计大赛)
    Java Jdk1.8 HashMap源代码阅读笔记二
    Course Schedule
    Ubuntu Git安装与使用
    HTML5学习笔记(十九):Lambda和Promise
  • 原文地址:https://www.cnblogs.com/no7dw/p/2238437.html
Copyright © 2011-2022 走看看