社区
C++ Builder
帖子详情
C++Builder编写dll时如何添加共享数据段
firedrakexxx
2003-10-09 06:13:50
C++Builder编写dll时如何添加共享数据段
...全文
152
9
打赏
收藏
C++Builder编写dll时如何添加共享数据段
C++Builder编写dll时如何添加共享数据段
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
yesry
2003-10-23
打赏
举报
回复
提示
[Linker error]Section SHSEG define in .def file is empty
yesry
2003-10-22
打赏
举报
回复
哦
CityHost
2003-10-22
打赏
举报
回复
创建共享数据段,
原文来自 community.borland.com
原文名字:Creating A Shared Memory Segment with C++Builder 4.0
译名: 在C++Builder中创建共享内存段
C++Builder 4.0 是第一个支持共享内存段的C++Builder 编译器。本文解释如何在windows DLL中使用此特性。
要改变数据段和类名字,您需要在您想要共享的文件中增加 #pragma option -zR[段名字]和#pragma option -zT[类名字]
下面的代码将输出一个称为'data'的整数。
File: SharedData.cpp
#pragma option -zRSHSEG // 改变缺省的数据段名字
#pragma option -zTSHCLASS // 改变缺省的数据类名字
// 初始化我们打算共享的数据
int data = 0;
注意本文件中的段名是SHSEGSHCLASS。
Linker需要一个.def文件来创建共享段。下面是.def文件的内容。
File: Shared.def
LIBRARY SHAREDDLL
SEGMENTS
SHSEG CLASS 'SHCLASS' SHARED
下面是包含dll入口点的dll源文件以及头文件。
包括了设置及取得共享内存段的方法。
File: SharedDLL.h
#ifdef __DLL__
#define DLL_EXPORT __declspec(dllexport)
#else
#define DLL_EXPORT __declspec(dllimport)
#endif
extern "C"
{
void DLL_EXPORT SetData(int x);
int DLL_EXPORT GetData(void);
}
File: SharedDLL.cpp
#include
#pragma hdrstop
#include "Shared.h"
USEUNIT("SharedData.cpp");
USEDEF("Shared.def");
int WINAPI DllEntryPoint(HINSTANCE hinst, unsigned long reason, void*)
{
return 1;
}
extern int data;
void DLL_EXPORT SetData(int x)
{
data = x;
}
int DLL_EXPORT GetData(void)
{
return data;
}
勉励前行
2003-10-22
打赏
举报
回复
只記得,以前的貼子中有說過。
yesry
2003-10-22
打赏
举报
回复
ding
sfemil
2003-10-10
打赏
举报
回复
共享节在CB中编译无法通过在VC中可以.
相关信息参见 机械工业出版社 windows核心编程 中有详细论述它是一本很不错的书值得看看.
ljlln
2003-10-10
打赏
举报
回复
gz
ddsft
2003-10-10
打赏
举报
回复
顶!!强列关注!!!
54783szg
2003-10-10
打赏
举报
回复
另外加一个头文件,这种方法我用过,将所有全局共享的数据都可以放在这个头文件里,动态库其它函数也可以访问的!!!
eclipse 开发c/c++
代码辅助:这个代码完成功能类似于可在 Borland C++ Builder 或 MS Visual Studio 中找到的功能。 它使用了 代码模板,并且只有助于避免愚蠢的语法错误: 图 4. 有助于使用正确的语言语法的代码辅助功能 代码模板...
Visual C++ 音频/视频 处理技术及工程实践(分卷3)
2.8.4 如何正确
编写
Win32
DLL
87 2.8.5 如何
编写
和使用资源
DLL
88 2.8.6 如何实现对话框的
数据
交换 88 2.9 本章小结 89 第2篇 音频开发 91 第3章 DirectSound开发基础 93 3.1 Microsoft DirectSound SDK 94 3.1.1 ...
vc++ 开发实例源码包
这个例子就是查询任何可执行文件的版本信息并且
C++builder
和 VC 都通用,只需要把 AnsiString 替换成 CString 就行了。 gh0st v3.6 源码 - 可下断点调试! 如题。详细见源码。 GMem 内存管理单元源码。GMem.cpp...
TeeChart(.net 图型控件)
源代码支持Windows平台下的(Delphi和
C++Builder
)、.NET平台下的(Delphi8)和Linux平台下的(Kylix/CLX) TeeChart的图形功能源代码可直接调用Windows GDI(图形设备接口) API
数据
存放在动态数组中,而动态数组是...
短信接口(手机).rar
短消息二次开发接口以动态连接库的形式提供,支持所有Windows平台下开发语言,如Visual C++, VB, FoxPro , C++ Builder, Delphi, Power Builder和Lotus Notes等。 接口特点: 接口直接使用手机做为发送设备,...
C++ Builder
13,825
社区成员
102,679
社区内容
发帖
与我相关
我的任务
C++ Builder
C++ Builder相关内容讨论区
复制链接
扫一扫
分享
社区描述
C++ Builder相关内容讨论区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章