Ignore:
Timestamp:
Oct 10, 2007, 1:52:43 AM (17 years ago)
Author:
dai_9181
Message:

64ビット版でもインターフェイスのベース実装周りをコンパイルできるようにした(インターフェイス機構自体はまだ未完成)

File:
1 edited

Legend:

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

    r344 r345  
    826826    return n;
    827827}
    828 LONG_PTR CClass::GetVtblMasterListOffset() const
     828long CClass::GetVtblMasterListOffset() const
    829829{
    830830    //既に存在する場合はそれを返す
     
    836836    return vtblMasterListOffset;
    837837}
    838 void CClass::GenerateVTablePart( LONG_PTR &vtableDataTableOffset ) const
     838void CClass::GenerateVTablePart( long &vtableDataTableOffset ) const
    839839{
    840840    const UserProc **ppsi = (const UserProc **)malloc(GetVtblNum()*sizeof(UserProc *));
     
    866866
    867867    for( int i=0; i < GetVtblNum(); i++ ){
    868         pobj_Reloc->AddSchedule_DataSection(vtableDataTableOffset+i*sizeof(LONG_PTR));
     868        pobj_Reloc->AddSchedule_DataSection(static_cast<DWORD>(vtableDataTableOffset+i*sizeof(LONG_PTR)));
    869869    }
    870870
    871871    free(ppsi);
    872872}
    873 void CClass::GenerateVTableMasterList( const std::vector<LONG_PTR> &vtableMasterList, LONG_PTR &offset )
     873void CClass::GenerateVTableMasterList( const std::vector<long> &vtableMasterList, long &offset )
    874874{
    875875    offset = compiler.GetObjectModule().dataTable.AddBinary(
    876876        (void *)&vtableMasterList[0],
    877         vtableMasterList.size()*sizeof(LONG_PTR)
     877        static_cast<int>(vtableMasterList.size()*sizeof(LONG_PTR))
    878878    );
    879879}
     
    904904    BOOST_FOREACH( const ::Interface &objInterface, interfaces )
    905905    {
    906         LONG_PTR tempVtblOffset;
     906        long tempVtblOffset;
    907907        objInterface.GetClass().GenerateVTablePart( tempVtblOffset );
    908908        vtblMasterList.push_back( tempVtblOffset );
Note: See TracChangeset for help on using the changeset viewer.