Я хотел бы сделать измерения во время выполнения без изменения моего исходного кода (на самом деле он не мой), код выглядит следующим образом:
Code.c:
#define CODE_SOURCE
#include "GlobalInclude.h"
#include "Code.h"
unsigned int Add(unsigned int x, unsigned int y)
{
while(x--)
{
y++;
}
return y;
}
Код.h:
#ifndef CODE_H
#define CODE_H
unsigned int Add(unsigned int x, unsigned int y);
#endif
Main.c:
#include "GlobalInclude.h"
#include "Code.h"
int main()
{
printf("5+6 = %d", Add(5,6));
return 0;
}
GlobalInclude.h
#ifndef GLOBALINCLUDE_H
#define GLOBALINCLUDE_H
#if defined CODE_SOURCE
#define Add(x,y) Add_Custom(x,y)
#endif
#endif
Таким образом, я перезаписываю метод Add с помощью своего собственного метода Add_Custom и могусделать некоторые измерения во время выполнения, например:
#define STUB_SOURCE
#include "GlobalInclude.h"
#include "Code.h"
#define DO_SOMETHING()
unsigned int Add_Custom(unsigned int x, unsigned int y)
{
unsigned int result;
DO_SOMETHING();
result = Add(x,y);
DO_SOMETHING();
return result;
}
Мой вопрос сейчас, возможно ли как-то с методами, которые объявлены и определены в файле c (Code.c)?Я не нашел возможного решения для этого.