У меня есть основная функция, которую я могу вызвать из настраиваемого модуля продукта.Проверка возвращаемого значения функции в макросе
function_core
является основной функцией, которая будет возвращать целое число и мы имеем макрос в файле заголовка:
#define func_cust function_core
Я зову func_cust
внутри моего собственного кода. Но внутри ядра мы снова называем некоторую другую основную функцию:
#define function_core main_core
, так что я не могу поставить в моем заказном коде всех аргументов.
Я звоню этому func_cust
вызов функции во многих C файлов.
мне нужно проверить возвращаемое значение функции function_core
как , если это function_core
возвращает й, то я хочу, чтобы изменить возвращаемое значение 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.
Возможно, вам следует показать код своих функций 'function_core' и' main_core' и т. Д. – kennytm