2008-11-06 9 views
7

Ich Refactoring einige MFC-Code, der mit ASSERT Aussagen übersät ist, und in Vorbereitung auf einen zukünftigen Linux-Port möchte ich sie mit dem Standard assert ersetzen. Gibt es signifikante Unterschiede zwischen den beiden Implementierungen, von denen die Leute wissen, dass sie mich auf der Rückseite beißen könnten?ASSERT vs. ATLASSERT vs. assert

In ähnlicher Weise bin ich auch auf einen Code gestoßen, der ATLASSERT verwendet, den ich auch gerne ersetzen würde.

Antwort

4

Nein. Die MFC-Version enthält nur einen Debug-Breakpoint.

2

Ersetzen Sie sie durch your own assertion macro. So erhalten Sie den größten Nutzen (Protokollierung, Stack-Trace usw.)

1

Ich würde empfehlen, entweder mit einem eigenen Makro, oder # define für die Linux-Kompilierung. Es gibt keinen zwingenden Grund, auf der Windows-Seite auf zusätzliche Hilfe zu verzichten (zB: integrierter Breakpoint), und es gibt keinen zwingenden Grund, eine Menge Code zu ändern, wenn einige einfache Kompatibilität # define's ausreichen.