Как получить обратный вызов доступа к полю внутри структуры C?
Предположим, у нас есть структура:
struct Foo { void(*Print)(); //could be any method pointer int MyField; }
Мы можем установить Foo - & gt;Print для любой функции, например:
Foo- & gt;Print = тест;
void Test() { printf("print called"); } void Callback() { //this should be called for every memory access at Foo->Print }
Как реализовать обратный вызов доступа к памяти, чтобы каждый раз, когда вызывается Foo- & gt;Print, также вызывался обратный вызов?
Профилировщики и отладчики памяти могут делать именно это, поэтому это должно быть возможно.
Было бы неплохо, если бы это также работало для простых полей, таких как
MyField
для чтения и записи.Что я уже пробовал:
Я не знаю, с чего начать ... -