Ignore:
Timestamp:
Nov 2, 2007, 2:53:56 AM (17 years ago)
Author:
dai_9181
Message:

静的領域に初期オブジェクトを配置可能にした

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/abdev/BasicCompiler64/MakePeHdr.cpp

    r345 r355  
    4141    *pSub_System_GC_malloc_ForObjectPtr,
    4242    *pSub_System_GC_free_for_SweepingDelete,
    43     *pSubStaticMethod_System_TypeBase_InitializeUserTypes;
     43    *pSubStaticMethod_System_TypeBase_InitializeUserTypes,
     44    *pSubStaticMethod_System_TypeBase_InitializeUserTypesForBaseType;
    4445
    4546// 動的メソッド
     
    275276        pSubStaticMethod_System_TypeBase_InitializeUserTypes->Using();
    276277        pSubStaticMethod_System_TypeBase_InitializeUserTypes->ThisIsAutoGenerationProc();
     278    }
     279
     280    if( pSubStaticMethod_System_TypeBase_InitializeUserTypesForBaseType = GetSubHash( "ActiveBasic.Core._System_TypeBase.InitializeUserTypesForBaseType",1 ) ){
     281        pSubStaticMethod_System_TypeBase_InitializeUserTypesForBaseType->Using();
     282        pSubStaticMethod_System_TypeBase_InitializeUserTypesForBaseType->ThisIsAutoGenerationProc();
    277283    }
    278284
     
    10671073    }
    10681074
     1075    compiler.linker.SetDataTable( compiler.GetObjectModule().dataTable );
    10691076
    10701077    compiler.linker.SetImageBase( ImageBase );
     
    10741081    compiler.linker.ResolveGlobalVarSchedules( MemPos_RWSection );
    10751082    compiler.linker.ResolveVtblSchedule( MemPos_DataSection );
     1083    compiler.linker.ResolveTypeInfoSchedule( MemPos_DataSection );
    10761084
    10771085
     
    15401548    if(bUse_DataSection){
    15411549        //データ テーブル
    1542         WriteFile(hFile,compiler.GetObjectModule().dataTable.GetPtr(),compiler.GetObjectModule().dataTable.GetSize(),(DWORD *)&i2,NULL);
     1550        WriteFile(
     1551            hFile,
     1552            compiler.linker.GetDataTable().GetPtr(),
     1553            compiler.linker.GetDataTable().GetSize(),
     1554            (DWORD *)&i2,
     1555            NULL
     1556        );
    15431557        i+=i2;
    15441558    }
Note: See TracChangeset for help on using the changeset viewer.