我有核心功能,可以從產品的定製模塊調用。檢查宏中函數的返回值
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。
也許你應該顯示你的'function_core'和'main_core'等代碼 – kennytm 2010-02-01 15:46:24