Was ist der Unterschied zwischen volatile
y __volatile__
in mit gcc kompiliertem C-Code?
Ich habe mir den Linux-Quellcode angesehen und festgestellt, dass an einigen Stellen die __asm__ __volatile__
andere verwenden asm volatile
und andere verwenden __asm__ volatile
.
Ich habe nicht gesehen __volatile__
verwendet ohne __asm__
, während ich gesehen habe volatile
an einer Vielzahl anderer Stellen verwendet.
Gibt es einen Unterschied zwischen dem, was __volatile__
y volatile
tun? Wenn ja, was ist es? Oder wenn nicht, gibt es einen Grund dafür, dass __volatile__
manchmal verwendet wird?