首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

C++ Dll 回到字符串数据

2013-01-11 
C++ Dll 返回字符串数据C++ 到 C++ , Dll 怎么返回字符串数据[解决办法]引用:哈哈:自己解决吧;DLL _declsp

C++ Dll 返回字符串数据
C++ 到 C++ , Dll 怎么返回字符串数据
[解决办法]

引用:
哈哈:自己解决吧;
DLL _declspec(dllexport) void * test(void) 

    static CStringArray strArr; 
    strArr.Add("1"); 
    strArr.Add("2"); 
    return (void *)&strArr; 


调用 
CStringArray *……


你这个不是线程安全的,慎用
还是用指针+长度的方式比较好
[解决办法]
struct string_stub;

struct string_class
{
    void (* delete)( struct string_stub * );
};

struct string_stub
{
    struct string_class const *class;
};

typedef char const *string;

string alloc_string( char const *txt )
{
    struct string_stub *ss;
    int   len;

    len = strlen(txt);
    ss = malloc( sizeof(struct string_stub) + len );
    memcpy(ss + 1, txt, len + 1);

    ss->class = & your_string_class;
    return (string)(ss + 1);
}

void free_string( string p )
{
    struct string_stub *ss = (struct string_stub *) p - 1;
    ss->class->delete(ss);
}

简单实现一个string class,让string对象自己释放自己。

热点排行