Index: trunk/ab5.0/abdev/ab_common/ab_common.vcproj
===================================================================
--- trunk/ab5.0/abdev/ab_common/ab_common.vcproj	(revision 750)
+++ trunk/ab5.0/abdev/ab_common/ab_common.vcproj	(revision 751)
@@ -282,4 +282,45 @@
 				RelativePath=".\src\Environment.cpp"
 				>
+			</File>
+			<File
+				RelativePath="..\malloc.c"
+				>
+				<FileConfiguration
+					Name="Debug(x86)|Win32"
+					>
+					<Tool
+						Name="VCCLCompilerTool"
+						PreprocessorDefinitions="USE_DL_PREFIX"
+						UsePrecompiledHeader="0"
+					/>
+				</FileConfiguration>
+				<FileConfiguration
+					Name="Release(x86)|Win32"
+					>
+					<Tool
+						Name="VCCLCompilerTool"
+						Optimization="3"
+						PreprocessorDefinitions="USE_DL_PREFIX"
+						UsePrecompiledHeader="0"
+					/>
+				</FileConfiguration>
+				<FileConfiguration
+					Name="Debug(x64)|Win32"
+					>
+					<Tool
+						Name="VCCLCompilerTool"
+						PreprocessorDefinitions="USE_DL_PREFIX"
+						UsePrecompiledHeader="0"
+					/>
+				</FileConfiguration>
+				<FileConfiguration
+					Name="Release(x64)|Win32"
+					>
+					<Tool
+						Name="VCCLCompilerTool"
+						PreprocessorDefinitions="USE_DL_PREFIX"
+						UsePrecompiledHeader="0"
+					/>
+				</FileConfiguration>
 			</File>
 			<File
Index: trunk/ab5.0/abdev/ab_common/src/Environment.cpp
===================================================================
--- trunk/ab5.0/abdev/ab_common/src/Environment.cpp	(revision 750)
+++ trunk/ab5.0/abdev/ab_common/src/Environment.cpp	(revision 751)
@@ -35,2 +35,27 @@
 	throw;
 }
+
+void* operator new( std::size_t n )
+{
+	if ( void* p = dlmalloc(n) ){
+		return p;
+	}
+	else{
+		throw std::bad_alloc();
+	}
+}
+
+void* operator new[]( std::size_t n )
+{
+	return ::operator new( n );
+}
+
+void operator delete( void* p )
+{
+	dlfree( p );
+}
+
+void operator delete[]( void* p )
+{
+	::operator delete( p );
+}
