* Fri Nov 23 16:42:47 JST 2012 Naoyuki Sawa
- uBoehm GCv́A\[XR[ĥ݂ŔzzĂAŃCurhKv܂B
  uBoehm GCṽ\[XR[hAVisual Studio 6.0 gărhāACu𐶐܂B
- AvP[VŃCugpۂɁAŏKvȃt@CcA͍폜܂B
- ȉArh菇L^܂B

 uBoehm GCṽ\[XR[h_E[hB
http://www.hpl.hp.com/personal/Hans_Boehm/gc/gc_source/gc-7.2d.tar.gz  \clip\keep\gc-7.2d.7zɕۑB
,,
http://www.hpl.hp.com/personal/Hans_Boehm/gc/gc_source/gc.tar.gz c ̎_̍ŐVverB2012/11/23_ł͏Lt@CƓełB

 gc.tar.gzWJB
gc.tar.gz ̃\[XR[ho[WɑΉAtH_WJ܂B
2012/11/23_ gc.tar.gz ́Agc-7.2 ƂtH_ɂȂ܂B

 WJtH_̒ֈړ
> cd gc-7.2

 Visual Studio p CNt@CAMAKEFILE Ƀl[B
> ren NT_MAKEFILE MAKEFILE

 MAKEFILE CB
Visual Studio p CNt@Cɂ́A_ACǂ_܂B
.c.obj:
    $(cc) $(cdebug) $(cflags) $(cvars) -Iinclude -DALL_INTERIOR_POINTERS -DGC_NOT_DLL -D_CRT_SECURE_NO_DEPRECATE -DDONT_USE_USER32_DLL $*.c /Fo$*.obj
                                                                                                                 ~~~~~~~~~~~~~~~~~~~~~ ǉ
.cpp.obj:
    $(cc) $(cdebug) $(cflags) $(cvars) -Iinclude -DALL_INTERIOR_POINTERS -DGC_NOT_DLL -D_CRT_SECURE_NO_DEPRECATE -DDONT_USE_USER32_DLL $*.cpp /Fo$*.obj
                                                                                                                 ~~~~~~~~~~~~~~~~~~~~~ ǉ
{{2015/11/22RgǋL:Lɉ'-DLARGE_CONFIG'w肷鎖ɂ܂BuSun Nov 22 21:02:41 JST 2015 Naoyuki SawaṽRgQƂĉB}}
L̂悤ɏCȂƁAR\[AvP[VŃCugpꍇɂAuser32.dll 𖾎IɃNȂ΂ȂȂȂ܂B
DONT_USE_USER32_DLL }N`ĂƂŁA̖肪܂B
ڍׂ́AuBoehm GCṽ\[XR[h misc.c QƂĂB

 Visual Studio 6.0 ̊ϐݒ肷B
> "C:\Program Files\Microsoft Visual Studio\VC98\Bin\VCVARS32.BAT"

 rhB
Visual Studio p CNt@C̐擪ɋLڂĂʂAL̃R}hŃrh܂B
> nmake nodebug=1 all

 Kvȃt@Ĉ݂cāA͍폜B
AvP[VŃCugpۂɁAŏKvȃt@ĆAL݂̂ł:
gc.lib
include/gc.h
include/gc_version.h
include/gc_config_macros.h
include/gc_cpp.h@c C++ŎgpȂꍇ͂sv
ŏKvȃt@C͏L̂ƂȂ̂łAɉ include tH_̃wb_t@CASĎcĂƂɂ܂B
񐄏(problematic)ł͂邪A֗Ȋ֐Agc.h ȊÕwb_t@CŐ錾Ă邩łB(GC_finalize_all() Ȃ)

================================================================================
* Sun Sep 22 18:51:53 JST 2013 Naoyuki Sawa
uBoehm GCvŃ[NoƁAut@C.gc.logvƂt@CɃOo͂B
̓ύXAR\[֒ڃOo͂ꍇ́AvO̐擪Ɉȉ̂悤ɏΗǂ:
putenv("GC_LOG_FILE=CON");//Oo͐w
GC_set_find_leak(1);//[NoJn

================================================================================
* Fri Apr 25 10:09:50 JST 2014 Naoyuki Sawa
- uBoehm GCv7.4.0Ƀo[WAbv܂B
  ݂݂ɁAuBoehm GCvWebTCg̏ꏊς悤ł:
  http://www.hboehm.info/gc/
  _E[ht@CURL:
  http://www.hboehm.info/gc/gc_source/gc-7.4.0.tar.gz  \clip\keep\gc-7.4.0.7zɕۑB
- rh@́Agc-7.2d.tar.gz̎ƂقړlłBL̐QƂĂB
  Agc-7.4.0.tar.gz̃\[Xɂ́AMSVC++ 6.0ΉɊւ2ӏԈႢÂ܂܂ł̓RpCG[ɂȂ܂B
  RpCG[邽߂ɁAL̂悤ɏCĂ:
@ gc-7.4.0/include/gc_config_macros.h 235s:
  yCOz# elif defined(_MSC_VER) && _MSC_VER >= 14
  yCz# elif defined(_MSC_VER) && _MSC_VER >= 1400
A gc-7.4.0/include/gc_config_macros.h 269s:
  yCOz# elif defined(_MSC_VER) && _MSC_VER >= 12
  yCz# elif defined(_MSC_VER) && _MSC_VER >= 1400

================================================================================
* Thu Sep 11 21:15:51 JST 2014 Naoyuki Sawa
- uBoehm GCv7.4.2Ƀo[WAbv܂B
  _E[ht@CURL:
  http://www.hboehm.info/gc/gc_source/gc-7.4.2.tar.gz  \clip\keep\gc-7.4.2.7zɕۑB
- rh@́Agc-7.2d.tar.gz̎ƂقړlłBL̐QƂĂB
- Ogc-7.4.0.tar.gzōsAMSVC++ 6.0Ή̂߂̏CAgc-7.4.2.tar.gzłsKvL܂B
  Ogc-7.4.0.tar.gz̐AQƂĂB

================================================================================
 * Tue Nov 03 21:42:14 JST 2015 Naoyuki Sawa
 - }`Xbhp̃rhɕύX܂B
   uBoehm GCṽo[ẂA7.4.2̂܂܂ŕςĂ܂B
   
   A}`Xbhp̃rh菇łB
   
 - uBoehm GCṽTCg烊NĂ鉺L̃TCgAulibatomic_opsṽ\[XR[h_E[hB
   _E[ht@CURL:
   http://www.ivmaisoft.com/_bin/atomic_ops/libatomic_ops-7.4.2.tar.gz  \clip\keep\libatomic_ops-7.4.2.7zɕۑB
   
 - ulibatomic_ops-7.4.2.7zvWJB
   WJƁulibatomic_ops-7.4.2vƂtH_ôŁAtH_ulibatomic_opsvɕύXB
   
 - ulibatomic_opsvtH_AuBoehm GCṽtH_̒ɈړB
   ȉ̂悤ȃtH_\ɂȂ܂B		@
   gc-7.4.2/					@
   @build/						@
   @cord/						@
   @()/						@
   @libatomic_ops/					@
   @doc/						@
   @m4/						@
   @()/					@
   @tests/		
   @aclocal.m4		
   @AUTHORS		
   @()			
   @TODO			
   @()
   @tools/
   @aclocal.m4
   @allchblk.c
   @()
   @win32_threads.c
   
 - JgtH_AuBoehm GCṽtH_ɂB
 - 'X^eBbNCuŃ}`Xbhp'̃CNt@CAMAKEFILE Ƀl[B
   > ren NT_STATIC_THREADS_MAKEFILE MAKEFILE
   
   ]k
   Ȃ݂'DLLŃ}`Xbhp'̃CNt@Cgc.makȂ̂łAĂ݂Ə肭s܂łB
   doc/README.win32ɐL̂łA̒ʂ()Ă肭sȂ̂ŁA߂܂B
   ʂ́A'X^eBbNCuŃ}`Xbhp'Ƃărh鎖ɂ܂B
   A'DLLŃ}`Xbhp'ƂărhKvꍇ́A炽߂ĎČ悤Ǝv܂B
   
 - uFri Nov 23 16:42:47 JST 2012 Naoyuki Sawavɏ̂ƓlɁAMAKEFILECB
   .c.obj:
     $(cc) $(cdebug) $(cflags) $(cvarsmt) -Iinclude -I$(AO_INCLUDE_DIR) -DALL_INTERIOR_POINTERS -DGC_NOT_DLL -DGC_THREADS -DTHREAD_LOCAL_ALLOC -DPARALLEL_MARK -D_CRT_SECURE_NO_DEPRECATE -DDONT_USE_USER32_DLL $*.c /Fo$*.obj
                                                                                                                                                                                          ~~~~~~~~~~~~~~~~~~~~~ ǉ
   .cpp.obj:
     $(cc) $(cdebug) $(cflags) $(cvarsmt) -Iinclude -I$(AO_INCLUDE_DIR) -DALL_INTERIOR_POINTERS -DGC_NOT_DLL -DGC_THREADS -DTHREAD_LOCAL_ALLOC -D_CRT_SECURE_NO_DEPRECATE -DDONT_USE_USER32_DLL $*.cpp /Fo$*.obj
                                                                                                                                                                          ~~~~~~~~~~~~~~~~~~~~~ ǉ
   {{2015/11/22RgǋL:Lɉ'-DLARGE_CONFIG'w肷鎖ɂ܂BuSun Nov 22 21:02:41 JST 2015 Naoyuki SawaṽRgQƂĉB}}
   
 - uFri Apr 25 10:09:50 JST 2014 Naoyuki Sawavɏ̂ƓlɁAgc-7.4.2/include/gc_config_macros.hCB
   @ gc-7.4.0/include/gc_config_macros.h 235s:
     yCOz# elif defined(_MSC_VER) && _MSC_VER >= 14
     yCz# elif defined(_MSC_VER) && _MSC_VER >= 1400
   A gc-7.4.0/include/gc_config_macros.h 269s:
     yCOz# elif defined(_MSC_VER) && _MSC_VER >= 12
     yCz# elif defined(_MSC_VER) && _MSC_VER >= 1400
   
 - Visual Studio 6.0 ̊ϐݒ肷B
   > "C:\Program Files\Microsoft Visual Studio\VC98\Bin\VCVARS32.BAT"
   
 - gc.librhB
   > nmake nodebug=1 gc.lib
   warning C4047: 'function' : ԐڎQƂق 'void ** '  'long *' ňقȂĂ܂B
   warning C4022: 'InterlockedCompareExchange' : 1 Ԗڂ߲̎̌^Ǎ߲^ƈقȂ܂B
   Ƃxo܂A薳Ǝv̂ŖĉB
   
   ]k
   unmake nodebug=1 allvł͂߂łB
   ^[Qbgallw肷ƁAeXgXC[grh悤Ƃ̂łAeXgXC[g̊eexẽNwɊԈႢL悤ŁANG[ɂȂ܂B
   ǂACuw肪ԈĂ悤łB
   Ƃ肠eXgXC[g͕Kv̂ŁAunmake nodebug=1 gc.libvƂgc.librhΏ\łB
   ȂAeXgXC[g̃NMSVCRT.LIBǉ΃G[NoāAeXgXC[gsΐO݂łB

 - Kvȃt@Ĉ݂cāA͍폜B
   uFri Nov 23 16:42:47 JST 2012 Naoyuki Sawav̎菇̍Ō̕ƓłB
   uFri Nov 23 16:42:47 JST 2012 Naoyuki Sawav̎菇QƂĉB
   
   ܂ŁA}`Xbhp̃rh菇łB
   
   AAvP[V̎gp@łB
   
 - VC++6.0ŁAvWFNg̐ݒȉ̂悤ɕύXĉB
 
 - gp郉^CCuA}`XbhɕύXĉB
   vWFNg̐ݒːݒ̑Ώ:Win32 Debug  C/C++˃JeS:R[hˎgp郉^CCu:}`Xbh(fobO)
   vWFNg̐ݒːݒ̑Ώ:Win32 ReleaseC/C++˃JeS:R[hˎgp郉^CCu:}`Xbh
 
 - VOXbhCu𖳎悤ɁAݒ肵ĉB
   vWFNg̐ݒːݒ̑Ώ:Win32 Debug  ˃N˃JeS:Cvbg˖郉Cu:LIBC,LIBCMT
   vWFNg̐ݒːݒ̑Ώ:Win32 Release˃N˃JeS:Cvbg˖郉Cu:LIBC
 
   ]k
   ̎w肪Kvł闝ŔÃCuAVOXbhCuQƂݒŃrhĂꍇ̂߂łB
   ŏIIɂ́ÃCuA}`XbhCuQƂ悤ɐݒ肵ărh΁A̎w͕svɂȂ܂B
   A'Win32 Debug''LIBCMT'𖳎w͕svɂȂ܂B̃CufobO/[Xŋʂłꍇ̑΍􂾂łB
 
   {{2015/11/17ǋL																
   vWFNgC++\[X(*.cpp)܂߂ꍇ́A郉CuɁALIBCPMTDLIBCPMTKvꍇL悤łB			
   Ƃ΁ADxLib𗘗pꍇAvWFNgC++\[X܂߂𓾂Ȃ̂łȀꍇAݒL̂悤ɂKvL܂B	
   vWFNg̐ݒːݒ̑Ώ:Win32 Debug  ˃N˃JeS:Cvbg˖郉Cu:LIBC,LIBCMT,LIBCPMTD				
   vWFNg̐ݒːݒ̑Ώ:Win32 Release˃N˃JeS:Cvbg˖郉Cu:LIBC,LIBCPMT					@
   }}2015/11/17ǋL																@
 																		@@{{2016/05/30ǋL:L̐ݒł́AC++WCugpvOɖ肪ꍇL鎖܂Bڍׂ͌q́A'Mon May 30 21:45:50 JST 2016'̋LQƂĉB}}
   {{2016/02/21ǋL																@
   L̐ݒł͕słBLIBCDN悤ƂĂ܂LIBCMTDƏՓ˂xo鎖LłB					@
   vDebugrhłLIBCMTD,ReleaserhłLIBCMTN悤ɂ̂ŁAȉ̂悤Ɏw肷̂mł悤łB	
   vWFNg̐ݒːݒ̑Ώ:Win32 Debug  ˃N˃JeS:Cvbg˖郉Cu:LIBC,LIBCD,LIBCPMT,LIBCPMTD,LIBCMT		
   vWFNg̐ݒːݒ̑Ώ:Win32 Release˃N˃JeS:Cvbg˖郉Cu:LIBC,LIBCD,LIBCPMT,LIBCPMTD,LIBCMTD		
   }}2016/02/21ǋL																
 
 - gc.h,,leak_detector.hCN[hOɁAGC_THREADS`ĉB
   `vWFNg̃wb_t@C(/Home/Share/Piece/clip/test.win/extclip.h)ł́Aȉ̂悤Ɏw肷鎖ɂ܂B
   #ifdef  _MT
   #define GC_THREADS
   #endif//_MT
   //#include "gc.h"
   #include "leak_detector.h"
   
   ܂ŁAAvP[V̎gp@łB
   
 - ȏ̂悤ɕύXāAeXgAvP[V쐬ēmF܂B
   _beginthreadex()ŐXbhƁACXbh̗ŃmۂJԂA~ɃKx[WRNV鎖mF܂B
   
   APthreads-w32(/Home/Share/Piece/clip/tool/pthreads/)ŐXbhŃmۂƁAG[~܂B
   _beginthreadex()Ńmۂꍇɏ肭삷̂́A'GC_THREADS'̎wɂBoehm GC_beginthreadex()bvĂ邩łA
   Pthreads-w32Boehm GC֒mĂȂ̂ŁÂ܂܂ł͏肭삵Ȃ̂Ǝv܂B
   ꉞAgc_pthread_redirects.hƂwb_t@CL܂A͖{(=Unix)pthreadpƎv̂ŁAPthreads-w32Ŏĝ͊댯Ǝv܂B
   Pthreads-w32Ńmۂs@ɂẮAЂƂ܂ۗɂāAKvɂȂɒ悤Ǝv܂B
   ȂAPthreads-w32ŃmۂsȂ(mۂs֐gpȂ)APthreads-w32Boehm GC𕹗pĂ薳Ǝv܂B
   
 - Boehm GCgāATuXbhŃmۂsAvP[V́ATuXbh̋N_beginthread()gĂ͂܂B	dv
   _beginthread()ŋNTuXbhŃmۂsƁAGCNɁAuCollecting from unknown threadvG[Ē~܂B
   Ȃ闝ŔABoehm GCIɃXbh̋NbvĂ֐AL̊֐ɌĂ邩łB
   /gc-7.4.2/include/gc.h (1568`1574s) Q
   #   define CreateThread GC_CreateThread
   #   define ExitThread GC_ExitThread
   #   undef _beginthreadex
   #   define _beginthreadex GC_beginthreadex
   #   undef _endthreadex
   #   define _endthreadex GC_endthreadex
   /* #define _beginthread { > "Please use _beginthreadex instead of _beginthread" < } */
   OGC_register_my_thread()GC_unregister_my_thread()ĂяoĊǗȂ΁Aʂ̕@ŃXbhNĂ\܂񂪁A
   ܂̊֐̎dg݂ǂĂȂ̂ŁAo܂ł́ABoehm GCbvĂĂ֐gpSłB
   _ŁA_beginthread()gĂW[́Aclipbpe.ĉŁA{Aclipbpe.c_beginthread()_beginthreadex()ɒu܂B
   L̒us킸ɁAclipbpe.c𗘗pĂdLedSeqC.exerhĎsƁA΂炭uCollecting from unknown threadvG[܂A
   L̒usAdLedSeqC.exerhĎsƁALx傫ȃf[^łuCollecting from unknown threadvoɐɓ삷鎖mF܂B
   COɃG[o鎖ƁACɃG[oȂmF̂ŁAL̏C͓K؂ł鎖mFo܂B
   쐬郂W[AvP[VłA_beginthread()g킸ɁA_beginthreadex()₻̑Boehm GCbvĂ֐gĉB

================================================================================
 * Sun Nov 22 21:02:41 JST 2015 Naoyuki Sawa
 - GCgAvP[VŁA'Fatal error in GC - Too many heap sections'ƂbZ[W{bNXoāAAvP[V~鎖LC܂B
   ̓Iɂ́AdLotTblC.exeő傫ȃf[^RpC悤ƂƂARpC̏IՂŏL̃bZ[W{bNXoāAdLotTblC.exeI܂B
   2015/11/03GC}`XbhāA2015/11/14dLotTblC.exerhȑÕo[Wł́Af[^̃RpCłA̖͏oĂȂƎv܂B
   GC}`XbhłŃrhƁAGCq[v@ɉ炩̏璷āÂ߂'Too many heap sections'ɂȂ̂ł͂ȂƎv܂B

 - ́AGC'heap sections'𑝂₷łB
   Ql:
   Boehm GC++ garbage collector : Too many heap sections Increase MAXHINCR or MAX_HEAP_SECTS
   (http://stackoverflow.com/questions/4728537/boehm-gc-garbage-collector-too-many-heap-sections-increase-maxhincr-or-max-h)
   vɍśAMAKEFILẼRpCIvV'-DLARGE_CONFIG'ǉ邾łB
   ȂAL̃y[Wɂ́Aꂾł'segmentation fault'̂ŕʂ̏CsƏĂ̂łÃAvP[Vł͕ʂ̖͐܂łB
   L̃y[ẂALinuxgccpythonł̗płÃAvP[VWin32Ȃ̂ŁÄႢƎv܂B
   ƂÁA'-DLARGE_CONFIG'ǉ邾ŉ̂ŁAȊO͍̎sĂ܂B

 - y_zƂẮAGC̃rh菇uTue Nov 03 21:42:14 JST 2015 Naoyuki Sawav̎菇ύX_́AL̈_݂̂łB
   uFri Nov 23 16:42:47 JST 2012 Naoyuki SawavŏC_ɉāA'-DLARGE_CONFIG'ǉB
   .c.obj:
     $(cc) $(cdebug) $(cflags) $(cvarsmt) -Iinclude -I$(AO_INCLUDE_DIR) -DALL_INTERIOR_POINTERS -DGC_NOT_DLL -DGC_THREADS -DTHREAD_LOCAL_ALLOC -DPARALLEL_MARK -D_CRT_SECURE_NO_DEPRECATE -DDONT_USE_USER32_DLL -DLARGE_CONFIG $*.c /Fo$*.obj
                                                                                                                                                                                          ~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~ǉ
   .cpp.obj:
     $(cc) $(cdebug) $(cflags) $(cvarsmt) -Iinclude -I$(AO_INCLUDE_DIR) -DALL_INTERIOR_POINTERS -DGC_NOT_DLL -DGC_THREADS -DTHREAD_LOCAL_ALLOC -D_CRT_SECURE_NO_DEPRECATE -DDONT_USE_USER32_DLL -DLARGE_CONFIG $*.cpp /Fo$*.obj
                                                                                                                                                                          ~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~ǉ

================================================================================
 * Mon May 30 21:45:50 JST 2016 Naoyuki Sawa
- Oq'{{2015/11/17ǋL'̂悤LIBCPMTLIBCPMTDPɖƁAC++WCugpvOɖ肪ꍇL鎖܂B
  G[̍Č@ƁAG[̉@́Aȉ̒ʂłB

	G[̍Č@

		2016/05/30_test.win`vWFNggāAȉ̂悤ȃeXgvO쐬܂B

			app.cpp
			``(͂̂܂܂Ȃ̂ŏȗ)``
			#include <iostream>
			int app_main(int argc, char* argv[]) {
			  std::cout << "ok";
			  return 0;
			}

		RpCƁAȉ̃G[ɂȂ܂B

			--------------------\: test - Win32 Debug--------------------
			ݸ...
			app.obj : error LNK2001: O ""public: __thiscall std::ios_base::Init::Init(void)" (??0Init@ios_base@std@@QAE@XZ)" ͖ł
			app.obj : error LNK2001: O ""public: __thiscall std::ios_base::Init::~Init(void)" (??1Init@ios_base@std@@QAE@XZ)" ͖ł
			app.obj : error LNK2001: O ""public: __thiscall std::_Winit::_Winit(void)" (??0_Winit@std@@QAE@XZ)" ͖ł
			app.obj : error LNK2001: O ""public: __thiscall std::_Winit::~_Winit(void)" (??1_Winit@std@@QAE@XZ)" ͖ł
			app.obj : error LNK2001: O ""class std::basic_ostream<char,struct std::char_traits<char> > std::cout" (?cout@std@@3V?$basic_ostream@DU?$char_traits@D@std@@@1@A)" ͖ł
			app.obj : error LNK2001: O ""public: void __thiscall std::ios_base::clear(int,bool)" (?clear@ios_base@std@@QAEXH_N@Z)" ͖ł
			app.obj : error LNK2001: O ""bool __cdecl std::uncaught_exception(void)" (?uncaught_exception@std@@YA_NXZ)" ͖ł
			Debug/test.exe : fatal error LNK1120: OQ 7 łB
			link.exe ̎sװ
			test.exe - װ 8Ax 0

		LIBCPMTLIBCPMTDɂ́AC++WCu܂܂ĂāA͂APɖĂ͂Ȃ悤łB

		AƌāALIBCPMTLIBCPMTD𖳎Ȃ悤ɂƁAȉ̃G[Ă܂܂B
		ɔł͂܂񂪁A'2015/11/17ǋL'ŏʂAȂƂDxLib𗘗pƔ܂B

			ݸ...
			gc.lib(gc_cpp.obj) : error LNK2005: "void __cdecl operator delete(void *)" (??3@YAXPAX@Z) ͂ł libcpmtd.lib(delop.obj) Œ`Ă܂
			Debug/test.exe : fatal error LNK1169: 1 ȏ̕`Ăق܂
			link.exe ̎sװ

	G[̉@

		ł́Aǂ΂悢ƌƁABoehm GC̃\[X̒ɁAȉ̋Lqt܂B

			'C:\Home\Share\Piece\clip\keep\gc-7.4.2.7z'́A'gc-7.4.2\gc_cpp.cc'
			/*************************************************************************
			This implementation module for gc_c++.h provides an implementation of
			the global operators "new" and "delete" that calls the Boehm
			allocator.  All objects allocated by this implementation will be
			uncollectible but part of the root set of the collector.
			
			You should ensure (using implementation-dependent techniques) that the	
			linker finds this module before the library that defines the default		
			built-in "new" and "delete".							
			**************************************************************************/

		vɁALIBCPMTLIBCPMTDɁAgc.libN悤ɂΗǂ̂łB
		A2016/05/30݁Agc.lib̃NẃAȉ̉ӏōsĂAftHgCuƓɂȂĂ܂Ă܂B

			C:\Home\Share\Piece\clip\libclip\extclip.h
			`
			#pragma comment(lib, "gc.lib")
			`

		ŁAeAvP[VvWFNg̃JwŁALgc.libUA߂gc.lib,LIBCPMT(LIBCPMTD)̏ŁAIɃCuw肷Ηǂ̂łB
		_ƂẮAeAvP[VvWFNg̃JwAȉ̂悤ɕύXĉB

	ځ		vWFNg̐ݒːݒ̑Ώ:Win32 Debug  ˃N˃JeS:Cvbg˖郉Cu:LIBC,LIBCD,LIBCPMT,LIBCMT,gc,LIBCPMTD
	ځ		                                                                                                                      //~~~~~~~~~~~gc,LIBCPMTD͈ꎞIɖ邾ŌŖIɎw肷鎖邽߂ɁAԂւčŌɂ܂Bۂɂ͖鏇Ԃ͊֌ŴŁȀԂ͕K{ł͂܂B
	ځ		vWFNg̐ݒːݒ̑Ώ:Win32 Release˃N˃JeS:Cvbg˖郉Cu:LIBC,LIBCD,LIBCPMTD,LIBCMTD,gc,LIBCPMT
	ځ		                                                                                                                        //~~~~~~~~~~gc,LIBCPMT͈ꎞIɖ邾ŌŖIɎw肷鎖邽߂ɁAԂւčŌɂ܂Bۂɂ͖鏇Ԃ͊֌ŴŁȀԂ͕K{ł͂܂B
	ځ		vWFNg̐ݒːݒ̑Ώ:Win32 Debug  ˃N˃JeS:Cvbg˃IuWFNg/CuW[:kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib SETARGV.OBJ gc.lib LIBCPMTD.LIB
	ځ		                                                                                                                                                                                                                                                                    //~~~~~~~~~~~~~~~~~~~̏Ԃ͕K{łB
	ځ		vWFNg̐ݒːݒ̑Ώ:Win32 Release˃N˃JeS:Cvbg˃IuWFNg/CuW[:kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib SETARGV.OBJ gc.lib LIBCPMT.LIB
	ځ		                                                                                                                                                                                                                                                                    //~~~~~~~~~~~~~~~~~~ ̏Ԃ͕K{łB

		L̂悤ɐݒ肷ƁA'C:\Home\Share\Piece\clip\libclip\extclip.h'́u#pragma comment(lib, "gc.lib")v͖ӖɂȂ̂ŁA폜Ăǂ̂łAcĂɂ܂B
		ŔAȉ̒ʂłB

		΍􂪕KvɂȂ̂́AC++WCugpvOłB
		݂̏AC++WCugpvO͏Ȃ̂ŁAۂɂ̑΍􂪕KvɂȂ鎖͋HłB
		]Ă̑΍́AeAvP[VŕKvɂȂsƂɂāȀ݂́AĹu#pragma comment(lib, "gc.lib")vAtest.win`vWFNg͕ύXɁÂ܂܂ɂĂɂ܂B

	ځ	AC++WCugpvOɁANG[A̋L̎菇ɉāAʂɁÃAvP[ṼvWFNg̐ݒύXĉB

================================================================================
* Wed Jun 15 13:27:07 JST 2016 Naoyuki Sawa
- uBoehm GCvA7.4.27.4.4Ƀo[WAbv܂B
  ulibatomic_opsvA7.4.27.4.4Ƀo[WAbv܂B
- Cũrh菇́A'Tue Nov 03 21:42:14 JST 2015',y,'Sun Nov 22 21:02:41 JST 2015'̃Rgŏ菇AςĂ܂B
  ςĂ܂񂪁AL̃Rg͓ɕĂēǂݐĥŁAxACũrh菇ʂĈȉɂ܂Ƃ߂Ăɂ܂B

	``````````@Cũrh菇F@``````````

	uBoehm GCṽ\[XR[h_E[hB
	@http://hboehm.info/gc/gc_source/gc-7.4.4.tar.gz  \clip\keep\gc-7.4.4.tar.7z ɕۑĂ܂B

	ulibatomic_opsṽ\[XR[h_E[hB
	@http://hboehm.info/gc/gc_source/libatomic_ops-7.4.4.tar.gz  \clip\keep\libatomic_ops-7.4.4.tar.7z ɕۑĂ܂B

	ulibatomic_ops-7.4.4.tar.gzvWJB
	@WJƁulibatomic_ops-7.4.4vƂtH_ôŁAtH_ulibatomic_opsvɕύXB

	ulibatomic_opsvtH_AuBoehm GCṽtH_̒ɈړB
	@ȉ̂悤ȃtH_\ɂȂ܂B			
	@gc-7.4.4/						
	@@build/						
	@@cord/						
	@@()/						
	@@libatomic_ops/					
	@@doc/						
	@@m4/						
	@@()/						
	@@tests/			
	@@aclocal.m4		
	@@AUTHORS			
	@@()			
	@@test-driver		
	@@()
	@@tools/
	@@aclocal.m4
	@@allchblk.c
	@@()
	@@win32_threads.c

	JgtH_AuBoehm GCṽtH_ɂB
	@'X^eBbNCuŃ}`Xbhp'̃CNt@CAMAKEFILE Ƀl[B
	@> ren NT_STATIC_THREADS_MAKEFILE MAKEFILE

	MAKEFILECB
	@.c.obj:
	@  $(cc) $(cdebug) $(cflags) $(cvarsmt) -Iinclude -I$(AO_INCLUDE_DIR) -DALL_INTERIOR_POINTERS -DGC_NOT_DLL -DGC_THREADS -DTHREAD_LOCAL_ALLOC -DPARALLEL_MARK -D_CRT_SECURE_NO_DEPRECATE -DDONT_USE_USER32_DLL -DLARGE_CONFIG $*.c /Fo$*.obj
	@                                                                                                                                                                                       ~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~ǉ
	@.cpp.obj:
	@  $(cc) $(cdebug) $(cflags) $(cvarsmt) -Iinclude -I$(AO_INCLUDE_DIR) -DALL_INTERIOR_POINTERS -DGC_NOT_DLL -DGC_THREADS -DTHREAD_LOCAL_ALLOC -D_CRT_SECURE_NO_DEPRECATE -DDONT_USE_USER32_DLL -DLARGE_CONFIG $*.cpp /Fo$*.obj
	@                                                                                                                                                                       ~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~ǉ

	gc-7.4.4/include/gc_config_macros.hCB
	@@ gc-7.4.4/include/gc_config_macros.h 235s:
	@  yCOz# elif defined(_MSC_VER) && _MSC_VER >= 14
	@  yCz# elif defined(_MSC_VER) && _MSC_VER >= 1400
	@A gc-7.4.4/include/gc_config_macros.h 273s:
	@  yCOz# elif defined(_MSC_VER) && _MSC_VER >= 12
	@  yCz# elif defined(_MSC_VER) && _MSC_VER >= 1400

	Visual Studio 6.0 ̊ϐݒ肷B
	@> "C:\Program Files (x86)\Microsoft Visual Studio\VC98\Bin\VCVARS32.BAT"

	gc.librhB
	@> nmake nodebug=1 gc.lib
	@warning C4047: 'function' : ԐڎQƂق 'void ** '  'long *' ňقȂĂ܂B
	@warning C4022: 'InterlockedCompareExchange' : 1 Ԗڂ߲̎̌^Ǎ߲^ƈقȂ܂B
	@Ƃxo܂A薳Ǝv̂ŖĉB

	 Kvȃt@Ĉ݂cāA͍폜B
	AvP[VŃCugpۂɁAŏKvȃt@ĆAL݂̂ł:
	gc.lib
	include/gc.h
	include/gc_version.h
	include/gc_config_macros.h
	include/gc_cpp.h@c C++ŎgpȂꍇ͂sv
	ŏKvȃt@C͏L̂ƂȂ̂łAɉ include tH_̃wb_t@CASĎcĂƂɂ܂B
	񐄏(problematic)ł͂邪A֗Ȋ֐Agc.h ȊÕwb_t@CŐ錾Ă邩łB(GC_finalize_all() Ȃ)

	``````````@Cũrh菇F܂Ł@``````````

================================================================================
* Thu Aug 11 23:59:25 JST 2016 Naoyuki Sawa
- uBoehm GCvA7.4.47.6.0Ƀo[WAbv܂B
  ulibatomic_opsv́A7.4.4̂܂܂ŕςĂ܂B
  _E[ht@CURL:
  http://www.hboehm.info/gc/gc_source/gc-7.6.0.tar.gz  \clip\keep\gc-7.6.0.tar.7zɕۑB
- rh@́Agc-7.4.4.tar.gz̎ƂقړlłB
  2016/06/15̐QƂāAuMAKEFILEvyсugc-7.6.0/include/gc_config_macros.hv̏CsĉB
- LɉāAgc-7.6.0.tar.gzł͐VɈ_Augc-7.6.0/thread_local_alloc.cv̏CKvɂȂ܂B

	gc-7.6.0/thread_local_alloc.c 148sځ` CB
	  yCOz
	  GC_API GC_ATTR_MALLOC void * GC_CALL GC_malloc_kind(size_t bytes, int knd)
	  {
	      size_t granules;
	      void *tsd;
	      void *result;
	  
	  #   if MAXOBJKINDS > THREAD_FREELISTS_KINDS
	        if (EXPECT(knd >= THREAD_FREELISTS_KINDS, FALSE)) {
	          return GC_malloc_kind_global(bytes, knd);
	        }
	  #   endif
	  #   if !defined(USE_PTHREAD_SPECIFIC) && !defined(USE_WIN32_SPECIFIC)
	        GC_key_t k = GC_thread_key;
	        if (EXPECT(0 == k, FALSE)) {
	          /* We haven't yet run GC_init_parallel.  That means     */
	          /* we also aren't locking, so this is fairly cheap.     */
	          return GC_malloc_kind_global(bytes, knd);
	        }
	        tsd = GC_getspecific(k);
	  #   else
	        tsd = GC_getspecific(GC_thread_key);
	  #   endif
	  yCz
	  GC_API GC_ATTR_MALLOC void * GC_CALL GC_malloc_kind(size_t bytes, int knd)
	  {
	      size_t granules;
	      void *tsd;
	      void *result;
	  
	  #   if MAXOBJKINDS > THREAD_FREELISTS_KINDS
	        if (EXPECT(knd >= THREAD_FREELISTS_KINDS, FALSE)) {
	          return GC_malloc_kind_global(bytes, knd);
	        }
	  #   endif
	  #   if !defined(USE_PTHREAD_SPECIFIC) && !defined(USE_WIN32_SPECIFIC)
	      {//̊ʂǉĉB
	        GC_key_t k = GC_thread_key;
	        if (EXPECT(0 == k, FALSE)) {
	          /* We haven't yet run GC_init_parallel.  That means     */
	          /* we also aren't locking, so this is fairly cheap.     */
	          return GC_malloc_kind_global(bytes, knd);
	        }
	        tsd = GC_getspecific(k);
	      }//̊ʂǉĉB
	  #   else
	        tsd = GC_getspecific(GC_thread_key);
	  #   endif
	  

  PȃR[fBO~X̏CłAŜ̓ɑ΂e͂܂Ǝv܂B
  ڍׂ́Aȉ̒ʂłB

  L̏CKvȗŔAu#if MAXOBJKINDS > THREAD_FREELISTS_KINDSṽubN̏̌ɁAuGC_key_t kv̕ϐ錾Ă܂ACƂĂ̓G[ɂȂ邩łB
  ʂɃRpCƁAu#if MAXOBJKINDS > THREAD_FREELISTS_KINDSṽubNLɂȂ̂ŁAL̃G[A
	thread_local_alloc.c(160) : error C2275: 'GC_key_t' : typedef ʎqɁA׽  Zq (->) gp܂B
  ƂG[bZ[Wo͂܂B(G[bZ[W̓e{̌ƍĂȂĔhłc)

  炭ABoehm GC̍҂̐ĺAC99ȍ~̐VCRpCgĂāACtȂ̂ł͂ȂƎv܂B
  C99ȍ~Ȃ΁Ǎłϐ錾ôŁAL̃R[hłG[ɂȂȂłB
  VC++6.0C89(?)Ȃ̂ŁǍł͕ϐ錾oȂ̂ŁAL̏CKvƂȂ܂B
