Nieudokumentowane rozszerzenie GCC: VLA w strukturze

Podczas czytania dokumentacji Clang natknąłem się na następującą intrygującą ciekawostkę:[1]

clang nie obsługuje rozszerzenia gcc, które umożliwia tablice o zmiennej długości w strukturach. Dzieje się tak z kilku powodów: jeden jest trudny do zaimplementowania, dwa, rozszerzenie jest całkowicie nieudokumentowane, a trzy, rozszerzenie wydaje się być rzadko używane. Zauważ, że clang obsługuje elastyczne elementy tablicy (tablice o zerowym lub nieokreślonym rozmiarze na końcu struktury).

Jak można wykorzystać to rozszerzenie? Rozumiem, że użycie alloca w konstruktorze powoduje przywrócenie wskaźnika stosu na końcu funkcji wywołującej, która w tym przypadku byłaby konstruktorem - a nie na końcu otaczającej struktury.

Dzięki za pomoc!

questionAnswers(1)

yourAnswerToTheQuestion