8.197 --vla、--no_vla

可変長配列をサポートするかどうかを指定できます。

デフォルト

C90 および標準 C++ は、デフォルトでは可変長配列をサポートしていません。オプション --vla を選択すると、C90 または標準 C++ で可変長配列のサポートが有効になります。
可変長配列は、標準 C と GNU コンパイラの拡張機能の両方でサポートされています。オプション --vla は、ソース言語が C99 であるか、またはオプション --gnu が指定されている場合に、暗黙的に選択されます。

可変長配列のメモリはヒープ上でランタイム時に割り当てられます。

size_t arr_size(int n)
{
    char array[n];          // variable length array, dynamically allocated
    return sizeof array;   // evaluated at runtime
}
関連する参考文書
8.23 --c90
8.24 --c99
8.38 --cpp
8.92 --gnu
非機密扱いPDF file icon PDF 版ARM DUI0472LJ
Copyright © 2010-2015 ARM.All rights reserved.