Мне пришлось определить новый набор оболочек для существующих методов. Эти новые обертки намерены помочь в отладке, включив определенную информацию трассировки.Связывание вызовов метода
Оригинальный код Источник:
sample.c ::
Caller{
void functionA(){
funcB();
}
}
Callee{
void funcB(){
}
}
Модифицированный код с традиционным Упаковочный Функциональность:
Sample.h ::
#define funcB wrapperFuncB //not visible to Callee
Caller{
void functionA(){ //this gets redirected to wrapperFuncB cos of #define
funcB();
}
}
Callee{
void wrapperFuncB(){
if(DEBUG){ //value of DEBUG is set at runtime
//COLLECT Trace data
}else{
funcB();
}
}
void funcB(){
}
}
Этот механизм имеет дополнительные накладные расходы: 1] Все вызовы funcB являются ro пространяется к wrapperFuncB, irrespecitve отладочных включен или нет 2] Дополнительный способ кадра [wrapperFuncB] должен быть создан, irrespecitve отладочных включен или нет 3] Накладные условного проверки
Хорошо для вас. У вас есть вопрос ? – ereOn
Это не похоже на C. Тег удален. – pmg