Soweit ich weiß, beträgt die Standardstapelgröße für einen pthread unter Linux 16 KB. Ich erhalte merkwürdige Ergebnisse bei meiner 64-Bit-Ubuntu-Installation.
$ ulimit -s
8192
Ebenfalls:
pthread_attr_init(&attr);
pthread_attr_getstacksize(&attr, &stacksize);
printf("Thread stack size = %d bytes \n", stacksize);
Prints
Thread stack size = 8388608 bytes
Ich bin mir ziemlich sicher, dass die Stapelgröße nicht "8388608" ist. Was könnte falsch sein?
8388608 / 1024 = 8192
.