游戏开发论坛

 找回密码
 立即注册
搜索
查看: 2677|回复: 3

DLL中怎样输出类中的静态成员变量

[复制链接]

48

主题

155

帖子

265

积分

中级会员

Rank: 3Rank: 3

积分
265
发表于 2006-11-26 10:19:00 | 显示全部楼层 |阅读模式
我用__declspec(dllexport)输出某个类,编译能够通过,链接时错误,找不到类中的静态成员变量.

例子:
// test.h
class __declspec(dllexport) A
{
        public:
              static const int TEST;
};

//test.cpp
#include "test.h"

const int A::TEST = 0;

请问应当怎样做呢?

网上搜索,说需要使用共享数据段,可是我不止输出一个类,可能会有很多的类有静态成员变量,觉得共享数据段不方便.
[em1]

3

主题

155

帖子

161

积分

注册会员

Rank: 2

积分
161
发表于 2006-11-26 15:53:00 | 显示全部楼层

Re:DLL中怎样输出类中的静态成员变量

好像没有什么输出不输出的问题吧?
像普通成员变量一样的用啊.

如:
例子:
// test.h
class __declspec(dllexport) A
{
        public:
              static const int TEST;
};

//test.cpp
#include "test.h"

const int A::TEST = 0;



在别的工程中使用:
#include "test.h"
#pragma comment(lib,"test.lib")
......//略去N多

A a;//定义
int i = a.TEST;

int i = A::TEST;

///共享数据段
是多进程共享用的.
如:
A.EXE用到了test.dll
b.exe也用到了test.dll

A ,B两进程中用到的 test.dll中的 共享数据段的变量  的值 是一样的确

36

主题

1047

帖子

1147

积分

金牌会员

Rank: 6Rank: 6

积分
1147
发表于 2006-11-27 11:07:00 | 显示全部楼层

Re:DLL中怎样输出类中的静态成员变量

在你的 cpp 中的 static 变量声明前面加上 __declspec(dllexport)即可。

48

主题

155

帖子

265

积分

中级会员

Rank: 3Rank: 3

积分
265
 楼主| 发表于 2006-12-6 10:35:00 | 显示全部楼层

Re:DLL中怎样输出类中的静态成员变量

to congy
我试过了 你的方法不行,编译不过!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2026-1-26 00:44

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表