Come portare gcnew e gcroot da Visual C ++ a gcc [chiuso]

-1

Ho il compito di portare un po 'di codice da Visual C ++ a gcc. Alcune chiamate sono gcnew e gcroot per gestire il codice gestito all'interno del modulo cpp.
In che modo queste chiamate possono essere trasferite su gcc in un modo alla moda?

    
posta TonyI 08.03.2018 - 10:31
fonte

2 risposte

7

Queste chiamate non possono essere trasferite, almeno non direttamente. gcnew non è una parola chiave C ++, è da "C ++ / CLI", che è una lingua diversa attualmente non supportata da gcc. Questa vecchia domanda SO dice che c'era una volta un tentativo di supportarlo, ma sembra essere morto dal 2009.

L'unico modo ragionevole per fare questo è portare tutto il codice gestito su standard C ++, quindi gcnew e gcroot non saranno più necessari.

    
risposta data 08.03.2018 - 10:43
fonte
0

Oltre alla risposta di DocBrown , potresti prendere in considerazione l'utilizzo di una libreria di garbage collector esistente (ad esempio GC conservativo di Boehm o MPS di RavenBrook , o il tuo GC) nel tuo codice. Vedi anche questo .

Potrebbe non essere facile usare un GC (potrebbe anche non valerne la pena, e potresti decidere di usare la vera gestione manuale C ++ e puntatori intelligenti senza GC), e certamente devi essere consapevole delle tecniche GC , concetti, terminologia e insidie. Quindi leggi Il manuale del GC .

Si noti che si potrebbe anche prendere in considerazione l'utilizzo di alcune librerie di framework C ++ esistenti, come Qt o POCO o Boost .

In pratica, dovresti riscrivere il tuo codice su un C ++ più standard (ad esempio, almeno C ++ 14).

    
risposta data 08.03.2018 - 13:26
fonte

Leggi altre domande sui tag