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 NULL von main () zurückgeben?
Ich sehe manchmal Codierer, die NULLals Rückgabewert von main()in C- und C ++ - Programmen verwendet werden, zum Beispiel so etwas: #include <stdio.h> int main() { printf("HelloWorld!"); return NULL; } Wenn ich diesen Code mit gcc kompiliere, erhalte ich die Warnung: Warnung: return macht eine Ganzzahl vom Zeiger ohne Umwandlung …
10 c++  c  null  return  return-value 

2
Ist der L2 HW Prefetcher wirklich hilfreich?
Ich bin am Whiskey Lake i7-8565U und analysiere die Leistungsindikatoren und die Zeit für das Kopieren von 512 KiB Daten (doppelt so viel wie die L2-Cache-Größe) und habe einige Missverständnisse in Bezug auf die Arbeit des L2 HW-Prefetchers. Im Intel Manual Vol.4 MSR gibt es MSR, 0x1A4dessen Bit 0 zur …


5
Dynamische Verknüpfung - Linux Vs. Windows
Wenn ich unter Windows C / C ++ - Code in einem DLL-Projekt in MSVC kompiliere, erhalte ich zwei Dateien: MyDll.dll MyDll.lib Soweit ich weiß, MyDll.libenthält es eine Art Zeigertabelle, die die Positionen der Funktionen in der DLL angibt. Bei Verwendung dieser DLL, beispielsweise in einer Exe-Datei, MyDll.libwird sie während …




3
Was sind die Besonderheiten der Definition eines Strings in C?
Ich soll eine Hausaufgabenfrage für eine meiner Klassen beantworten. Insbesondere soll ich sagen, ob bestimmte Arrays in C als Strings betrachtet werden oder nicht. Basierend auf diesem Artikel ( https://www.geeksforgeeks.org/strings-in-c-2/ ) weiß ich, dass Zeichenfolgen ein Array von Zeichen mit dem Nullterminator am Ende sind. Mein Hauptproblem ist ein Teil …

4
Berechnung einer verschachtelten Wurzel in C.
Ich wurde gebeten, den folgenden verschachtelten Root-Ausdruck nur mit Rekursion zu berechnen . Ich habe den folgenden Code geschrieben, der funktioniert, aber sie erlaubten uns, nur eine Funktion und einen Eingang nfür diesen Zweck zu verwenden und nicht zwei, wie ich sie verwendet habe. Kann mir jemand helfen, diesen Code …
9 c  recursion  sqrt 

1
C Hauptparameter
Ich habe einen Code geschrieben, der die Hauptparameter anzeigen muss, aber wenn ich ihn kompiliert und in das Programm "*" eingegeben habe, wird meine Dateistruktur angezeigt. Der Befehl in cmd sieht folgendermaßen aus:program.exe 1 2 3 * #include <stdio.h> #include <stdlib.h> int main(int argc, char const* argv[]) { for (int …


1
Konvertierung in void ** auf verschiedenen Compilern
Ich habe den folgenden Code über verschiedene Compiler ausgeführt: int main() { float **a; void **b; b = a; } Soweit ich feststellen konnte, void **handelt es sich nicht um einen generischen Zeiger, was bedeutet, dass eine Konvertierung von einem anderen Zeiger keine Warnung kompilieren oder zumindest auslösen sollte. Hier …
9 c++  c  cuda 

1
Kann ein Zeiger auf einen unvollständigen Typ unvollständig sein?
Kann int (*)[]ein unvollständiger Typ sein? C 2018 6.2.5 1 sagt: An verschiedenen Stellen innerhalb einer Übersetzungseinheit kann ein Objekttyp unvollständig (ohne ausreichende Informationen zur Bestimmung der Größe von Objekten dieses Typs) oder vollständig (mit ausreichenden Informationen) sein. Wenn also die Größe eines Typs bekannt ist, scheint der Typ vollständig …

1
Verhindern Sie, dass der Prozess unter Linux einen neuen Dateideskriptor öffnet, aber erlauben Sie den Empfang von Dateideskriptoren über Sockets
Ich arbeite derzeit an einem Projekt, in dem ich einen übergeordneten Prozess habe, der ein Socketpair einrichtet, gabelt und dann dieses Socketpair zur Kommunikation verwendet. Das Kind sollte, wenn es eine Datei (oder eine andere auf Dateideskriptoren basierende Ressource) öffnen möchte, immer zum übergeordneten fdElement gehen, die Ressource anfordern und …
9 c  linux  system-calls 

3
Warum weist LLVM eine redundante Variable zu?
Hier ist eine einfache C-Datei mit einer Aufzählungsdefinition und einer mainFunktion: enum days {MON, TUE, WED, THU}; int main() { enum days d; d = WED; return 0; } Es wird auf das folgende LLVM-IR übertragen: define dso_local i32 @main() #0 { %1 = alloca i32, align 4 %2 = …
9 c  llvm  llvm-codegen 

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.