Articles of gcc

erreur: le cast de ‘void *’ à ‘int’ perd la précision dans le makefile

lors de la compilation du fichier Make suivant sur Ubuntu 12.04 LTS (64 bits) rencontré avec cette erreur: Ana.cxx:21:46: error: cast from ‘void*’ to ‘int’ loses precision [-fpermissive] dans cette ligne: 21 : TThread::Printf(“Start of Ana %x \n” ,(int)ptr); voici le makefile: ObjSuf = o SrcSuf = cxx DllSuf = so ExeSuf = OutPutOpt = […]

Que fait -fwrapv?

Quelqu’un peut-il fournir des exemples de code qui agissent différemment lorsqu’ils sont compilés avec fwrapv vs sans. Il indique que -fwrapv est supposé “supposer que le dépassement arithmétique signé de l’addition, de la soustraction et de la multiplication, encapsule à l’aide d’une représentation en complément à deux”. Mais chaque fois que j’essaye de déborder, le […]

Meilleure façon de travailler avec un format intermédiaire

Un outil sur lequel je travaille doit prendre le format intermédiaire généré par le compilateur, y append du code, puis donner ce code intermédiaire modifié au back-end du compilateur pour générer le code final. En faisant quelques recherches sur gcc, j’ai découvert que le format GIMPLE est facile à comprendre, mais je ne suis pas […]

Comment appliquer des déclarations de variables de style C89 dans gcc?

Je travaille sur une base de code principalement composée de C avec un peu de C ++ et construite principalement avec gcc, mais elle doit parfois être construite avec MSVC. Le compilateur C de Microsoft est toujours à peu près C89 avec quelques extensions mineures et ne prend toujours pas en charge le code mixte […]

L’utilisation d’OpenMP arrête la vectorisation automatique de GCC

Je travaille à rendre mon code capable d’être vectorisé automatiquement par GCC. Cependant, lorsque -fopenmp drapeau -fopenmp , il semble que toutes les tentatives de vectorisation automatique soient arrêtées. J’utilise ftree-vectorize -ftree-vectorizer-verbose=5 pour le vectoriser et le surveiller. Si je n’inclue pas le drapeau, il commence à me donner beaucoup d’informations sur chaque boucle, si […]

Tableau de taille 0 à la fin de la structure

Mon professeur d’un cours de programmation système que je suis en train de suivre nous a dit aujourd’hui de définir une structure avec un tableau de longueur nulle à la fin: struct array{ size_t size; int data[0]; }; typedef struct array array; C’est une structure utile pour définir ou initialiser un tableau avec une variable, […]

Comment placer une variable à une adresse absolue donnée en mémoire (avec GCC)

Le compilateur RealView ARM C prend en charge le placement d’une variable à une adresse mémoire donnée à l’aide de l’atsortingbut variable at(address) : int var __atsortingbute__((at(0x40001000))); var = 4; // changes the memory located at 0x40001000 GCC a-t-il un atsortingbut de variable similaire?

Compilateur croisé – erreur: libmpfr introuvable

J’essaie de construire un compilateur croisé. Je suis ce tutoriel: http://wiki.osdev.org/GCC_Cross-Comstackr J’ai installé binutils dans / opt / cross. maintenant j’essaye d’installer gcc-4.7.4 avec mpfr-2.4.2. J’ai utilisé des commandes pour préparer et configurer: export PREFIX=”$HOME/opt/cross” export TARGET=i686-elf export PATH=”$PREFIX/bin:$PATH” mv gmp-4.3.2 gcc-4.7.4/gmp mv mpfr-2.4.2 gcc-4.7.4/mpfr mv mpc-0.8.1 gcc-4.7.4/mpc # i am in usr/src directory mkdir […]

erreur de segmentation pour `vmovaps ‘

J’ai écrit un code pour append deux tableaux utilisant des instructions KNC avec (vecteurs longs de 512 bits) sur le coprocesseur Xeon Phi intel. Cependant, j’ai une partie segmentation dans la partie assemblage en ligne. Ici c’est mon code: int main(int argc, char* argv[]) { int i; const int length = 65536; const int AVXLength […]

InetNtop et ws2tcpip.h sous GCC / Cygwin

J’utilise la version de ws2tcpip.h fournie avec gcc 3.4.4 sous cygwin 2.774 Je cherchais la fonction InetNtop , qui est l’implémentation Microsoft d’ inet_ntop , mais les deux versions de ws2tcpip.h j’ai trouvées ne contiennent pas cette fonction. L’inclusion de arpa/inet.h dans inet_ntop provoque toutes sortes d’ inet_ntop terribles avec des définitions qui se chevauchent. […]