Questions marquées «c»

C est un langage de programmation à usage général utilisé pour la programmation système (OS et embarqué), les bibliothèques, les jeux et les plateformes multiples. Cette balise doit être utilisée avec des questions générales concernant le langage C, tel que défini dans la norme ISO 9899 (la dernière version, 9899: 2018, sauf indication contraire - également balise les demandes spécifiques à la version avec c89, c99, c11, etc.). C est distinct de C ++ et il ne doit pas être combiné avec la balise C ++ en l'absence d'une raison rationnelle.

4
Impression du pavé gauche avec espaces
Comment puis-je remplir une chaîne avec des espaces à gauche lors de l'utilisation de printf? Par exemple, je veux imprimer "Bonjour" avec 40 espaces le précédant. De plus, la chaîne que je souhaite imprimer se compose de plusieurs lignes. Dois-je imprimer chaque ligne séparément? EDIT: Juste pour être clair, je …
114 c  formatting  printf 


5
Cadre de pile corrompu GDB - Comment déboguer?
J'ai la trace de pile suivante. Est-il possible d'en faire quelque chose d'utile pour le débogage? 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 this …
113 c  recursion  gdb 

7
En-tête C99 stdint.h et MS Visual Studio
À ma grande stupéfaction, je viens de découvrir que le stdint.h C99 est absent de MS Visual Studio 2003 à partir de. Je suis sûr qu'ils ont leurs raisons, mais est-ce que quelqu'un sait où je peux télécharger une copie? Sans cet en-tête, je n'ai pas de définitions pour les …
113 c++  c  visual-studio  c99 

9
Est 'int main;' un programme C / C ++ valide?
Je demande parce que mon compilateur semble le penser, même si ce n'est pas le cas. echo 'int main;' | cc -x c - -Wall echo 'int main;' | c++ -x c++ - -Wall Clang n'émet aucun avertissement ou erreur avec ceci, et gcc émet seulement l'avertissement doux:, 'main' is …
113 c++  c  function  main  entry-point 

7
Quelle est la différence entre vmalloc et kmalloc?
J'ai cherché sur Google et j'ai trouvé que la plupart des gens préconisaient l'utilisation de kmalloc, car vous êtes assuré d'obtenir des blocs physiques contigus de mémoire. Cependant, il semble également que cela kmallocpuisse échouer si un bloc physique contigu que vous souhaitez ne peut pas être trouvé. Quels sont …


10
Free (ptr) où ptr est NULL est-il corrompu?
Théoriquement, je peux dire que free(ptr); free(ptr); est une corruption de mémoire puisque nous libérons la mémoire qui a déjà été libérée. Mais si free(ptr); ptr=NULL; free(ptr); Comme le système d'exploitation se comportera d'une manière indéfinie, je ne peux pas obtenir une analyse théorique réelle de ce qui se passe. …

9
Pourquoi convertir les valeurs de retour inutilisées en void?
int fn(); void whatever() { (void) fn(); } Y a-t-il une raison de convertir une valeur de retour inutilisée en annulation, ou ai-je raison de penser que c'est une perte de temps totale? Suivre: Eh bien, cela semble assez complet. Je suppose que c'est mieux que de commenter une valeur …
112 c++  c  void 


19
#ifdef vs #if - quelle méthode est la meilleure / la plus sûre pour activer / désactiver la compilation de sections particulières de code?
C'est peut-être une question de style, mais il y a un peu de division dans notre équipe de développement et je me suis demandé si quelqu'un d'autre avait des idées à ce sujet ... Fondamentalement, nous avons des instructions d'impression de débogage que nous désactivons pendant le développement normal. Personnellement, …

5
Où PATH_MAX est-il défini sous Linux?
Avec quel fichier d'en-tête dois-je appeler #include pour pouvoir utiliser PATH_MAX comme int pour dimensionner une chaîne? Je souhaite pouvoir déclarer: char *current_path[PATH_MAX]; Mais quand je le fais, mon compilateur (Clang / LLVM sous Linux) émet l'erreur suivante: recursive_find6.c:29:20: error: use of undeclared identifier 'PATH_MAX' char *current_path[PATH_MAX]; ^ J'ai essayé …
112 c  linux  gcc  include  clang 




En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.