Durante una delle mie recenti discussioni con il mio manager, ha menzionato che uno dei suoi ex client utilizzava una macro C++ per registrare informazioni su ogni riga di codice. Tutto quello che dovevano fare era abilitare una variabile di ambiente prima di iniziare la corsa. (Naturalmente la variabile di ambiente è stata abilitata nella sola test-bedMacro C++ per registrare ogni riga di codice
Il registro menzionato le variabili utilizzate ei corrispondenti valori troppo Ad esempio, per la linea:..
a = a + b;
Il registro direbbe qualcosa di simile:
"a = a + b; (a = 5 + 3)"
Personalmente, non ero sicuro se questo era possibile, ma lui era molto sicuro di questo essere esistito, anche se non ricordava le specifiche del codice
.Quindi, ecco la (ovvia) domanda: è possibile? Puoi fornire il codice per questo?
Nella tua domanda, io sto avvolgendo le virgolette doppie per il messaggio di log (per dimostrare che si tratta di un messaggio di log). Spero sia ok. – iammilind
Non esiste una macro C++, e questo certamente non è possibile con le macro di Pre-processor di vanilla C. Qualche altro strumento deve generare le stringhe di valore. – spraff
Non penso sia possibile registrare righe nude come "a = a + b", ma è possibile utilizzare una macro nella riga come "LOG (a = a + b)" e asserire che le macro lo stanno già facendo. – Dialecticus