Domande taggate «c»

C è un linguaggio di programmazione generico utilizzato per la programmazione di sistemi (OS e embedded), librerie, giochi e multipiattaforma. Questo tag deve essere utilizzato con domande generali relative al linguaggio C, come definito nella norma ISO 9899 (l'ultima versione, 9899: 2018, se non diversamente specificato - anche tag richieste specifiche della versione con c89, c99, c11, ecc.). C è distinto da C ++ e non dovrebbe essere combinato con il tag C ++ in assenza di una ragione razionale.


10
Come prevenire SIGPIPE (o gestirli correttamente)
Ho un piccolo programma server che accetta connessioni su un socket TCP o UNIX locale, legge un comando semplice e, a seconda del comando, invia una risposta. Il problema è che il client potrebbe non avere interesse per la risposta a volte ed uscire presto, quindi scrivere su quel socket …
261 c  io  signals  broken-pipe  sigpipe 

12
Come convertire una stringa in intero in C?
Sto cercando di scoprire se esiste un modo alternativo di convertire la stringa in intero in C. Nel mio codice modifico regolarmente quanto segue. char s[] = "45"; int num = atoi(s); Quindi, c'è un modo migliore o un altro?
260 c  string  atoi 

12
Utilizzo dell'operatore freccia (->) in C
Sto leggendo un libro intitolato "Teach Yourself C in 21 Days" (ho già imparato Java e C #, quindi mi sto muovendo ad un ritmo molto più veloce). Stavo leggendo il capitolo sui puntatori e l' operatore-> (freccia) si avvicinò senza spiegazioni. Penso che sia usato per chiamare membri e …
257 c  pointers  syntax 

3
Perché malloc + memset è più lento di calloc?
È noto che callocè diverso dal fatto mallocche inizializza la memoria allocata. Con calloc, la memoria è impostata su zero. Con malloc, la memoria non viene cancellata. Quindi, nel lavoro di tutti i giorni, io considero calloccome malloc+ memset. Per inciso, per divertimento, ho scritto il seguente codice per un …
256 c  malloc 

10
Usando GCC per produrre assemblaggi leggibili?
Mi chiedevo come usare GCC sul mio file sorgente C per scaricare una versione mnemonica del codice macchina in modo da poter vedere in cosa veniva compilato il mio codice. Puoi farlo con Java ma non sono stato in grado di trovare un modo con GCC. Sto cercando di riscrivere …
256 c  gcc  assembly 


15
Scopo dei sindacati in C e C ++
Ho usato i sindacati prima comodamente; oggi sono stato allarmato quando ho letto questo post e ho scoperto che questo codice union ARGB { uint32_t colour; struct componentsTag { uint8_t b; uint8_t g; uint8_t r; uint8_t a; } components; } pixel; pixel.colour = 0xff040201; // ARGB::colour is the active member …
254 c++  c  unions  type-punning 

11
Perché devi collegare la libreria matematica in C?
Se includo <stdlib.h>o <stdio.h>in un programma C non devo collegarli durante la compilazione ma devo collegarmi <math.h>, usando -lmcon gcc, ad esempio: gcc test.c -o test -lm Qual è la ragione di ciò? Perché devo collegare esplicitamente la libreria matematica ma non le altre librerie?
254 c  compilation  math.h 


6
Perché è 0 <-0x80000000?
Di seguito ho un semplice programma: #include &lt;stdio.h&gt; #define INT32_MIN (-0x80000000) int main(void) { long long bal = 0; if(bal &lt; INT32_MIN ) { printf("Failed!!!"); } else { printf("Success!!!"); } return 0; } La condizione if(bal &lt; INT32_MIN )è sempre vera. Come è possibile? Funziona bene se cambio la macro …

10
Cosa significa {0} quando si inizializza un oggetto?
Quando {0}viene utilizzato per inizializzare un oggetto, cosa significa? Non riesco a trovare riferimenti a {0}nessuna parte e, a causa delle parentesi graffe, le ricerche di Google non sono utili. Codice di esempio: SHELLEXECUTEINFO sexi = {0}; // what does this do? sexi.cbSize = sizeof(SHELLEXECUTEINFO); sexi.hwnd = NULL; sexi.fMask = …
252 c++  c 



22
In che modo C calcola sin () e altre funzioni matematiche?
Ho analizzato i disassemblaggi .NET e il codice sorgente GCC, ma non riesco a trovare da nessuna parte l'implementazione effettiva di sin()e altre funzioni matematiche ... sembrano sempre fare riferimento a qualcos'altro. Qualcuno può aiutarmi a trovarli? Sento che è improbabile che TUTTO l'hardware su cui C funzionerà supporti le …
248 c  math  trigonometry 

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.