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.


3
ULL-Suffix für ein numerisches Literal
Ich bin auf folgenden Code gestoßen: line += addr & 0x3fULL; Offensichtlich sind 'U' und 'L' keine hexadezimalen Ziffern. Ich vermute, dass die 'ULL' am Ende dieses hexadezimalen numerischen Literals "Unsigned Long Long" bedeutet - bin ich richtig? (so etwas ist sehr schwer zu googeln) Wenn ja, dann ist dies …
74 c++  c 

3
Der Unterschied zwischen asm, asm volatile und clobbering memory
Bei der Implementierung sperrenfreier Datenstrukturen und Timing-Codes müssen häufig die Optimierungen des Compilers unterdrückt werden. Normalerweise wird dies asm volatilemit memoryin der Clobber-Liste verwendet, aber manchmal wird nur asm volatileoder nur ein einfacher asmClobber-Speicher angezeigt . Welche Auswirkungen haben diese unterschiedlichen Anweisungen auf die Codegenerierung (insbesondere in GCC, da es …
74 c  gcc  inline-assembly 

11
Klammer um Rückgabewerte in C.
Sehr oft sehe ich im ANSI C-Code Klammern, die einen einzelnen Rückgabewert umgeben. So was:- int foo(int x) { if (x) return (-1); else return (0); } Warum in diesen Fällen () um den Rückgabewert verwenden? Irgendwelche Ideen? Ich kann keinen Grund dafür sehen.
74 c  syntax  coding-style 


12
Entfernen Sie Kommentare aus dem C / C ++ - Code
Gibt es eine einfache Möglichkeit, Kommentare aus einer C / C ++ - Quelldatei zu entfernen, ohne eine Vorverarbeitung durchzuführen? (dh ich denke, Sie können gcc -E verwenden, aber dies erweitert die Makros.) Ich möchte nur, dass der Quellcode mit Kommentaren entfernt wird, nichts anderes sollte geändert werden. BEARBEITEN: Bevorzugung …
74 c++  c  comments 

3
Visuell, was mit fork () in einer For-Schleife passiert
Ich habe versucht, fork()Verhalten zu verstehen . Diesmal in einem for-loop. Beachten Sie den folgenden Code: #include <stdio.h> void main() { int i; for (i=0;i<3;i++) { fork(); // This printf statement is for debugging purposes // getppid(): gets the parent process-id // getpid(): get child process-id printf("[%d] [%d] i=%d\n", getppid(), …
74 c  fork 


15
Verwenden von wahr und falsch in C.
Soweit ich sehen kann, gibt es in c drei Möglichkeiten, Boolesche Werte zu verwenden mit dem Bool-Typ, von da an mit true und false Definieren mit Präprozessor #define FALSE 0 ... #define TRUE !(FALSE) Nur um Konstanten direkt zu verwenden, dh 1 und 0 Gibt es andere Methoden, die ich …
74 c  coding-style 

7
Visual Studio Code includePath
Ich versuche, C / C ++ in Visual Studio Code zu erstellen. Ich habe C / C ++ und alle relevanten Erweiterungen installiert. #include <stdio.h> int main() { printf("Test C now\n"); return 0; } Es gibt jedoch eine grüne Linie unter #include <stdio.h>"Include-Pfad zu Einstellungen hinzufügen". Wenn ich darauf klicke, …


5
Definition von int64_t
Ich bin neu in C / C ++, daher habe ich einige Fragen zu einem Basistyp: a) Können Sie mir den Unterschied zwischen int64_tund long( long int) erklären ? Nach meinem Verständnis sind beide 64-Bit-Ganzzahlen. Gibt es einen Grund, einen über den anderen zu wählen? b) Ich habe versucht, die …
74 c++  c  integer  long-integer 




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.