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.


7
Wie rufe ich die C ++ - Funktion von C aus auf?
Ich weiß das. Aufruf der C-Funktion aus C ++: Wenn meine Anwendung in C ++ wäre und ich Funktionen aus einer in C geschriebenen Bibliothek aufrufen müsste, hätte ich verwendet //main.cpp extern "C" void C_library_function(int x, int y);//prototype C_library_function(2,4);// directly using it. Dies würde den Namen nicht entstellen C_library_functionund der …
84 c++  c  visual-c++  extern-c 

3
Wie erhalte ich einen FILE-Zeiger aus einem Dateideskriptor?
Ich spiele mit mkstemp(), was einen Dateideskriptor bereitstellt, aber ich möchte eine formatierte Ausgabe über generieren fprintf(). Gibt es eine einfache Möglichkeit, den von bereitgestellten Dateideskriptor mkstemp()in eine FILE *Struktur umzuwandeln, die für die Verwendung mit geeignet ist fprintf()?
84 c  posix  mkstemp 


15
Der beste Weg, um einen String in C einzuschalten
In C gibt es ein switchKonstrukt, das es einem ermöglicht, verschiedene bedingte Codezweige basierend auf einem ganzzahligen Testwert auszuführen, z. int a; /* Read the value of "a" from some source, e.g. user input */ switch ( a ) { case 100: // Code break; case 200: // Code break; …

8
Warum springt GDB unvorhersehbar zwischen Zeilen und druckt Variablen als "<Wert optimiert aus>"?
Kann jemand dieses Verhalten von GDB erklären? 900 memset(&amp;new_ckpt_info,'\0',sizeof(CKPT_INFO)); (gdb) **903 prev_offset = cp_node-&gt;offset;** (gdb) **905 m_CPND_CKPTINFO_READ(ckpt_info,(char *)cb-&gt;shm_addr.ckpt_addr+sizeof(CKPT_** HDR),i_offset); (gdb) **903 prev_offset = cp_node-&gt;offset;** (gdb) **905 m_CPND_CKPTINFO_READ(ckpt_info,(char *)cb-&gt;shm_addr.ckpt_addr+sizeof(CKPT_ HDR),i_offset);** (gdb) **908 bitmap_offset = client_hdl/32;** (gdb) **910 bitmap_value = cpnd_client_bitmap_set(client_hdl%32);** (gdb) **908 bitmap_offset = client_hdl/32;** (gdb) **910 bitmap_value = cpnd_client_bitmap_set(client_hdl%32);** (gdb) …




15
Empfohlene gcc-Warnoptionen für C [geschlossen]
Geschlossen . Diese Frage basiert auf Meinungen . Derzeit werden keine Antworten akzeptiert. Möchten Sie diese Frage verbessern? Aktualisieren Sie die Frage, damit sie mit Fakten und Zitaten beantwortet werden kann, indem Sie diesen Beitrag bearbeiten . Geschlossen vor 6 Jahren . Verbessere diese Frage Abgesehen von -Wall, welche anderen …
83 c  gcc  compiler-errors 

9
Wechsel von C ++ nach C.
Nach einigen Jahren Codierung in C ++ wurde mir kürzlich eine Jobcodierung in C im eingebetteten Bereich angeboten. Abgesehen von der Frage, ob es richtig oder falsch ist, C ++ im eingebetteten Feld zu schließen, gibt es einige Funktionen / Redewendungen in C ++, die ich sehr vermissen würde. Nur …
83 c++  c 

5
Woher kommt das Wort „Pragma“?
Ich weiß also, was Pragma ist und wofür es verwendet wird, aber was bedeutet das Wort selbst? Ich habe es oft im Code verwendet, aber ich wusste nie wirklich, was das Wort tatsächlich bedeutet oder für was es steht.
83 c++  c  terminology  pragma 

1
Leistung der C-Code-Schleife [Fortsetzung]
Diese Frage setzt sich auf meiner Frage hier fort (auf Anraten von Mystical): Leistung der C-Code-Schleife Wenn ich meine Frage fortsetze, würde der Code, der Intrinsics verwendet, sehr ähnlich aussehen, wenn ich gepackte Anweisungen anstelle von skalaren Anweisungen verwende: for(int i=0; i&lt;size; i+=16) { y1 = _mm_load_ps(output[i]); … y4 = …

9
Was ist schneller: x << 1 oder x << 10?
Ich möchte nichts optimieren, ich schwöre, ich möchte diese Frage nur aus Neugier stellen. Ich weiß , dass auf den meist Hardware gibt es einen Montag Befehl von Bit-Verschiebung (zB shl, shr), die ein einziger Befehl ist. Aber spielt es eine Rolle (in Bezug auf Nanosekunden oder CPU-Takt), wie viele …
83 c++  c  performance  cpu  low-level 

3
Warum ist CUDA-Speicher so schnell fixiert?
Ich beobachte erhebliche Beschleunigungen bei der Datenübertragung, wenn ich für die CUDA-Datenübertragung fixierten Speicher verwende. Unter Linux ist mlock der zugrunde liegende Systemaufruf, um dies zu erreichen. In der Manpage von mlock heißt es, dass das Sperren der Seite das Austauschen verhindert: mlock () sperrt Seiten im Adressbereich, beginnend mit …
83 c++  c  linux  cuda 

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.