die pthread-Bibliothek in der Struktur der Lektüre der folgenden definiert:Wie wird ein 1-Bit-Wert zugewiesen?
struct ptw32_thread_t_
{
....
int implicit:1;
......
};
Ich verstehe, dass es nur 1 Bit besetzen dann, wie Wert, um es mit Aktivierung der Überlauffehler Flags als jeder Wert geben zugewiesen compilieren Fehler gibt:
ptw32_thread_t *sp;
sp = (ptw32_thread_t *) calloc (1, sizeof(ptw32_thread_t));
sp->implicit = 1;
error: overflow in implicit constant conversion [-Werror=overflow]
Machen Sie es unsigniert. Eine 1-Bit vorzeichenbehaftete Zweierkomplement-Ganzzahl kann nur zwei Werte enthalten: -1 und 0. Also ist 1 eine Überlaufbedingung. –
@TomKarzes Dank tom – Vineet1982
@unwind Die Frage, die Sie verknüpften, ist kein Duplikat. – fuz