⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 absmemory.hpp

📁 Absolute Database 5.12 src. Absolute Database lets you forget the Borland Database Engine (BDE). Th
💻 HPP
字号:
// Borland C++ Builder
// Copyright (c) 1995, 2005 by Borland Software Corporation
// All rights reserved

// (DO NOT EDIT: machine generated header) 'Absmemory.pas' rev: 10.00

#ifndef AbsmemoryHPP
#define AbsmemoryHPP

#pragma delphiheader begin
#pragma option push
#pragma option -w-      // All warnings off
#pragma option -Vx      // Zero-length empty class member functions
#pragma pack(push,8)
#include <System.hpp>	// Pascal unit
#include <Sysinit.hpp>	// Pascal unit
#include <Sysutils.hpp>	// Pascal unit
#include <Classes.hpp>	// Pascal unit
#include <Windows.hpp>	// Pascal unit
#include <Absexcept.hpp>	// Pascal unit
#include <Absconst.hpp>	// Pascal unit

//-- user supplied -----------------------------------------------------------

namespace Absmemory
{
//-- type declarations -------------------------------------------------------
typedef __int64 TABSMemorySize;

class DELPHICLASS TABSMemoryManager;
class PASCALIMPLEMENTATION TABSMemoryManager : public System::TObject 
{
	typedef System::TObject inherited;
	
private:
	__int64 FMaxMemorySize;
	__int64 FTotalMemAllocated;
	__int64 FFreeSystemMemorySize;
	__int64 FAllocMemCallCount;
	__int64 FGetMemCallCount;
	__int64 FFreeMemCallCount;
	__int64 FReallocMemCallCount;
	_RTL_CRITICAL_SECTION MMLock;
	
public:
	__fastcall TABSMemoryManager(void)/* overload */;
	__fastcall TABSMemoryManager(__int64 MaxMemorySize)/* overload */;
	__fastcall virtual ~TABSMemoryManager(void);
	void * __fastcall GetMem(__int64 BufferSize);
	void * __fastcall AllocMem(__int64 BufferSize);
	void __fastcall ReallocMem(void *Buffer, __int64 BufferSize, bool ClearTail = false);
	void __fastcall ReallocMemAndClearTail(void *Buffer, __int64 BufferSize);
	void __fastcall FreeAndNillMem(void *Buffer);
	void __fastcall FreeMem(const void * Buffer);
	__int64 __fastcall GetMemoryBufferSize(void * Buffer);
	__int64 __fastcall GetFreeMemorySize(void);
	__property __int64 MaxMemorySize = {read=FMaxMemorySize};
	__property __int64 TotalMemAllocated = {read=FTotalMemAllocated};
	__property __int64 AllocMemCallCount = {read=FAllocMemCallCount};
	__property __int64 GetMemCallCount = {read=FGetMemCallCount};
	__property __int64 FreeMemCallCount = {read=FFreeMemCallCount};
	__property __int64 ReallocMemCallCount = {read=FReallocMemCallCount};
};


//-- var, const, procedure ---------------------------------------------------
extern PACKAGE TABSMemoryManager* MemoryManager;
extern PACKAGE void __fastcall ABSMove(const void *Source, void *Dest, int count);

}	/* namespace Absmemory */
using namespace Absmemory;
#pragma pack(pop)
#pragma option pop

#pragma delphiheader end.
//-- end unit ----------------------------------------------------------------
#endif	// Absmemory

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -