Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2003
    Messaggi
    4,826

    [c++]memoria e compilatore

    ciao.
    Ho sputato sangue per creare un file di mappatura da un .xsd con xsd code syntesis, adesso che non ci sono piu errori non mi crea l'exe o la dll!
    codice:
    c:\ifc\codesynthesis xsd 3.3\include\xsd\cxx\tree\type-serializer-map.txx(530): fatal error C1001: An internal error has occurred in the compiler.
    1>  (compiler file 'msc1.cpp', line 1443)
    1>   To work around this problem, try simplifying or changing the program near the locations listed above.
    1>  Please choose the Technical Support command on the Visual C++ 
    1>   Help menu, or open the Technical Support help file for more information
    1>          c:\ifc\codesynthesis xsd 3.3\include\xsd\cxx\tree\type-serializer-map.txx(542) : see reference to function template instantiation 'void xsd::cxx::tree::serializer_impl<T>(xercesc_3_1::DOMElement &,const xsd::cxx::tree::type &)' being compiled
    1>          with
    1>          [
    1>              T=ifcXML::IFC2x3::FINAL::IfcTextFontSelect
    1>          ]
    1>          c:\ifc\codesynthesis xsd 3.3\include\xsd\cxx\tree\type-serializer-map.txx(538) : while compiling class template member function 'xsd::cxx::tree::type_serializer_initializer<id,C,T>::type_serializer_initializer(const C *,const C *)'
    1>          with
    1>          [
    1>              id=0,
    1>              C=char,
    1>              T=ifcXML::IFC2x3::FINAL::IfcTextFontSelect
    1>          ]
    1>          c:\ifc\dllif\consoleapplication1\consoleapplication1\ifc\ifc2x3.cxx(439635) : see reference to function template instantiation 'xsd::cxx::tree::type_serializer_initializer<id,C,T>::type_serializer_initializer(const C *,const C *)' being compiled
    1>          with
    1>          [
    1>              id=0,
    1>              C=char,
    1>              T=ifcXML::IFC2x3::FINAL::IfcTextFontSelect
    1>          ]
    1>          c:\ifc\dllif\consoleapplication1\consoleapplication1\ifc\ifc2x3.cxx(439635) : see reference to class template instantiation 'xsd::cxx::tree::type_serializer_initializer<id,C,T>' being compiled
    1>          with
    1>          [
    1>              id=0,
    1>              C=char,
    1>              T=ifcXML::IFC2x3::FINAL::IfcTextFontSelect
    1>          ]
    1>
    1>Build FAILED.
    ho notato che la memoria occupata cresce sempre di piu fino ad arrivare a 4 gb, che è il mio massimo su questa macchina e si pianta il compilatore e esce un popup che dice se voglio inviare una segnalazione a microsoft.
    non riesco a capire

  2. #2
    Utente di HTML.it L'avatar di shodan
    Registrato dal
    Jun 2001
    Messaggi
    2,381
    Prova a semplificare le espressioni con qualche typedef.
    Ad es.
    codice:
    typedef ifcXML::IFC2x3::FINAL::IfcTextFontSelect g500_IfcTextFontSelect;
    oppure inserisci in un namespace più corto.
    codice:
    namespace g500 {
       using ifcXML::IFC2x3::FINAL::IfcTextFontSelect;
       using xsd::cxx::tree::serializer_impl;
       using xsd::cxx::tree::type;
    }
    
    ...
    
    g500::serializer_impl<T>(xercesc_3_1:DOMElement &,const g500::type & )
    Purtroppo un errore del genere è chiaramente una limitazione (più un bug a dire il vero) del compilatore e occorre procedere a tentativi, semplificando dichiarazione troppo contorte.
    This code and information is provided "as is" without warranty of any kind, either expressed
    or implied, including but not limited to the implied warranties of merchantability and/or
    fitness for a particular purpose.

  3. #3
    Utente di HTML.it
    Registrato dal
    Jun 2003
    Messaggi
    4,826
    grazie Shodan sto cercando di mettere una pezza come mi hai consigliato, ma perchè questo?
    a cosa è dovuto al codice troppo grosso?
    ho un file sorgente da 30MB, avevo anche degli errori, adesso li ho sistemati e sto procedendo come mi hai detto.

  4. #4
    30 MB di sorgente tutto template? Non ti pare di star esagerando?
    Amaro C++, il gusto pieno dell'undefined behavior.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.