Inserir automaticamente o nome do arquivo e o número da linha nas instruções de registro de um programa C
Estou escrevendo um programa para um processador ARM incorporado noC. Gostaria de ver o nome do arquivo de origem e o número da linha nas instruções de log.
Como o código compilado não tem conhecimento dos números de linha e dos arquivos de origem, estou procurando maneiras de inseri-lo automaticamente antes / durante o processo de compilação.
Existem ferramentas padrão ou recursos do compilador que eu possa usar para isso?
Estou usando o GCC.
Por exemplo:
Isto é o que eu escreveria no arquivo de origem:
log("<#filename#> <#linenumber#> : Hello World");
Isto é o que realmente seria compilado:
log("Foobar.c 225 : Hello World");