#include #include #include void foo_alloca(size_t s); void foo_vla(size_t s); int main(int argc, char* argv[]) { size_t s = 1024 * 1024 * 1024; foo_vla(s); foo_alloca(s); return 0; } void foo_alloca(size_t s) { size_t j; int* i = (int *) alloca(s); for (j = 0; j < s; j++) i[j] = j; } void foo_vla(size_t s) { size_t j; int i[s]; for (j = 0; j < s; j++) i[j] = j; }