source: dev/trunk/abdev/BasicCompiler_Common/include/Linker.h@ 365

Last change on this file since 365 was 357, checked in by dai_9181, 17 years ago

例外処理機構実装中...

File size: 1.2 KB
RevLine 
[256]1#pragma once
2
3class Linker
4{
[257]5 NativeCode nativeCode;
[355]6 DataTable dataTable;
[257]7 DWORD imageBase;
8
9public:
[258]10
[257]11 Linker()
12 {
13 }
14
[263]15 const NativeCode &GetNativeCode() const
16 {
17 return nativeCode;
18 }
19
[355]20 const DataTable &GetDataTable() const
21 {
22 return dataTable;
23 }
24
[257]25 void SetImageBase( DWORD imageBase )
26 {
27 this->imageBase = imageBase;
28 }
29
[258]30 // データテーブルスケジュール
31 void ResolveDataTableSchedules( long dataSectionBaseOffset );
32
[357]33 // Catchアドレス スケジュール
34 void ResolveCatchAddressSchedules( long codeSectionBaseOffset );
35
[258]36 // DLL関数スケジュール
37 void ResolveDllProcSchedules( long codeSectionBaseOffset, long importSectionBaseOffset, long lookupSize, long hintSize );
38
39 // ユーザ定義関数スケジュール
40 void ResolveUserProcSchedules( long codeSectionBaseOffset );
41
42 // グローバル変数スケジュール
43 void ResolveGlobalVarSchedules( long rwSectionBaseOffset );
44
[282]45 // vtblスケジュール
46 void ResolveVtblSchedule( long dataSectionBaseOffset );
47
[355]48 // TypeInfoスケジュール
49 void ResolveTypeInfoSchedule( long dataSectionBaseOffset );
50
[257]51 // リンク
[273]52 void Link( ObjectModule &masterObjectModule );
[355]53
54 // データテーブルをセット
55 void SetDataTable( DataTable &dataTable );
[256]56};
Note: See TracBrowser for help on using the repository browser.