Поиск номера строки в коде
Есть ли способ на Си отследить номер строк. То есть например вот наш код :
#include <stdio.h>
int func1(int a){
char z;
}
int func2(int a){
int x, y, z;
float x;
func1(x);
}
int main( ){
int a, var1;
func1(a);
func2(var1);
}
Нам нужно примерно так:
Input function: main
Result:
11: int main( ){
Input function:
func1
Result:
3: int func1(int a){
9: func1(x);
13: func1(a);
Есть ли какой нибудь способ так сделать на чистом Си?
Ответы (1 шт):
Автор решения: KoVadim
→ Ссылка
Попробуйте такой вариант. Я сделал специальный макрос IN, который нужно вставлять там, где нужно залогировать номер строки имя функции. В студии следует использовать __FUNCTION__
#include <stdio.h>
#define IN printf("%d:%s\n", __LINE__, __PRETTY_FUNCTION__);
int func1(int a){
IN
char z;
}
int func2(int a){
IN
int x, y, z;
//float x;
func1(x);
}
int main( ){
IN
int a, var1;
func1(a);
func2(var1);
}