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.



12
Ist TCHAR noch relevant?
Ich bin neu in der Windows-Programmierung und nachdem ich das Petzold-Buch gelesen habe, frage ich mich: Ist es immer noch eine gute Praxis, den TCHARTyp und die _T()Funktion zum Deklarieren von Zeichenfolgen zu verwenden, oder sollte ich nur die Zeichenfolgen wchar_tund L""in neuem Code verwenden? Ich werde nur auf Windows …
87 c++  c  windows  unicode  wchar-t 

4
Rufen Sie eine C-Funktion aus C ++ - Code auf
Ich habe eine C-Funktion, die ich aus C ++ aufrufen möchte. Ich konnte keinen extern "C" void foo()Ansatz verwenden, da die C-Funktion nicht mit g ++ kompiliert werden konnte. Aber es kompiliert gut mit gcc. Irgendwelche Ideen, wie man die Funktion aus C ++ aufruft?
87 c++  c  linux  extern-c 

3
Threadsafe gegen Wiedereinsteiger
Kürzlich stellte ich eine Frage mit dem Titel "Ist Malloc-Thread sicher?" und darin fragte ich: "Ist Malloc wieder am Start?" Ich hatte den Eindruck, dass alle Wiedereinsteiger threadsicher sind. Ist diese Annahme falsch?

7
Casting eines Funktionszeigers auf einen anderen Typ
Angenommen, ich habe eine Funktion, die einen void (*)(void*)Funktionszeiger zur Verwendung als Rückruf akzeptiert : void do_stuff(void (*callback_fp)(void*), void* callback_arg); Nun, wenn ich eine Funktion wie diese habe: void my_callback_function(struct my_struct* arg); Kann ich das sicher machen? do_stuff((void (*)(void*)) &my_callback_function, NULL); Ich habe mir diese Frage und einige C-Standards angesehen, …

14
Wächst der Stapel nach oben oder unten?
Ich habe diesen Code in c: int q = 10; int s = 5; int a[3]; printf("Address of a: %d\n", (int)a); printf("Address of a[1]: %d\n", (int)&a[1]); printf("Address of a[2]: %d\n", (int)&a[2]); printf("Address of q: %d\n", (int)&q); printf("Address of s: %d\n", (int)&s); Die Ausgabe ist: Address of a: 2293584 Address of …
87 c  memory  stack 

9
Wie benutzt man nan und inf in C?
Ich habe eine numerische Methode, die nan oder inf zurückgeben kann, wenn ein Fehler aufgetreten ist, und zu Testzwecken möchte ich sie vorübergehend zwingen, nan oder inf zurückzugeben, um sicherzustellen, dass die Situation korrekt behandelt wird. Gibt es eine zuverlässige, compilerunabhängige Möglichkeit, Werte für nan und inf in C zu …
87 c  math 

2
Was sind vdso und vsyscall?
Ich tat sudo cat /proc/1/maps -vv Ich versuche, die Ausgabe zu verstehen. Ich kann sehen, dass viele gemeinsam genutzte Bibliotheken wie erwartet dem Speicherzuordnungssegment zugeordnet werden. 7f3c00137000-7f3c00179000 r-xp 00000000 08:01 21233923 /lib/x86_64-linux-gnu/libdbus-1.so.3.5.8 7f3c00179000-7f3c00379000 ---p 00042000 08:01 21233923 /lib/x86_64-linux-gnu/libdbus-1.so.3.5.8 7f3c00379000-7f3c0037a000 r--p 00042000 08:01 21233923 /lib/x86_64-linux-gnu/libdbus-1.so.3.5.8 7f3c0037a000-7f3c0037b000 rw-p 00043000 08:01 21233923 /lib/x86_64-linux-gnu/libdbus-1.so.3.5.8 …
87 c  linux  linux-kernel  kernel  vdso 

3
Wo findet man die C89 / C90-Standards im PDF-Format?
Ich suche nach einer kostenlosen Version des C89 / C90-Standards , kann sie aber nirgendwo finden! Warum ist es so schwer zu finden? C99- und C11-Standards sind sehr einfach im Internet zu erhalten. Auch in den Fragen zum Stapelüberlauf Wo finde ich die aktuellen C- oder C ++ - Standarddokumente? …
87 c  ansi  c89 

2
gcc / g ++: "Keine solche Datei oder kein solches Verzeichnis"
g++ gibt mir Fehler der Form: foo.cc:<line>:<column>: fatal error: <bar>: No such file or directory compilation terminated. Dies gilt auch für das Kompilieren von C-Programmen mit gcc. Warum ist das so? Bitte beachten Sie: Diese Frage wurde schon oft gestellt, aber jedes Mal war sie spezifisch für die Situation des …
87 c++  c  gcc  g++  c++-faq 



12
Funktionszeiger, Closures und Lambda
Ich lerne gerade etwas über Funktionszeiger und als ich das K & R-Kapitel zu diesem Thema las, war das erste, was mich traf: "Hey, das ist ein bisschen wie ein Abschluss." Ich wusste, dass diese Annahme irgendwie grundlegend falsch ist und nach einer Online-Suche fand ich keine Analyse dieses Vergleichs. …


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.