資源簡介
DELPHI版IOCP完整源碼及實例,源碼均有詳細的中文說明。

代碼片段和文件信息
/*
Fast?Memory?Manager:?BCB?support?2.0
Description:
?FastMM?support?unit?for?BCB6?1.0.?Loads?FastMM4?on?startup?of?the?Borland?C++
?Builder?application?or?DLL.
Usage:
?1)?Under?the?Project?->?Options?->?linker?menu?uncheck?“Use?Dynamic?RTL“
????(sorry?won‘t?work?with?the?RTL?DLL).
?2)?Add?FastMM4.pas?to?your?project?and?build?it?so?that?FastMM4.hpp?is
????created.
?3)?Add?FastMM4BCB.cpp?to?your?project.
?FastMM?will?now?install?itself?on?startup?and?replace?the?RTL?memory?manager.
Acknowledgements:
?-?Jarek?Karciarz?Vladimir?Ulchenko?(Vavan)?and?Bob?Gonder?for?their?help?in
???implementing?the?initial?BCB?support.
?-?JiYuan?Xie?for?doing?an?entire?rewrite?of?this?unit?to?allow?leak?reporting
???etc.?under?BCB.
Change?log:
?Version?1.00?(15?June?2005):
??-?Initial?release.?Due?to?limitations?of?BCB?it?cannot?be?uninstalled?(thus
????no?leak?checking?and?not?useable?in?DLLs?unless?the?DLL?always?shares?the
????main?application‘s?MM).?Thanks?to?Jarek?Karciarz?Vladimir?Ulchenko?and?Bob
????Gonder?for?their?help.
?Version?1.01?(6?August?2005):
??-?Fixed?a?regression?bug?(Thanks?to?Omar?Zelaya).
?Version?2.00?(22?April?2008):
??-?Rewritten?by?JiYuan?Xie?to?implement?leak?reporting?etc.?(Thank?you!)
*/
//#ifndef?_NO_VCL
#pragma?hdrstop
#include?“FastMM4Messages.hpp“
#include?“FastMM4.hpp“
#pragma?option?push
#pragma?option?-k-?-d?-vi-?-O2?-b-?-3?-a8?-pc?-RT-?-x?-xd?-r?-AT?-vG-?-vG0-?-vG1-?-vG2-?-vG3-?-vGc-?-vGt-?-vGd-
#ifdef?__cplusplus
extern?“C“?{
#endif
#ifdef?PatchBCBTerminate
#ifdef?FullDebugMode
#ifndef?LoadDebugDLLDynamically
#pragma?link?“FastMM_FullDebugMode.lib“
#if?defined(RawStackTraces)
__declspec(dllimport)?void?__fastcall?GetRawStackTrace(unsigned?*?AReturnAddresses
??unsigned?AMaxDepth?unsigned?ASkipframes);
#else
__declspec(dllimport)?void?__fastcall?GetframebasedStackTrace(unsigned?*?AReturnAddresses
??unsigned?AMaxDepth?unsigned?ASkipframes);
#endif
__declspec(dllimport)?void?__fastcall?LogStackTrace(unsigned?*?AReturnAddresses
??unsigned?AMaxDepth?char?*ABuffer);
??
#endif
#endif
#pragma?pack(push1)
typedef?struct?{
??unsigned?char?JmpInst;?//E9
??int?Offset;
}?TRelativeJmp32?*?PRelativeJmp32;
typedef?struct?{
??unsigned?short?JmpInst;?//FF?25
??void?*?*?DestPtr;
}?TIndirectJmp32?*?PIndirectJmp32;
#pragma?pack(pop)
//Return?true?if?write?OK
bool?__fastcall?WriteMem(void?*?Location?void?*?Data?unsigned?int?DataSize)
{
??unsigned?long?OldProtect;
??
??if?(VirtualProtect(Location?DataSize?PAGE_EXECUTE_READWRITE?&OldProtect))
??{
????memmove(Location?Data?DataSize);
????FlushInstructionCache(GetCurrentProcess()?Location?sizeof(DataSize));
????VirtualProtect(Location?DataSize?OldProtect?&OldProtect);
????return?true;
??}
??else?{
????return?false;
??}
}
#define?RelativeJmp32Inst??(0xE9)
//Return?true?if?patch?OK
bool?__fastcall?PatchProc(void?*?OldProc?void?*?NewProc?TRelativeJmp32?*?Backu
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2018-07-03?15:29??Delphi_IOCP_Source\
?????目錄???????????0??2018-07-03?15:29??Delphi_IOCP_Source\FastMM492\
?????目錄???????????0??2018-07-03?15:29??Delphi_IOCP_Source\FastMM492\CPP?Builder?Support\
?????文件???????45724??2010-11-29?15:34??Delphi_IOCP_Source\FastMM492\CPP?Builder?Support\FastMM4BCB.cpp
?????目錄???????????0??2018-07-03?15:29??Delphi_IOCP_Source\FastMM492\Demos\
?????目錄???????????0??2018-07-03?15:29??Delphi_IOCP_Source\FastMM492\Demos\Dynamically?Loaded?DLL\
?????文件????????1213??2010-11-29?15:34??Delphi_IOCP_Source\FastMM492\Demos\Dynamically?Loaded?DLL\ApplicationForm.dfm
?????文件????????1045??2010-11-29?15:34??Delphi_IOCP_Source\FastMM492\Demos\Dynamically?Loaded?DLL\ApplicationForm.pas
?????文件????????1279??2010-11-29?15:34??Delphi_IOCP_Source\FastMM492\Demos\Dynamically?Loaded?DLL\DLLForm.dfm
?????文件?????????651??2010-11-29?15:34??Delphi_IOCP_Source\FastMM492\Demos\Dynamically?Loaded?DLL\DLLForm.pas
?????文件????????1678??2010-11-29?15:34??Delphi_IOCP_Source\FastMM492\Demos\Dynamically?Loaded?DLL\DynamicallyLoadedDLLDemo.groupproj
?????文件?????????515??2010-11-29?15:34??Delphi_IOCP_Source\FastMM492\Demos\Dynamically?Loaded?DLL\TestApplication.cfg
?????文件?????????236??2010-11-29?15:34??Delphi_IOCP_Source\FastMM492\Demos\Dynamically?Loaded?DLL\TestApplication.dpr
?????文件????????3387??2010-11-29?15:34??Delphi_IOCP_Source\FastMM492\Demos\Dynamically?Loaded?DLL\TestApplication.dproj
?????文件????????4396??2010-11-29?15:34??Delphi_IOCP_Source\FastMM492\Demos\Dynamically?Loaded?DLL\TestApplication.res
?????文件?????????536??2010-11-29?15:34??Delphi_IOCP_Source\FastMM492\Demos\Dynamically?Loaded?DLL\TestDLL.cfg
?????文件?????????308??2010-11-29?15:34??Delphi_IOCP_Source\FastMM492\Demos\Dynamically?Loaded?DLL\TestDLL.dpr
?????文件????????3389??2010-11-29?15:34??Delphi_IOCP_Source\FastMM492\Demos\Dynamically?Loaded?DLL\TestDLL.dproj
?????文件????????4396??2010-11-29?15:34??Delphi_IOCP_Source\FastMM492\Demos\Dynamically?Loaded?DLL\TestDLL.res
?????目錄???????????0??2018-07-03?15:29??Delphi_IOCP_Source\FastMM492\Demos\Replacement?borlndmm?DLL\
?????文件???????42496??2010-11-29?15:34??Delphi_IOCP_Source\FastMM492\Demos\Replacement?borlndmm?DLL\BorlndMM.dll
?????文件????????1012??2010-11-29?15:34??Delphi_IOCP_Source\FastMM492\Demos\Replacement?borlndmm?DLL\DemoForm.dfm
?????文件????????1614??2010-11-29?15:34??Delphi_IOCP_Source\FastMM492\Demos\Replacement?borlndmm?DLL\DemoForm.pas
?????文件??????183296??2010-11-29?15:34??Delphi_IOCP_Source\FastMM492\Demos\Replacement?borlndmm?DLL\FastMM_FullDebugMode.dll
?????文件?????????509??2010-11-29?15:34??Delphi_IOCP_Source\FastMM492\Demos\Replacement?borlndmm?DLL\FullDebugModeDemo.cfg
?????文件?????????298??2010-11-29?15:34??Delphi_IOCP_Source\FastMM492\Demos\Replacement?borlndmm?DLL\FullDebugModeDemo.dpr
?????文件????????4396??2010-11-29?15:34??Delphi_IOCP_Source\FastMM492\Demos\Replacement?borlndmm?DLL\FullDebugModeDemo.res
?????目錄???????????0??2018-07-03?15:29??Delphi_IOCP_Source\FastMM492\Demos\Usage?Tracker\
?????文件?????????626??2010-11-29?15:34??Delphi_IOCP_Source\FastMM492\Demos\Usage?Tracker\DemoForm.dfm
?????文件?????????518??2010-11-29?15:34??Delphi_IOCP_Source\FastMM492\Demos\Usage?Tracker\DemoForm.pas
?????文件????????7610??2010-11-29?15:34??Delphi_IOCP_Source\FastMM492\Demos\Usage?Tracker\FastMMUsageTracker.dfm
............此處省略263個文件信息
- 上一篇:攝像頭sensor-IMX225規格書
- 下一篇:設計模式(最新高清PDF版)
評論
共有 條評論