Als «c» getaggte Fragen

C ist eine universelle Programmiersprache, die für die Systemprogrammierung (Betriebssystem und eingebettet), Bibliotheken, Spiele und plattformübergreifende Programme verwendet wird. Dieses Tag sollte bei allgemeinen Fragen zur C-Sprache verwendet werden, wie in der Norm ISO 9899 definiert (die neueste Version, 9899: 2018, sofern nicht anders angegeben - auch tagversionsspezifische Anforderungen mit c89, c99, c11 usw. kennzeichnen). C unterscheidet sich von C ++ und sollte ohne einen rationalen Grund nicht mit dem C ++ - Tag kombiniert werden.

10
Was bedeutet ein Typ gefolgt von _t (Unterstrich-t)?
Dies scheint eine einfache Frage zu sein, aber ich kann sie mit der Stapelüberlaufsuche oder Google nicht finden. Was bedeutet ein Typ, gefolgt von einem _tMittelwert? Sowie int_t anInt; Ich sehe es oft in C-Code, der eng mit Hardware umgehen soll - ich kann nicht anders, als zu glauben, dass …


10
So verhindern Sie SIGPIPEs (oder behandeln sie richtig)
Ich habe ein kleines Serverprogramm, das Verbindungen über einen TCP- oder lokalen UNIX-Socket akzeptiert, einen einfachen Befehl liest und je nach Befehl eine Antwort sendet. Das Problem ist, dass der Client manchmal kein Interesse an der Antwort hat und vorzeitig beendet wird. Wenn Sie also in diesen Socket schreiben, wird …
260 c  io  signals  broken-pipe  sigpipe 

12
Verwendung des Pfeiloperators (->) in C.
Ich lese ein Buch mit dem Titel "Teach Yourself C in 21 Days" (ich habe bereits Java und C # gelernt, daher bewege ich mich viel schneller). Ich habe das Kapitel über Zeiger gelesen und der Operator-> (Pfeil) wurde ohne Erklärung angezeigt. Ich denke, dass es verwendet wird, um Mitglieder …
257 c  pointers  syntax 

3
Warum ist malloc + memset langsamer als calloc?
Es ist bekannt, dass dies callocanders ist als mallocdarin, dass der zugewiesene Speicher initialisiert wird. Mit callocwird der Speicher auf Null gesetzt. Mit mallocwird der Speicher nicht gelöscht. In der täglichen Arbeit betrachte ich also callocals malloc+ memset. Übrigens habe ich zum Spaß den folgenden Code für einen Benchmark geschrieben. …
256 c  malloc 

10
Verwenden Sie GCC, um eine lesbare Baugruppe zu erstellen?
Ich habe mich gefragt, wie man GCC benutzt in meiner C-Quelldatei verwenden soll, um eine mnemonische Version des Maschinencodes zu sichern, damit ich sehen kann, in was mein Code kompiliert wird. Sie können dies mit Java tun, aber ich konnte mit GCC keinen Weg finden. Ich versuche, eine C-Methode in …
256 c  gcc  assembly 

15
Zweck der Gewerkschaften in C und C ++
Ich habe Gewerkschaften früher bequem benutzt; Heute war ich alarmiert, als ich diesen Beitrag las und erfuhr, dass dieser Code union ARGB { uint32_t colour; struct componentsTag { uint8_t b; uint8_t g; uint8_t r; uint8_t a; } components; } pixel; pixel.colour = 0xff040201; // ARGB::colour is the active member from …
254 c++  c  unions  type-punning 

11
Warum müssen Sie die Mathematikbibliothek in C verknüpfen?
Wenn wir sind <stdlib.h>oder <stdio.h>in einem C - Programm muß ich diese nicht verknüpfen beim Kompilieren , aber ich habe zu Link zu <math.h>verwenden -lmmit gcc, zum Beispiel: gcc test.c -o test -lm Was ist der Grund dafür? Warum muss ich die Mathematikbibliothek explizit verknüpfen, aber nicht die anderen Bibliotheken?
254 c  compilation  math.h 



6
Warum ist 0 <-0x80000000?
Ich habe unten ein einfaches Programm: #include &lt;stdio.h&gt; #define INT32_MIN (-0x80000000) int main(void) { long long bal = 0; if(bal &lt; INT32_MIN ) { printf("Failed!!!"); } else { printf("Success!!!"); } return 0; } Die Bedingung if(bal &lt; INT32_MIN )ist immer wahr. Wie ist es möglich? Es funktioniert gut, wenn ich …

10
Was bedeutet {0} beim Initialisieren eines Objekts?
Wenn {0}verwendet wird , um ein Objekt zu initialisieren, was bedeutet es? Ich kann {0}nirgendwo Verweise finden und wegen der geschweiften Klammern ist die Google-Suche nicht hilfreich. Beispielcode: SHELLEXECUTEINFO sexi = {0}; // what does this do? sexi.cbSize = sizeof(SHELLEXECUTEINFO); sexi.hwnd = NULL; sexi.fMask = SEE_MASK_NOCLOSEPROCESS; sexi.lpFile = lpFile.c_str(); sexi.lpParameters …
252 c++  c 



22
Wie berechnet C sin () und andere mathematische Funktionen?
Ich habe .NET-Disassemblies und den GCC-Quellcode durchgesehen, kann aber anscheinend nirgendwo die tatsächliche Implementierung sin()und andere mathematische Funktionen finden ... sie scheinen immer auf etwas anderes zu verweisen. Kann mir jemand helfen, sie zu finden? Ich halte es für unwahrscheinlich, dass ALLE Hardware, auf der C ausgeführt wird, Triggerfunktionen in …
248 c  math  trigonometry 

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.