Skip to content

Commit

Permalink
Merge pull request #51 from sakura-editor/fix-operator-new-delete-war…
Browse files Browse the repository at this point in the history
…nings

ビルド時警告の削減:operator new/delete 部分
  • Loading branch information
m-tmatma authored Jun 4, 2018
2 parents 66094d8 + 62cd894 commit 6f23813
Show file tree
Hide file tree
Showing 5 changed files with 62 additions and 35 deletions.
1 change: 1 addition & 0 deletions sakura/sakura.vcxproj
Original file line number Diff line number Diff line change
Expand Up @@ -539,6 +539,7 @@
<ClCompile Include="..\sakura_core\cmd\CViewCommander_Support.cpp" />
<ClCompile Include="..\sakura_core\cmd\CViewCommander_TagJump.cpp" />
<ClCompile Include="..\sakura_core\cmd\CViewCommander_Window.cpp" />
<ClCompile Include="..\sakura_core\config\build_config.cpp" />
<ClCompile Include="..\sakura_core\convert\CConvert.cpp" />
<ClCompile Include="..\sakura_core\convert\CConvert_HaneisuToZeneisu.cpp" />
<ClCompile Include="..\sakura_core\convert\CConvert_HankataToZenhira.cpp" />
Expand Down
3 changes: 3 additions & 0 deletions sakura/sakura.vcxproj.filters
Original file line number Diff line number Diff line change
Expand Up @@ -2252,6 +2252,9 @@
<ClCompile Include="..\sakura_core\uiparts\CWaitCursor.cpp">
<Filter>Cpp Source Files\uiparts</Filter>
</ClCompile>
<ClCompile Include="..\sakura_core\config\build_config.cpp">
<Filter>Cpp Source Files\config</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<Image Include="..\resource\auto_scroll_center.bmp">
Expand Down
1 change: 1 addition & 0 deletions sakura_core/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -127,6 +127,7 @@ cmd/CViewCommander_Settings.o \
cmd/CViewCommander_Support.o \
cmd/CViewCommander_TagJump.o \
cmd/CViewCommander_Window.o \
config/build_config.o \
convert/CConvert.o \
convert/CConvert_HaneisuToZeneisu.o \
convert/CConvert_HankataToZenhira.o \
Expand Down
48 changes: 48 additions & 0 deletions sakura_core/config/build_config.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
#include "StdAfx.h"
#include "build_config.h"
#include <stdlib.h> //malloc,free

//デバッグ検証用:newされた領域をわざと汚す。2007.11.27 kobake
#ifdef FILL_STRANGE_IN_NEW_MEMORY

inline void _fill_new_memory(void* p, size_t nSize, const char* pSrc, size_t nSrcLen)
{
char* s = (char*)p;
size_t i;
for (i = 0; i < nSize; i++)
{
*s++ = pSrc[i%nSrcLen];
}
}

void* operator new(size_t nSize)
{
void* p = ::malloc(nSize);
_fill_new_memory(p, nSize, "n_e_w_!_", 8); //確保されたばかりのメモリ状態は「n_e_w_!_....」となります
return p;
}

#ifdef _MSC_VER
#if _MSC_VER == 1500
_Ret_bytecap_(_Size) // for VS2008 Debug mode
#endif
#endif

void* operator new[](size_t nSize)
{
void* p = ::malloc(nSize);
_fill_new_memory(p, nSize, "N_E_W_!_", 8); //確保されたばかりのメモリ状態は「N_E_W_!_N_E_W_!_N_E_W_!_....」となります
return p;
}

void operator delete(void* p)
{
::free(p);
}

void operator delete[](void* p)
{
::free(p);
}

#endif
44 changes: 9 additions & 35 deletions sakura_core/config/build_config.h
Original file line number Diff line number Diff line change
Expand Up @@ -88,41 +88,15 @@ static const bool UNICODE_BOOL=false;

//デバッグ検証用:newされた領域をわざと汚す。2007.11.27 kobake
#ifdef FILL_STRANGE_IN_NEW_MEMORY
#include <stdlib.h> //malloc,free
inline void _fill_new_memory(void* p, size_t nSize, const char* pSrc, size_t nSrcLen)
{
char* s = (char*)p;
size_t i;
for(i = 0; i < nSize; i++)
{
*s++ = pSrc[i%nSrcLen];
}
}
inline void* operator new(size_t nSize)
{
void* p = ::malloc(nSize);
_fill_new_memory(p,nSize,"ニュー",3); //確保されたばかりのメモリ状態は「ニューニューニュー…」となります
return p;
}
#ifdef _MSC_VER
#if _MSC_VER == 1500
_Ret_bytecap_(_Size) // for VS2008 Debug mode
#endif
#endif
inline void* operator new[](size_t nSize)
{
void* p = ::malloc(nSize);
_fill_new_memory(p,nSize,"ギュー",4); //確保されたばかりのメモリ状態は「ギューギューギュー…」となります
return p;
}
inline void operator delete(void* p)
{
::free(p);
}
inline void operator delete[](void* p)
{
::free(p);
}
void* operator new(size_t nSize);
#ifdef _MSC_VER
#if _MSC_VER == 1500
_Ret_bytecap_(_Size) // for VS2008 Debug mode
#endif
#endif
void* operator new[](size_t nSize);
void operator delete(void* p);
void operator delete[](void* p);
#endif


Expand Down

0 comments on commit 6f23813

Please sign in to comment.