Ignore:
Timestamp:
Aug 7, 2007, 4:14:06 AM (17 years ago)
Author:
dai_9181
Message:

BasicSourceのシリアライズがうまくいっていない

File:
1 edited

Legend:

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

    r265 r266  
    121121    extern HANDLE hHeap;
    122122    extern BOOL bDebugCompile;
    123     extern BOOL bDll;
    124123    extern DWORD ImageBase;
    125124    extern int obp_AllocSize;
     
    140139
    141140    //エクスポート セクションを利用するかどうか
    142     if(bDll) bUse_ExportSection=1;
     141    if( compiler.IsDll() ) bUse_ExportSection=1;
    143142    else bUse_ExportSection=0;
    144143
     
    176175    // 名前空間情報を取得
    177176    NamespaceSupporter::CollectNamespaces(
    178         Smoothie::Lexical::source.GetBuffer(),
     177        compiler.GetObjectModule().source.GetBuffer(),
    179178        compiler.GetObjectModule().meta.GetNamespaces()
    180179    );
     
    183182    //   CollectProcedures関数の中で参照されるオブジェクト名を事前に取得する。
    184183    //     ※オブジェクトの内容までは取得しない
    185     compiler.GetObjectModule().meta.GetClasses().CollectClassesForNameOnly( Smoothie::Lexical::source );
     184    compiler.GetObjectModule().meta.GetClasses().CollectClassesForNameOnly( compiler.GetObjectModule().source );
    186185
    187186    //TypeDef情報を初期化
     
    194193    compiler.pCompilingClass = NULL;
    195194    CollectProcedures(
    196         Smoothie::Lexical::source,
     195        compiler.GetObjectModule().source,
    197196        compiler.GetObjectModule().meta.GetUserProcs(),
    198197        compiler.GetObjectModule().meta.GetDllProcs()
     
    409408    UserProc::CompileStartForGlobalArea();
    410409
    411     if(!bDll){
     410    if( !compiler.IsDll() ){
    412411        // 名前空間が初期化されているかをチェック
    413412        if( compiler.GetNamespaceSupporter().GetLivingNamespaceScopes().size() ){
     
    864863
    865864
    866     if(bDll){
     865    if( compiler.IsDll() ){
    867866        //DLLの場合はリロケーション情報を仮生成
    868867        //※正式な生成は各セクションのメモリ上のサイズが決定してから再度行う。
     
    11601159
    11611160
    1162     if(bDll){
     1161    if( compiler.IsDll() ){
    11631162        //DLLの場合はリロケーション情報を生成
    11641163        pobj_Reloc->ResetRelocBuffer();
     
    12991298    ImagePeHdr.FileHeader.NumberOfSymbols=      0x00000000;
    13001299    ImagePeHdr.FileHeader.SizeOfOptionalHeader= IMAGE_SIZEOF_NT_OPTIONAL32_HEADER;
    1301     if(bDll){
     1300    if( compiler.IsDll() ){
    13021301        ImagePeHdr.FileHeader.Characteristics=  IMAGE_FILE_EXECUTABLE_IMAGE|
    13031302                                                IMAGE_FILE_32BIT_MACHINE|
     
    13191318    ImagePeHdr.OptionalHeader.SizeOfInitializedData=FileSize_DataSection;   //データサイズ(.dataのセッションサイズ)
    13201319    ImagePeHdr.OptionalHeader.SizeOfUninitializedData=0;                    //未初期化データのサイズ(なし)
    1321     if(bDll){
     1320    if( compiler.IsDll() ){
    13221321        if(DllMain_EntryPoint==-1)
    13231322            ImagePeHdr.OptionalHeader.AddressOfEntryPoint=0;
Note: See TracChangeset for help on using the changeset viewer.