Форум программистов, компьютерный форум CyberForum.ru

Освобождение памяти malloc free - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Найти угол исходя из координат мышки http://www.cyberforum.ru/cpp-beginners/thread822477.html
Есть 2 точки , первая это там где будет происходить отрисовка браша а вторая это указатель мыши . Нужно висчитывать угол от 0 до 360 что бы браш всегда смотрел в сторону мышки . Поиски по форуму ни к чему хорошему не привели . Ange = atan2(mouse->y() - y_pos , mouse->x() - x_pos) * 180 ; //не работает Помогите , целый день ищу решение. И еще что можно почитать что бы понимать...
C++ TaskKiller Приветствую вас, господа! Я хотел бы создать приложение, как-бы мини антивирус, которая бы проверяла наличие запущенных задач и завершала бы запрещенные. Я новичек, и мало чего знаю. Помогите мне пожалуйста. http://www.cyberforum.ru/cpp-beginners/thread822473.html
Создать стек, содержащий считанные из текстового файла координаты точек C++
Помогите пожалуйста . В текстовом файле записаны координаты материальных точек . Создать стек, содержащий считанные из текстового файла координаты точек. Рассчитать центр масс материальных точек, заданных своими координатами. Вывести на экран содержимое стека.
C++ Какой элемент останется в кольце последним, если начать по очереди удалять из списка каждый n элемент
Создать структуру с именем Subject с полями: фамилия, имя. Сформиро-вать замкнутое кольцо (односвязный список, у которого последний эле-мент хранит адрес первого) из нескольких структур. С клавиатуры вводится целое чило n. Определить, какой элемент останется в кольце последним, если начать по очереди удалять из списка каждый n элемент (по типу детской считалочки).
C++ Метод класса TList http://www.cyberforum.ru/cpp-beginners/thread822450.html
Написать метод класса TList, аналогичный append, который добавляет элемент не в конце списка, а в его начале.
C++ Добавьте к АТД «очередь» функцию first Добавьте к АТД «очередь» функцию first, что получает первый элемент очереди, не удаляя его, и реализуйте ее аналогично функции del. В отличие от del, она не уничтожает первый элемент очереди (если он есть). подробнее

Показать сообщение отдельно
Systemes
0 / 0 / 0
Регистрация: 05.07.2012
Сообщений: 11
31.03.2013, 21:46  [ТС]     Освобождение памяти malloc free
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
//-- объявление констант
void *php_array_to_c_array(zval *param,int type,int size,int *array_size);
#define php_array_to_string_array(z) (char **)php_array_to_c_array(z,TO_C_STRING,sizeof(char *),NULL)
#define php_array_to_byte_array(z) (char *)php_array_to_c_array(z,TO_C_BYTE,sizeof(char),NULL)
#define php_array_to_ubyte_array(z) (unsigned char*)php_array_to_c_array(z,TO_C_UBYTE,sizeof(unsigned char),NULL)
#define php_array_to_long_array(z) (long *)php_array_to_c_array(z,TO_C_LONG,sizeof(long),NULL)
#define php_array_to_double_array(z) (double *)php_array_to_c_array(z,TO_C_DOUBLE,sizeof(double),NULL)
#define php_array_to_int_array(z) (int *)php_array_to_c_array(z,TO_C_INT,sizeof(int),NULL)
#define php_array_to_float_array(z) (float *)php_array_to_c_array(z,TO_C_FLOAT,sizeof(float),NULL)
#define php_array_to_uchar_array(z) (unsigned char *)php_array_to_c_array(z,TO_C_UCHAR,sizeof(unsigned char),NULL)
#define php_array_to_schar_array(z) (signed char *)php_array_to_c_array(z,TO_C_SCHAR,sizeof(signed char),NULL)
#define php_array_to_ushort_array(z) (unsigned short *)php_array_to_c_array(z,TO_C_USHORT,sizeof(unsigned short),NULL)
#define php_array_to_short_array(z) (short *)php_array_to_c_array(z,TO_C_SHORT,sizeof(short),NULL)
#define php_array_to_uint_array(z) (unsigned int *)php_array_to_c_array(z,TO_C_UINT,sizeof(unsigned int),NULL)
 
// -- объявление zend функции pointer
ZEND_FUNCTION(pointer)
{
zval *type, *pointer;
void *v_pointer = NULL;
TWO_PARAM(type, pointer);
convert_to_array(pointer);
switch(Z_LVAL_P(type))
{
case T_SHORT:
v_pointer = php_array_to_short_array(pointer);
break;
case T_INT:
v_pointer = php_array_to_int_array(pointer);
break;
case T_FLOAT:
v_pointer = php_array_to_float_array(pointer);
break;
case T_DOUBLE:
v_pointer = php_array_to_double_array(pointer);
break;
}
Pointer((int)Z_LVAL_P(type),(void*)v_pointer);
add_efree_list_on_flush(v_pointer);
}
 
//-- ф-я обработки
ZEND_FUNCTION(flush)
{
ZERO_PARAM();
Flush();
free_efree_list_on_flush();
}
Это оставшийся код, который участвует во всей схеме. Но основные ф-ии pointer и flush память точно не расхдуют. Т.к. закоментировав эти ф-ии получаю ту же "утечку", или передавая массив написанный в ручную, без ф-ии конвертации (т.е. не используя php_array_to_c_array и free_efree_list_on_flush) память не расходуется)
 
Текущее время: 19:20. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru