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.

4
Warum ist memmove schneller als memcpy?
Ich untersuche Leistungs-Hotspots in einer Anwendung, die 50% ihrer Zeit in memmove verbringt (3). Die Anwendung fügt Millionen von 4-Byte-Ganzzahlen in sortierte Arrays ein und verschiebt die Daten mithilfe von memmove "nach rechts", um Platz für den eingefügten Wert zu schaffen. Meine Erwartung war, dass das Kopieren von Speicher extrem …
89 c++  c  performance  memory 



4
GDB: break wenn Variable gleichwertig ist
Ich möchte, dass GDB einen Haltepunkt setzt, wenn eine Variable einem von mir festgelegten Wert entspricht. Ich habe dieses Beispiel ausprobiert: #include <stdio.h> main() { int i = 0; for(i=0;i<7;++i) printf("%d\n", i); return 0; } Ausgabe von GDB: (gdb) break if ((int)i == 5) No default breakpoint address now. (gdb) …
89 c  gdb 

7
Wie soll ich in C eine Textdatei lesen und alle Zeichenfolgen drucken?
Ich habe eine Textdatei mit dem Namen test.txt Ich möchte ein C-Programm schreiben, das diese Datei lesen und den Inhalt auf der Konsole drucken kann (vorausgesetzt, die Datei enthält nur ASCII-Text). Ich weiß nicht, wie ich die Größe meiner Zeichenfolgenvariablen ermitteln soll. So was: char str[999]; FILE * file; file …
89 c  file  text-files 


1
Was macht ## (Doppel-Hash) in einer Präprozessor-Direktive?
#define DEFINE_STAT(Stat) \ struct FThreadSafeStaticStat<FStat_##Stat> StatPtr_##Stat; Die obige Zeile stammt aus Unreal 4, und ich weiß, dass ich sie in den unwirklichen Foren nachfragen könnte, aber ich denke, dies ist eine allgemeine C ++ - Frage, die hier gestellt werden muss. Ich verstehe, dass die erste Zeile ein Makro definiert, …



10
CMake kann die Linkersprache mit C ++ nicht bestimmen
Ich versuche, ein cmake hello world-Programm unter Windows 7 x64 mit Visual Studio 2010 und Cygwin auszuführen, kann aber anscheinend auch nicht funktionieren. Meine Verzeichnisstruktur ist wie folgt: HelloWorld -- CMakeLists.txt -- src/ -- -- CMakeLists.txt -- -- main.cpp -- build/ Ich mache ein cd buildgefolgt von einem cmake ..und …
89 c++  c  cmake 

9
Warum funktioniert a +++++ b nicht?
int main () { int a = 5,b = 2; printf("%d",a+++++b); return 0; } Dieser Code gibt den folgenden Fehler aus: Fehler: lWert als Inkrementoperand erforderlich Aber wenn ich setzen Räume in ganz a++ +und ++bdann funktioniert es gut. int main () { int a = 5,b = 2; printf("%d",a++ …
88 c  lvalue 

13
Wie funktioniert dieses Programm?
#include <stdio.h> int main() { float a = 1234.5f; printf("%d\n", a); return 0; } Es zeigt ein 0!! Wie ist das möglich? Was ist die Begründung? Ich habe absichtlich eine %din die printfErklärung aufgenommen, um das Verhalten von zu untersuchen printf.
88 c++  c  memory  printf  endianness 

7
Wie kann sich der Linux-Kernel selbst kompilieren?
Ich verstehe den Kompilierungsprozess des Linux-Kernels nicht ganz, wenn ich ein Linux-System auf meinem Computer installiere. Hier sind einige Dinge, die mich verwirrt haben: Der Kernel ist in C geschrieben. Wie wurde der Kernel jedoch ohne installierten Compiler kompiliert? Wenn der C-Compiler vor dem Kompilieren des Kernels auf meinem Computer …

8
Effiziente Möglichkeit, ein Element zu suchen
Kürzlich hatte ich ein Interview, in dem sie mir eine " Suchfrage " stellten. Die Frage war: Angenommen, es gibt ein Array von (positiven) Ganzzahlen, von denen jedes Element entweder ist +1oder -1mit seinen benachbarten Elementen verglichen wird. Beispiel: array = [4,5,6,5,4,3,2,3,4,5,6,7,8]; Suchen Sie nun nach 7seiner Position und geben …


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.