У меня есть основная функция, которую я могу вызвать из настроенного модуля продукта.
function_core
- это основная функция, которая будет возвращать целое число
у нас есть макрос в заголовочном файле:
#define func_cust function_core
Я звоню
func_cust
внутри моего настроенного кода.
Но внутри ядра мы снова вызываем другую функцию ядра:
#define function_core main_core
поэтому я не могу вставить в свой настраиваемый код все аргументы.
Я вызываю этот func_cust
вызов функции во многих C файлах.
Мне нужно проверить возвращаемое значение функции function_core
вроде
если function_core
возвращает x, тогда я хочу изменить возвращаемое значение на 0, иначе будет возвращено то же возвращаемое значение.
Например, я хочу определить макрос следующим образом:
#define funct_cust ((function_core==x)?0:function_core)
Возможно ли это?
Чтобы быть более конкретным, это то, что мне нужно !!
#include<stdio.h>
#define sum_2 ((sum_1==11)?0:sum_1)
#define sum_1(a,b) sum(a,b)
int sum( int ,int);
int main()
{
int a,b,c;
a=5;
b=6;
c=sum_2(a,b);
printf("%d\n",c);
}
int sum(int x,int y)
{
return x+y;
}
это выдает ошибку:
"test_fun.c", строка 12.3: 1506-045 (S) Необъявленный идентификатор sum_1.
У меня есть доступ только для игры с этим макросом sum_2.