The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



"Релиз ядра Linux 4.20"
Версия для распечатки Пред. тема | След. тема
Форум Разговоры, обсуждение новостей
Исходное сообщение [ Отслеживать ]
Присылайте удачные настройки в раздел примеров файлов конфигурации на WIKI.opennet.ru.
. "Релиз ядра Linux 4.20" +1 +/
Сообщение от Аноним (142), 24-Дек-18, 17:51 
> а почему и дальше нельзя аллоцировать на стеке?
> но без VLA. через __builtin_alloca() .
> (ответ я подозреваю: "можно но всё равно это
> уже не будет также дёшево как это было с VLA"

Дешевле из-за отсуствия выравнивания?
Вот такие два варианта транслируются в идентичный код:


#include <stdio.h>

int s1(unsigned n) {
    void *p = __builtin_alloca_with_align(n * __BIGGEST_ALIGNMENT__, __BIGGEST_ALIGNMENT__);
    printf("%p", p);
}

int s2(unsigned n) {
    char a[n * __BIGGEST_ALIGNMENT__];
    printf("%p", a);
}


Ответить | Правка | Наверх | Cообщить модератору

Оглавление
Релиз ядра Linux 4.20, opennews, 24-Дек-18, 08:12  [смотреть все]
Форумы | Темы | Пред. тема | След. тема



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру