#c #динамические_массивы #макросы #макрос
По ходу выполнения лабораторных я наткнулся на задание, где нужно было просто написать программу для подсчета произведения матриц, при этом выделяя память динамически. Звучит довольно просто, но в конце я обнаружил это Создать определения макросов, которые подсчитывают, сколько раз в программе произошло использование функций динамического выделения и освобождения памяти, а также объем выделенной и освобожденной памяти. В методичке ничего не написано кроме пояснений про #define, #if и т.д. Хотелось бы иметь хоть какое-то представление, о чем речь идет)
Ответы
Ответ 1
Похоже, что от вас хотят что-то вроде int total = 0; int mallocs = 0; int frees = 0; #define malloc(s) (mallocs++, total += (s), malloc((s))) #define free(s) (frees++, free((s))) int main(int argc, const char * argv[]) { char * c = malloc(200); char * v = malloc(2000); free(c); printf("Alloc %d bytes in %d mallocs; frees: %d times\n", total, mallocs,frees); }
Комментариев нет:
Отправить комментарий