Ich fand dies in einer Multi-Thread-c-Anwendung. Die Autoren kommentierten, dass damit in einer benutzerdefinierten Assert-Funktion ein Thread abstürzt. GCC ist mit ihm in Ordnung, aber Klirren gibt die folgende Warnung:Absturz von Threads mit * (int *) NULL = 1; problematisch?
note: consider using __builtin_trap() or qualifying pointer with 'volatile'
und gibt auch einer von denen, für jede Nutzung der Funktion assert:
warning: indirection of non-volatile null pointer will be deleted, not trap
Was ist hier los? Ist __builtin_trap spezifisch für clang? Soll ich es benutzen?
Beachten Sie, dass es keinen Crash gibt. jeder Absturz stürzt das ganze Programm ab ... –