Выделение памяти
Размышления о "метафзике" программирования.
"С++ знает" какой объём памяти выделен по некоему указателю. Т.е. Код:
char *x=new char[100500]; |
Ответ: Выделение памяти
Осмелюсь предположить, что знает не С++, а операционка. Кусок памяти выделяется при помощи системного вызова, который возвращает указатель либо дескриптор. При помощи другого системного вызова этот же кусок памяти помечается как свободный. Т.о. операционка может никому и не говорить, где и как она хранит размер этого куска памяти.
|
Ответ: Выделение памяти
Очень здравое предположение. Т.е. пользователю-программисту доступен лишь необходимы минимум интерфейса.
|
Ответ: Выделение памяти
я думаю ето потомучто программист начнет считать байты. а операционка то себе заныкала пару. а то и шестнадцать.
|
Ответ: Выделение памяти
Зачем знать, сколько байт было отведено под хранение определенных данных? Я имею в виду, с учетом накладных расходов. А чистый объем хранимых данных можно и вручную посчитать.
Еще вот http://habrahabr.ru/company/abbyy/blog/117208/ Может наведет на какие-то мысли. |
Ответ: Выделение памяти
Цитата:
Вот ещё: http://www.hardforum.ru/t72258/#post497092 Код:
long *asdf; http://forum.codenet.ru/q72668/Что+з...+массивом% 3F Код:
int *ptr_int = new int[10]; http://www.linux.org.ru/forum/development/2849473 Цитата:
http://hashcode.ru/questions/95558/о...массивами-от-c Код:
//for(int i=0;i<sz;i++); нет, это не наш метод, обойдемся без sz Для своей версии MinGW я так и не написал парсер (в целях самообразования). |
Ответ: Выделение памяти
а достаточно было просто найти туториал по реализации своего хип аллокатора, ведь malloc\free (и new\delete в итоге) это просто функции описаные в C Runtime Library, которые используют механизм аллокации виртуальных страниц у ядра ОС, можно просто взять и посмотреть исходники CRT например =)
|
Ответ: Выделение памяти
impersonalis, Похоже, опасную игру ты затеял.
|
Ответ: Выделение памяти
|
Часовой пояс GMT +4, время: 09:49. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot