ASSERT vs. ATLASSERT vs. assert
Domanda
Sto refactoring del codice MFC che è disseminato di istruzioni ASSERT
e, in preparazione per una futura porta Linux, voglio sostituirli con il assert
standard. Ci sono differenze significative tra le due implementazioni che la gente conosce e che potrebbero mordermi sul retro?
Allo stesso modo, ho anche trovato un codice che utilizza ATLASSERT
che vorrei anche sostituire.
Soluzione
No. La versione MFC include solo un punto di interruzione facile da eseguire il debug.
Altri suggerimenti
Sostituiscili con la tua macro di asserzioni . Ecco come trarne il massimo beneficio (registrazione, traccia stack, ecc.)
Vorrei raccomandare di usare la propria macro, o # define per la compilazione di Linux. Non vi è alcun motivo convincente per rinunciare a qualsiasi ulteriore utilità sul lato Windows (ad esempio: punto di interruzione incorporato) e nessun motivo convincente per modificare un sacco di codice quando sarà sufficiente qualche semplice # definizione di compatibilità.