Last change
on this file since 342 was 282, checked in by dai_9181, 17 years ago |
vtbl構築をコード生成後(最終リンクの前)に行うようにした
|
File size:
855 bytes
|
Rev | Line | |
---|
[256] | 1 | #pragma once
|
---|
| 2 |
|
---|
| 3 | class Linker
|
---|
| 4 | {
|
---|
[257] | 5 | NativeCode nativeCode;
|
---|
| 6 | DWORD imageBase;
|
---|
| 7 |
|
---|
| 8 | public:
|
---|
[258] | 9 |
|
---|
[257] | 10 | Linker()
|
---|
| 11 | {
|
---|
| 12 | }
|
---|
| 13 |
|
---|
[263] | 14 | const NativeCode &GetNativeCode() const
|
---|
| 15 | {
|
---|
| 16 | return nativeCode;
|
---|
| 17 | }
|
---|
| 18 |
|
---|
[257] | 19 | void SetImageBase( DWORD imageBase )
|
---|
| 20 | {
|
---|
| 21 | this->imageBase = imageBase;
|
---|
| 22 | }
|
---|
| 23 |
|
---|
[258] | 24 | // データテーブルスケジュール
|
---|
| 25 | void ResolveDataTableSchedules( long dataSectionBaseOffset );
|
---|
| 26 |
|
---|
| 27 | // DLL関数スケジュール
|
---|
| 28 | void ResolveDllProcSchedules( long codeSectionBaseOffset, long importSectionBaseOffset, long lookupSize, long hintSize );
|
---|
| 29 |
|
---|
| 30 | // ユーザ定義関数スケジュール
|
---|
| 31 | void ResolveUserProcSchedules( long codeSectionBaseOffset );
|
---|
| 32 |
|
---|
| 33 | // グローバル変数スケジュール
|
---|
| 34 | void ResolveGlobalVarSchedules( long rwSectionBaseOffset );
|
---|
| 35 |
|
---|
[282] | 36 | // vtblスケジュール
|
---|
| 37 | void ResolveVtblSchedule( long dataSectionBaseOffset );
|
---|
| 38 |
|
---|
[257] | 39 | // リンク
|
---|
[273] | 40 | void Link( ObjectModule &masterObjectModule );
|
---|
[256] | 41 | };
|
---|
Note:
See
TracBrowser
for help on using the repository browser.