Podczas jednej z moich ostatnich dyskusji z moim przełożonym wspomniał, że jeden z jego byłych klientów użył makra C++ do rejestrowania informacji o każdej linii kodu. Wszystko, co musieli zrobić, to włączyć zmienną środowiskową przed rozpoczęciem biegu. (Oczywiście zmienna środowiskowa została włączona w sam test-bedMakro C++ do rejestrowania każdej linii kodu
Dziennik wspomniano zbyt zmienne wykorzystywane i odpowiadające im wartości Na przykład dla linii:..
a = a + b;
Dziennik powie coś takiego:
"a = a + b; (a = 5 + 3)"
Osobiście nie był pewien, czy było to możliwe, ale był bardzo pewny tego że istniał, jakby nie pamiętał specyfikę kodu
.Oto pytanie (oczywiste): czy to możliwe? Czy możesz podać kod dla tego?
w swoim pytaniu, ja zawijania cudzysłowów dla wiadomości dziennika (aby zobaczyć, że jest to wiadomość log). Mam nadzieję, że jest w porządku. – iammilind
Nie ma czegoś takiego jak makro C++, a to na pewno nie jest możliwe w przypadku makr preprocesorów wanilii C. Inne narzędzie musi generować ciągi wartości. – spraff
Nie sądzę, że możliwe jest zalogowanie gołych linii, takich jak "a = a + b", ale użycie makra w linii "LOG (a = a + b)" jest możliwe, a makra assert już to robią. – Dialecticus