在C++Builder中建立共享記憶體段 (轉)
原文來自 community.borland.com
原文名字:Creating A Shared Memory Segment with C++Builder 4.0
譯名: 在C++Builder中建立共享段
C++Builder 4.0 是第一個支援共享記憶體段的C++Builder 。本文解釋如何在 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 WIN 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;
}
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10748419/viewspace-1004165/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- [20190104]ipcs檢視共享記憶體段.txt記憶體
- 段頁式記憶體管理(轉載)記憶體
- [20191220]關於共享記憶體段相關問題.txt記憶體
- [20210412]分析會話佔用的共享記憶體段.txt會話記憶體
- Golang 共享記憶體Golang記憶體
- POSIX 共享記憶體記憶體
- [Linux]共享記憶體Linux記憶體
- Kubernetes中Pod間共享記憶體方案記憶體
- [20210902]為什麼會使用多個共享記憶體段.txt記憶體
- [20210407]分析sql語句的共享記憶體段3.txtSQL記憶體
- Qt共享記憶體QSharedMemoryQT記憶體
- Linux共享記憶體(二)Linux記憶體
- nginx共享記憶體分析Nginx記憶體
- QT之共享記憶體QT記憶體
- [20191223]關於共享記憶體段相關問題3.txt記憶體
- [20210421]分析會話佔用的共享記憶體段2.txt會話記憶體
- C#--得到物件在記憶體中的大小和把記憶體中的位元組轉換為字串C#物件記憶體字串
- Linux共享記憶體的管理Linux記憶體
- Oracle記憶體結構(四)----如何獲得Oracle各記憶體段的內部資訊(轉)Oracle記憶體
- Linux從頭學03:如何告訴 CPU,程式碼段、資料段、棧段在記憶體中什麼位置?Linux記憶體
- 【記憶體管理】Oracle如何使用ASMM自動共享記憶體管理記憶體OracleASM
- Android匿名共享記憶體(Ashmem)原理Android記憶體
- nginx中共享記憶體的使用Nginx記憶體
- [轉載] Java直接記憶體與堆記憶體Java記憶體
- OpenResty 和 Nginx 的共享記憶體區是如何消耗實體記憶體的RESTNginx記憶體
- 程序間通訊(3)-共享記憶體記憶體
- 程式間通訊之共享記憶體記憶體
- Linux:深入淺出 Linux 共享記憶體Linux記憶體
- GO slice 切片-在記憶體中如何分配Go記憶體
- JS中的棧記憶體、堆記憶體JS記憶體
- Golang併發之共享記憶體變數Golang記憶體變數
- system-v IPC共享記憶體通訊記憶體
- Linux程式間通訊之共享記憶體Linux記憶體
- PostgreSQL共享記憶體裡的內容(initCommunication)SQL記憶體
- 堆外記憶體及其在 RxCache 中的使用記憶體
- 在 ArkTS 中,如何有效地進行記憶體管理和避免記憶體洩漏?記憶體
- Swift記憶體賦值探索一: 理解物件在記憶體中的儲存狀態Swift記憶體賦值物件
- php簡單使用shmop函式建立共享記憶體減少伺服器負載PHP函式記憶體伺服器負載
- ORACLE在各作業系統訊號量與共享記憶體的維護Oracle作業系統記憶體