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.

1
Was ist der Zweck des statischen Schlüsselworts im Array-Parameter einer Funktion wie "char s [static 10]"?
Beim Durchsuchen eines Quellcodes bin ich auf eine Funktion wie diese gestoßen: void someFunction(char someArray[static 100]) { // do something cool here } Bei einigen Experimenten scheinen dort auch andere Qualifikanten zu erscheinen: void someFunction(char someArray[const]) { // do something cool here } Es scheint, dass Qualifizierer nur innerhalb von …
144 c  arrays  parameters  static 

4
Bedeutung von ios_base :: sync_with_stdio (false); cin.tie (NULL);
Welche Bedeutung hat das Einbeziehen? ios_base::sync_with_stdio(false); cin.tie(NULL); in C ++ - Programmen? In meinen Tests wird die Ausführungszeit verkürzt. Gibt es jedoch einen Testfall, über den ich mir Sorgen machen sollte, wenn ich diesen einbeziehe? Müssen die beiden Aussagen immer zusammen sein, oder reicht die erste aus, dh ignoriert cin.tie(NULL)? …
144 c++  c 

6
Was ist der Vorteil von GCCs __builtin_expect in if else-Anweisungen?
Ich bin auf eine gestoßen, #definein der sie verwenden __builtin_expect. Die Dokumentation sagt: Eingebaute Funktion: long __builtin_expect (long exp, long c) Sie können verwenden __builtin_expect, um dem Compiler Informationen zur Verzweigungsvorhersage bereitzustellen. Im Allgemeinen sollten Sie es vorziehen, hierfür das tatsächliche Profil-Feedback zu verwenden ( -fprofile-arcs), da Programmierer bekanntermaßen schlecht …
144 c  linux  gcc  built-in 

9
Was ist der Unterschied zwischen Sigaktion und Signal?
Ich wollte einer App, die wir hier haben, einen zusätzlichen Signalhandler hinzufügen, und ich bemerkte, dass der Autor sigaction()die anderen Signalhandler eingerichtet hatte. Ich würde benutzen signal(). Um der Konvention zu folgen, sollte ich verwenden, sigaction()aber wenn ich von Grund auf neu schreibe, welche sollte ich wählen?
143 c  signals  posix 

2
Bedeutung des Flag -pthread beim Kompilieren
In verschiedenen Multithread-C- und C ++ - Projekten habe ich gesehen, dass das -pthreadFlag sowohl auf die Kompilierungs- als auch auf die Verknüpfungsphase angewendet wurde, während andere es überhaupt nicht verwenden und einfach -lpthreadauf die Verknüpfungsphase übergehen . Besteht die Gefahr, nicht mit der -pthreadFlagge zu kompilieren und zu verknüpfen …
143 c++  c  linux  pthreads 


16
Zeiger auf Zeigerklärung
Ich habe diesem Tutorial gefolgt, wie ein Zeiger auf einen Zeiger funktioniert funktioniert. Lassen Sie mich die relevante Passage zitieren: int i = 5, j = 6, k = 7; int *ip1 = &i, *ip2 = &j; Jetzt können wir einstellen int **ipp = &ip1; und ippzeigt auf ip1welche zeigt …
142 c  pointers 

6
_DEBUG vs NDEBUG
Welche Präprozessordefinition sollte verwendet werden, um Debug-Codeabschnitte anzugeben? Verwenden Sie #ifdef _DEBUGoder #ifndef NDEBUGoder gibt es einen besseren Weg, um es zu tun, z #define MY_DEBUG. Ich denke, _DEBUGist Visual Studio spezifisch, ist NDEBUG Standard?
142 c++  c  debugging 


4
Welche Beziehung besteht zwischen BLAS, LAPACK und ATLAS?
Ich verstehe nicht, wie BLAS, LAPACK und ATLAS zusammenhängen und wie ich sie zusammen verwenden soll! Ich habe alle ihre Handbücher durchgesehen und habe eine allgemeine Vorstellung von BLAS und LAPACK und wie man sie mit den wenigen Beispielen verwendet, die ich finde, aber ich kann keine tatsächlichen Beispiele finden, …
142 c  lapack  blas  atlas 

30
Versteckte Funktionen von C.
Gesperrt . Diese Frage und ihre Antworten sind gesperrt, da die Frage nicht zum Thema gehört, aber historische Bedeutung hat. Derzeit werden keine neuen Antworten oder Interaktionen akzeptiert. Ich weiß, dass hinter allen C-Compiler-Implementierungen ein Standard steckt, daher sollte es keine versteckten Funktionen geben. Trotzdem bin ich sicher, dass alle …
141 c  hidden-features 

21
Konvertieren Sie Objective-C Typedef in sein String-Äquivalent
Angenommen, ich habe ein typedef in meiner .h-Datei als solches deklariert: typedef enum { JSON, XML, Atom, RSS } FormatType; Ich möchte eine Funktion erstellen, die den numerischen Wert des typedef in eine Zeichenfolge konvertiert. Zum Beispiel, wenn die Nachricht [self toString:JSON]gesendet wurde; es würde 'JSON' zurückgeben. Die Funktion würde …
141 c  objective-c  enums  typedef 

16
Was ist der Zweck eines 'if (0)' - Blocks im if-else-Block?
Meine Frage bezieht sich auf die Zeile, die ich im Betreff erwähnt habe und die ich an vielen Stellen im Produktionscode sehen kann. Der Gesamtcode sieht folgendermaßen aus: if (0) { // Empty braces } else if (some_fn_call()) { // actual code } else if (some_other_fn_call()) { // another actual …
141 c  if-statement 



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.