| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Общие вопросы > alloca - выделение дин. памяти на стеке |
| Автор: Alexeis 3.1.2008, 17:13 | ||
| ОК тогда есть еще добавление. Стандартная библиотека допускает создание динамических массивов в стеке. Очень быстрое выделение памяти, всего несколько команд. Пример
Такие массивы не нужно удалять, так как они удаляются сами по выходу из функции. |
| Автор: archimed7592 3.1.2008, 17:18 |
Нет такой ф-ции(ни в С, ни в C++). Microsoft - это не язык Добавлено через 1 минуту и 30 секунд Такой ф-ции просто по определению не может быть в POSIX'е, ибо управление стеком - это не API, это уже ближе к устройству компилятора. |
| Автор: Alexeis 3.1.2008, 17:39 |
Очень даже есть, причем это поддерживается не только мелкомягкими это справедливо для всей платформы win32 и для линукса (другое дело что его не было в старых версиях) и даже для мобильных платформ. Иногда она в malloc.h иногда в alloca.h. Удобная штука, ну не хотите как хотите |
| Автор: archimed7592 3.1.2008, 17:43 |
Видишь ли, когда идёт речь о наличии ф-ции в языке, то подразумевается её наличие в стандартной библиотеке, а стандартная библиотека - это та, что описана в стандарте языка(ISO/IEC, C: 9899, C++: 14882). Да не то чтобы не хотим |
| Автор: JackYF 3.1.2008, 17:43 | ||
|
| Автор: Alexeis 3.1.2008, 17:47 |
Обычно она подставляется как макрос для еще большей эффективности, потому может и нет точки входа. |
| Автор: JackYF 3.1.2008, 17:53 | ||||
дваждую. На другой машине ман нашёлся. Но это жестоко. Итак, избранное:
Ещё есть желающие пользоваться этой функцией? Добавлено через 5 минут это, имхо, можно обсудить, в виду различия подходов и реализации. На две разные статьи.
согласен, можно бы поменять порядок ++. стоит упомянуть о различиях. |
| Автор: Alexeis 3.1.2008, 18:39 |
Да нет, я смотрел код ассемблера, ну пусть инлайн, не макрос, один фик. Канеш, оптимизировать так оптимизировать! Можно при помощи него оптимизировать работу с строками. Строки в своем большинстве короткие, в куче выделяются медленно, если использовать строку фиксированного размера байтов эдак 200 то всегда есть шанс переполниться на 201 байте Лан это все оффтоп конечно, но ИМХО функция рулез, хоть и опасная (разве С сам по себе безопасен?) |
| Автор: JackYF 3.1.2008, 19:27 |
я извиняюсь... о! придумал! я сейчас создам опрос. Мне просто чисто интересно. Ждите на первом канале в общих вопросах |
| Автор: archimed7592 3.1.2008, 20:40 | ||
Видишь ли, точка входа здесь не при чём Переводится как "нет справки для alloca", т.е. не все *nix системы знают об этой ф-ции |