Ignore:
Timestamp:
Aug 2, 2007, 11:23:36 PM (17 years ago)
Author:
dai_9181
Message:

Linkerの骨格を作成した

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/abdev/BasicCompiler_Common/src/Linker.cpp

    r257 r258  
    2020
    2121// DLL関数スケジュール
    22 void Linker::ResolveDllProcSchedules( long codeSectionBaseOffset, long importSectionBaseOffset )
     22void Linker::ResolveDllProcSchedules( long codeSectionBaseOffset, long importSectionBaseOffset, long lookupSize, long hintSize )
    2323{
    2424    BOOST_FOREACH( const Schedule &schedule, nativeCode.GetSchedules() )
     
    3333            );
    3434#else
    35             // TODO: 未完成
    36             SetError();
     35            nativeCode.Overwrite(
     36                schedule.GetOffset(),
     37                static_cast<long>( imageBase + importSectionBaseOffset + lookupSize + hintSize
     38                    + schedule.GetDllProc().GetLookupAddress() )
     39            );
    3740#endif
    3841        }
     
    106109    ObjectModule &masterObjectModule = *objectModules[0];
    107110
    108     nativeCode.Put( masterObjectModule.globalNativeCode );
     111    nativeCode.Put( masterObjectModule.globalNativeCode, false );
    109112
    110113    masterObjectModule.meta.GetUserProcs().Iterator_Reset();
     
    117120            pUserProc->SetBeginOpAddress( nativeCode.GetSize() );
    118121
    119             nativeCode.Put( pUserProc->GetNativeCode() );
     122            nativeCode.Put( pUserProc->GetNativeCode(), false );
    120123
    121124            pUserProc->SetEndOpAddress( nativeCode.GetSize() );
Note: See TracChangeset for help on using the changeset viewer.