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.

4
Stampa pad sinistra con spazi
Come posso riempire una stringa con spazi a sinistra quando uso printf? Ad esempio, voglio stampare "Hello" con 40 spazi che lo precedono. Inoltre, la stringa che voglio stampare è composta da più righe. Devo stampare ogni riga separatamente? EDIT: Giusto per essere chiari, voglio esattamente 40 spazi stampati prima …
114 c  formatting  printf 


5
Stack frame danneggiato GDB - Come eseguire il debug?
Ho la seguente traccia dello stack. È possibile ricavare qualcosa di utile da questo per il debug? Program received signal SIGSEGV, Segmentation fault. 0x00000002 in ?? () (gdb) bt #0 0x00000002 in ?? () #1 0x00000001 in ?? () #2 0xbffff284 in ?? () Backtrace stopped: previous frame inner to …
113 c  recursion  gdb 

7
Intestazione C99 stdint.h e MS Visual Studio
Con mio grande stupore ho appena scoperto che lo stdint.h C99 manca da MS Visual Studio 2003 in poi. Sono sicuro che abbiano le loro ragioni, ma qualcuno sa dove posso scaricare una copia? Senza questa intestazione non ho definizioni per tipi utili come uint32_t, ecc.
113 c++  c  visual-studio  c99 


7
Qual'è la differenza tra vmalloc e kmalloc?
Ho cercato su Google e ho scoperto che la maggior parte delle persone ne sostiene l'uso kmalloc, poiché è garantito che avrai blocchi fisici di memoria contigui. Tuttavia, sembra anche che kmallocpossa fallire se un blocco fisico contiguo che desideri non può essere trovato. Quali sono i vantaggi di avere …


10
Free (ptr) dove ptr è la memoria corrotta NULL?
Teoricamente posso dirlo free(ptr); free(ptr); è un danneggiamento della memoria poiché stiamo liberando la memoria che è già stata liberata. Ma cosa succede se free(ptr); ptr=NULL; free(ptr); Poiché il sistema operativo si comporterà in modo indefinito, non posso ottenere un'analisi teorica effettiva di ciò che sta accadendo. Qualunque cosa stia …

9
Perché lanciare valori di ritorno inutilizzati su void?
int fn(); void whatever() { (void) fn(); } C'è qualche motivo per annullare un valore di ritorno inutilizzato o ho ragione a pensare che sia una completa perdita di tempo? Azione supplementare: Bene, sembra abbastanza completo. Suppongo che sia meglio che commentare un valore di ritorno inutilizzato poiché il codice …
112 c++  c  void 


19
#ifdef vs #if - qual è il metodo migliore / più sicuro per abilitare / disabilitare la compilazione di particolari sezioni di codice?
Potrebbe essere una questione di stile, ma c'è un po 'di divario nel nostro team di sviluppo e mi chiedevo se qualcun altro avesse qualche idea in merito ... Fondamentalmente, abbiamo alcune istruzioni di stampa di debug che disattiviamo durante il normale sviluppo. Personalmente preferisco fare quanto segue: //---- SomeSourceFile.cpp …

5
Dove è definito PATH_MAX in Linux?
Con quale file di intestazione devo invocare #includeper poter utilizzare PATH_MAX come int per il dimensionamento di una stringa? Voglio poter dichiarare: char *current_path[PATH_MAX]; Ma quando lo faccio il mio compilatore (Clang / LLVM su Linux) emette il seguente errore: recursive_find6.c:29:20: error: use of undeclared identifier 'PATH_MAX' char *current_path[PATH_MAX]; ^ …
112 c  linux  gcc  include  clang 


3
Quale macro predefinita posso utilizzare per rilevare il clang?
Sto cercando di rilevare il compilatore utilizzato per compilare il mio codice sorgente. Riesco a trovare facilmente macro predefinite per verificare la presenza di MSVC o GCC (vedi http://predef.sourceforge.net/ per esempio), ma non riesco a trovare alcuna macro per verificare il clang. Qualcuno sa se clang definisce una macro come …


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.