读书人

C++ Dll 回到字符串数据

发布时间: 2013-01-11 11:57:35 作者: rapoo

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对象自己释放自己。

读书人网 >VC/MFC

热点推荐