für einen kleinen Test-Framework Ich versuche, eine Liste der Funktion zum Zeitpunkt der Kompilierung zu erstellen. Ich erstelle eine Testfunktion mit einem Makro und möchte alle hinzugefügten testx von main aufrufen können.Erstellen Sie eine Liste der Funktion zur Kompilierzeit
#define ADD_TEST(X) my_test_##X
ADD_TEST(foo){
ASSERT_EQ(1, 2);
}
ADD_TEST(bar){
...
}
int main (void){
something_calling_all_my_tests();
return 0;
}
Ein vollständiges Beispiel in C++ würde http://pastebin.com/C5mmcYDD
Grüße
Holen Sie sie aus der Linker-Map-Datei. –
würde eine Software von Drittanbietern benötigen, um es zu tun, was nicht das ist, was ich suche – trax
Diese "Software von Drittanbietern" - der Linker - wird benötigt, um ein ausführbares Programm zu erstellen. Mit anderen Worten, ob Sie es für diesen Zweck verwenden oder nicht, müssen Sie es verwenden. – Peter