Wie definiere ich meine eigene main()
-Funktion beim Testen mit Boost?
Boost verwendet seine eigene Hauptfunktion, aber ich benutze einen benutzerdefinierten Speichermanager und er muss initialisiert werden, bevor Speicher zugewiesen wird, sonst erhalte ich Fehler.
Ich glaube nicht, dass Sie tatsächlich Ihre eigene Hauptleitung brauchen. Ich denke, Sie sind viel besser dran mit Globales Gerät :
%Vor%Sie müssen
definieren BOOST_TEST_NO_MAIN
vor dem Boost enthält.
BOOST_TEST_MAIN
ist die Standardeinstellung. Ссылка
Speicher kann vor main
:
Und Sie könnten Ihren Speichermanager auch zu einer globalen Variable machen,
Sie können jedoch keine bestimmte Reihenfolge der globalen Variableninitialisierung erzwingen. (in Standard C ++ mindestens)
In Windows könnten Sie Ihren Speichermanager in eine DLL setzen, bei der er initialisiert wird, bevor der Application Entry Point aufgerufen wird, aber trotzdem kann etwas anderes einen Speicher vorher zuweisen - eine andere DLL oder CRT Ihrer DLL.
Tags und Links unit-testing c++ boost