Ignore:
Timestamp:
Aug 6, 2007, 9:31:22 AM (17 years ago)
Author:
dai_9181
Message:

デバッグデータとしてオブジェクトモジュールのシリアライズを可能にした(その先の処理はまだ動かない)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/abdev/BasicCompiler_Common/DebugMiddleFile.cpp

    r263 r264  
    7676    *(long *)(buffer+i2)=PLATFORM;
    7777    i2+=sizeof(long);
     78
     79
     80    // オブジェクトモジュール
     81    {
     82        // テキストデータにシリアライズ
     83        std::string textString;
     84        compiler.objectModule.WriteTextString( textString );
     85
     86        // サイズ
     87        *(long *)(buffer+i2) = textString.size();
     88        i2+=sizeof(long);
     89
     90        //バッファが足りない場合は再確保
     91        if(BufferSize<i2+(int)textString.size()+32768){
     92            while( BufferSize<i2+(int)textString.size()+32768 )
     93            {
     94                BufferSize+=32768;
     95            }
     96
     97            buffer=(char *)HeapReAlloc(hHeap,0,buffer,BufferSize);
     98        }
     99
     100        // バッファ
     101        memcpy( buffer+i2, textString.c_str(), textString.size() );
     102        i2 += textString.size();
     103    }
     104
    78105
    79106    //インクルード情報
     
    475502    i2+=sizeof(long);
    476503
     504    MessageBox(0,"test","test",0);
     505
     506    // オブジェクトモジュール
     507    {
     508        // サイズ
     509        int size = *(long *)(buffer+i2);
     510        i2 += sizeof(long);
     511
     512        // バッファ
     513        const std::string textString( (const char *)(buffer + i2), size );
     514        i2 += textString.size();
     515
     516        // テキストデータからシリアライズ
     517        this->objectModule.ReadTextString( textString );
     518    }
     519
    477520    //インクルード情報
    478521    IncludeFileInfo.FilesNum=*(long *)(buffer+i2);
Note: See TracChangeset for help on using the changeset viewer.