Articles of gcc

En-tête système et en-tête normal gcc

Je sais que c’est une question très stupide mais je ne peux pas obtenir la différence entre l’en-tête système et l’en-tête normal dans gcc. En se référant à ce lien : 2.8 En-têtes de système Les fichiers d’en-tête déclarant des interfaces avec le système d’exploitation et les bibliothèques d’exécution ne peuvent souvent pas être écrits […]

Obtenir le nom de la fonction appelante en C (sans utiliser le préprocesseur)

Je me demandais s’il y avait un moyen de trouver quelle fonction appelée la fonction actuelle (au moment de l’exécution) en C. Je sais que vous pouvez utiliser __FUNCTION__ dans gcc, mais existe-t-il un moyen de ne pas utiliser le préprocesseur C? Probablement pas. À votre santé

La taille de la structure contenant les champs de bits est différente sur différents compilateurs

J’ai couru le programme ci-dessous sur VS et sur GCC. #include int main(void) { struct bitfield { unsigned a : 3; char b; unsigned c : 5; int d; }bit; printf(“Size = %d\n”, sizeof(bit)); return 0; } A ma grande surprise, VS donne 16 comme sizeof structure et GCC en donne 12. Si je comprends […]

les données sont-elles partagées entre les processus lorsque nous utilisons fork en c?

Dans ce programme C, les données ne sont pas partagées entre processus, processus parent et processus enfant. child a ses propres données et le parent a ses propres données, mais le pointeur affiche la même adresse pour les deux processus. Comment cela se fait sur le fond? Fork génère-t-il des copies des mêmes données? si […]

LD_PRELOADing malloc et gratuit

J’ai écrit mon propre malloc et libre et les ai compilés dans une bibliothèque partagée. Je LD_PRELOAD cette bibliothèque avec mon programme. De cette façon, mon programme utiliserait toujours mon malloc personnalisé et libre ou existe-t-il des cas où il n’en est pas ainsi? J’ai entendu dire que gcc a construit malloc et gratuit aussi. […]

Problème d’ordre de liaison gcc

J’ai actuellement des problèmes pour comstackr avec la ligne suivante: gcc test.c -I/usr/include -L/lib -lipc -lpcd -lrt -o /home/examples/bin/test On m’a suggéré de les grouper en utilisant le groupe de départ et le groupe de fin. Je ne parviens pas à obtenir la syntaxe appropriée. Je pense avoir besoin de cette partie, mais à quoi […]

Échec de la liaison du code c avec lapack / blas: référence non définie

J’essaie depuis des heures et ça me rend fou. La dernière erreur que je reçois est: demo_cblas.c:(.text+0x83): undefined reference to `clapack_sgetrf’ demo_cblas.c:(.text+0xa3): undefined reference to `clapack_sgesorting’ Je comstack le code en utilisant /usr/bin/gcc -o demo_cblas demo_cblas.c -L /usr/lib64 -l :libgfortran.so.3 -L /usr/lib64 \ -llapack -L /usr/lib64 -lblas J’essaie avec et sans libgfortran, avec différents compilateurs […]

Comment tester les débordements de mémoire tampon sur un système moderne?

Je suis actuellement intéressé à apprendre à résoudre les débordements de mémoire tampon. J’ai fait pas mal d’assemblages et je comprends comment fonctionne la stack et comment implémenter un débordement de tampon en C. Cependant, je rencontre pas mal de difficultés à essayer d’obtenir GCC 4.9.1 pour me permettre de déborder un tampon correctement. Je […]

C ++ alors que l’optimisation de la boucle ne fonctionne pas correctement

J’ai ce segment de code: #include int main(int argc, const char** argv) { int a = argv[0][0]; int b = argv[0][1]; while ((a >= 0) && (a < b)) { printf("a = %d\n", a); a++; } return 0; } et je le comstack avec gcc-4.5 -02 -Wssortingct-overflow=5 . Le compilateur me lance un warning: assuming […]

Obtenir un octet spécifique de l’adresse de mémoire M68k avec le langage C

Grâce au désassembleur IDA, j’ai atteint cette adresse: 0010FD74 00 00 00 00 00 00 03 00 00 00 00 00 82 03 80 02 Maintenant, j’ai besoin, étant donné l’adresse pour obtenir des octets particuliers; par exemple la 7ème position où il y a “03”. J’ai essayé d’utiliser le langage C pour faire ceci: […]