Bonjour,
je développe un programme en fortran (compilateur=gfortran) et je suis actuellement en train de le scinder en deux :
- un noyau (compilation statique) contenant lecture des données et traitement de celles-ci,
- une librairie dynamique pour assurer le post-traitement et l'écriture de fichiers.
Afin de vérifier que j'ai proprement réalisé cette séparation, j'aimerais maintenant afficher exhaustivement les liens existants entre le noyau et la librairie (en pratique, je veux m'assurer que le noyau ne va utiliser la librairie (…)
La version 2.5 du compilateur LLVM est disponible
Le compilateur LLVM (pour Low Level Virtual Machine) est disponible dans sa version 2.5 depuis le 2 mars dernier.
Ce projet de compilateur sous licence BSD est très modulaire et a choisi le langage C++ pour son implémentation. Il utilise actuellement le compilateur GCC du projet GNU pour analyser le code source (LLVM-GCC) mais un nouveau frontal, Clang, est prévu pour remplacer GCC à terme.
Ce projet de compilateur sous licence BSD est très modulaire et a choisi le langage C++ pour son implémentation. Il utilise actuellement le compilateur GCC du projet GNU pour analyser le code source (LLVM-GCC) mais un nouveau frontal, Clang, est prévu pour remplacer GCC à terme.
SCons 1.0
SCons est un logiciel libre sous licence MIT, écrit en Python, de construction de logiciels. Il permet d'automatiser les compilations comme avec les logiciels libres autoconf et automake, et contient un cache comme ccache. Il est conçu pour être plus rapide, facile et fiable que le traditionnel make et son implémentation GNU Make. Il fonctionne sur les systèmes POSIX (Linux, *BSD, Unix, etc.) et sur Microsoft Windows.
La version 1.0 de SCons a été atteinte, le mardi 12 août 2008. Elle est fonctionnellement identique à la version 0.98.5, seules des mises à jour de documentation sont les nouveautés. Les API 1.0 resteront compatibles durant toute la vie de la série 1.x. La version 1.0.1 est déjà prévue pour septembre, incluant des corrections de bugs et améliorations de performances.
Les fichiers de configuration de SCons sont écrits en Python, ce qui offre une très grande souplesse et de nombreuses possibilités. Il analyse automatiquement des dépendances C/C++/Fortran. SCons permet de construire à partir de dépôts centraux de code source (SCCS, RCS, CVS, BitKeeper et Perforce) et/ou de cibles pré-construites, il utilise des signatures MD5 pour détecter des changements dans les fichiers et peut compiler en parallèle.
Ardour, Blender, VMware sont des exemples d'applications construites avec SCons. Les paquets sont disponibles sous forme de tarball, paquet zip, DEB et RPM, en source et binaire (et installeur Microsoft Windows).
La version 1.0 de SCons a été atteinte, le mardi 12 août 2008. Elle est fonctionnellement identique à la version 0.98.5, seules des mises à jour de documentation sont les nouveautés. Les API 1.0 resteront compatibles durant toute la vie de la série 1.x. La version 1.0.1 est déjà prévue pour septembre, incluant des corrections de bugs et améliorations de performances.
Les fichiers de configuration de SCons sont écrits en Python, ce qui offre une très grande souplesse et de nombreuses possibilités. Il analyse automatiquement des dépendances C/C++/Fortran. SCons permet de construire à partir de dépôts centraux de code source (SCCS, RCS, CVS, BitKeeper et Perforce) et/ou de cibles pré-construites, il utilise des signatures MD5 pour détecter des changements dans les fichiers et peut compiler en parallèle.
Ardour, Blender, VMware sont des exemples d'applications construites avec SCons. Les paquets sont disponibles sous forme de tarball, paquet zip, DEB et RPM, en source et binaire (et installeur Microsoft Windows).
Forum général.général building GCC on openBSD4.3
Bonjour,
Si quelqu'un a la moindre idée pour m'aider, bienvenue. Voici le problème :
J'ai reçu une machine bi-opteron qui semble dysfonctionner : aucune des grandes distributions linux ne tourne dessus (FC-ubuntu-centOS-gentoo) le seul linux qui boot est LFS (i386 kernel 2.4) mais sans support SATA, ethernet et mémoire au-delà de 3.2GO. Là aussi impossible de compiler gcc à cause d'erreurs dans le code de gfortran.
Le seul truc que j'ai pu trouver qui arrive a fonctionner normalement jusqu'ici est (…)
Si quelqu'un a la moindre idée pour m'aider, bienvenue. Voici le problème :
J'ai reçu une machine bi-opteron qui semble dysfonctionner : aucune des grandes distributions linux ne tourne dessus (FC-ubuntu-centOS-gentoo) le seul linux qui boot est LFS (i386 kernel 2.4) mais sans support SATA, ethernet et mémoire au-delà de 3.2GO. Là aussi impossible de compiler gcc à cause d'erreurs dans le code de gfortran.
Le seul truc que j'ai pu trouver qui arrive a fonctionner normalement jusqu'ici est (…)
Forum Programmation.autre Hierarchie et organisation des dossiers d'un projet
Bonjour,
Je suis actuellement en train de reprendre un code pour le mettre à jour et l'améliorer. Ce code est actuellement grossièrement monolithique (deux fichiers dont un de plus de 3000 lignes...) et je cherche à le modulariser au maximum.
Le code étant en fortran 77, je suis en train de le passer progressivement en fortran 90 pour profiter des "modules" fortran (pour ceux qui ne connaisse pas, c'est un croisement assez pratique entre objets et librairies). Or, je cherche (…)
Je suis actuellement en train de reprendre un code pour le mettre à jour et l'améliorer. Ce code est actuellement grossièrement monolithique (deux fichiers dont un de plus de 3000 lignes...) et je cherche à le modulariser au maximum.
Le code étant en fortran 77, je suis en train de le passer progressivement en fortran 90 pour profiter des "modules" fortran (pour ceux qui ne connaisse pas, c'est un croisement assez pratique entre objets et librairies). Or, je cherche (…)
Forum général.cherche-logiciel Grqphique et liste des dépendances d'un programme
Bonjour,
Je cherche à créer un graphique avec la liste de toutes les fonctions et librairies appelées par un programme (en fortran). Une sorte d'arbre en fait, qui me liste : "telle fonction appelle telle fonction qui appelle ..."
J'imagine que ce genre de chose existe forcément, mais je n'arrive pas à trouver ça !
Merci d'avance pour votre aide !
Je cherche à créer un graphique avec la liste de toutes les fonctions et librairies appelées par un programme (en fortran). Une sorte d'arbre en fait, qui me liste : "telle fonction appelle telle fonction qui appelle ..."
J'imagine que ce genre de chose existe forcément, mais je n'arrive pas à trouver ça !
Merci d'avance pour votre aide !
Forum Linux.debian/ubuntu Installer proprement quelques paquets de testing ?
Salut,
J'aurai besoin de quelques conseils pour installer seulement quelques paquets de la testing sur ma stable sans corrompre tout le système. Comme je suis conscient qu'une telle question peut paraître bizarre et que qu'un expert pourrait avoir mieux à me proposer que cette idée peut-être saugrenue, je vous raconte l'histoire qui m'amène à poser cette question:
J'ai un dell pas trop moderne (P4/ICH7) sous débian depuis déjà quelques temps (un peu plus d'un an). Jusqu'à récemment j'utilisais la testing (…)
J'aurai besoin de quelques conseils pour installer seulement quelques paquets de la testing sur ma stable sans corrompre tout le système. Comme je suis conscient qu'une telle question peut paraître bizarre et que qu'un expert pourrait avoir mieux à me proposer que cette idée peut-être saugrenue, je vous raconte l'histoire qui m'amène à poser cette question:
J'ai un dell pas trop moderne (P4/ICH7) sous débian depuis déjà quelques temps (un peu plus d'un an). Jusqu'à récemment j'utilisais la testing (…)
Sortie de GCC 4.3
La nouvelle version 4.3 de GCC (GNU Compiler Collection) vient de sortir.
Cette version du compilateur du projet GNU, initié par Richard Stallman, est particulièrement importante et a été testée depuis des mois de façon intensive par les distributions car elle sera le compilateur utilisé par Fedora 9, par OpenSuse 11.0 et par Debian Lenny - ce message détaillé donne une bonne idée du travail ayant lieu actuellement chez Debian pour pouvoir utiliser GCC 4.3 dans la future version stable de la distribution.
Ci-dessous, les nouveautés concernant GCC, gfortran, gcj et les optimisations mises en oeuvre.
Cette version du compilateur du projet GNU, initié par Richard Stallman, est particulièrement importante et a été testée depuis des mois de façon intensive par les distributions car elle sera le compilateur utilisé par Fedora 9, par OpenSuse 11.0 et par Debian Lenny - ce message détaillé donne une bonne idée du travail ayant lieu actuellement chez Debian pour pouvoir utiliser GCC 4.3 dans la future version stable de la distribution.
Ci-dessous, les nouveautés concernant GCC, gfortran, gcj et les optimisations mises en oeuvre.
Forum Programmation.c++ pofiler et C++
Bonjour à tous,
j'essaye de profiler une application avec ccmalloc, le souci c'est que d'habitude je développe avec eclipse donc j'ai beaucoup de mal à trouvé comment lancé ccmalloc
pour compiller mon appli, eclipse lance la commande :
j'essaye de profiler une application avec ccmalloc, le souci c'est que d'habitude je développe avec eclipse donc j'ai beaucoup de mal à trouvé comment lancé ccmalloc
pour compiller mon appli, eclipse lance la commande :
make -k all
Building file: ../Source/Lib.cpp
Invoking: GCC C++ Compiler
g++ -O0 -g3 -Wall -c -fmessage-length=0 -MMD -MP -MF"Source/Lib.d" -MT"Source/Lib.d" -o"Source/Lib.o" "../Source/Lib.cpp"
Finished building: ../Source/Lib.cpp
Building file: ../Source/test.cpp
Invoking: GCC C++ Compiler
g++ -O0 -g3 -Wall -c -fmessage-length=0 -MMD -MP -MF"Source/test.d" -MT"Source/test.d" (…)
Forum Programmation.c++ ACML , libgfortran , ubuntu x86_64
Bonjour , je suis passer il y a peu de temps sur 64bits.
Je code une librairie qui a besoin d'acml, comme on me la expliquer sur un autre post après avoir installé acml (le 4.0.1) je met le chemin de la lib dans le /etc/ld.so.conf et je fais un sudo ldconfig.
Coté acml tout va presque bien , je m'explique : j'ai pris la version compilée avec gfortran pour 64bit (...normal..), donc pour ma librairie je link acml et (…)
Je code une librairie qui a besoin d'acml, comme on me la expliquer sur un autre post après avoir installé acml (le 4.0.1) je met le chemin de la lib dans le /etc/ld.so.conf et je fais un sudo ldconfig.
Coté acml tout va presque bien , je m'explique : j'ai pris la version compilée avec gfortran pour 64bit (...normal..), donc pour ma librairie je link acml et (…)
Forum Linux.général compilation; Qu'est-ce qui manque?
Je cherche à compiler un petit tetris nommé TUTRIS;
dans le config.log je trouve:
.../
configure:2173: gcc -v &5
Using built-in specs.
Target: i486-linux-gnu
Configured with: ../src/configure -v --enable-languages=c,c++,fortran,objc,obj-c++,treelang --prefix=/usr --enable-shared --with-system-zlib --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --enable-nls --with-gxx-include-dir=/usr/include/c++/4.1.3 --program-suffix=-4.1 --enable-__cxa_atexit --enable-clocale=gnu --enable-libstdcxx-debug --enable-mpfr --enable-checking=release i486-linux-gnu
Thread model: posix
gcc version 4.1.3 20070929 (prerelease) (Ubuntu 4.1.2-16ubuntu2)
configure:2176: $? = 0
configure:2178: gcc -V &5
gcc: '-V' option must have argument
configure:2181: $? = 1
configure:2205: checking for C compiler default output
configure:2208: (…)
dans le config.log je trouve:
.../
configure:2173: gcc -v &5
Using built-in specs.
Target: i486-linux-gnu
Configured with: ../src/configure -v --enable-languages=c,c++,fortran,objc,obj-c++,treelang --prefix=/usr --enable-shared --with-system-zlib --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --enable-nls --with-gxx-include-dir=/usr/include/c++/4.1.3 --program-suffix=-4.1 --enable-__cxa_atexit --enable-clocale=gnu --enable-libstdcxx-debug --enable-mpfr --enable-checking=release i486-linux-gnu
Thread model: posix
gcc version 4.1.3 20070929 (prerelease) (Ubuntu 4.1.2-16ubuntu2)
configure:2176: $? = 0
configure:2178: gcc -V &5
gcc: '-V' option must have argument
configure:2181: $? = 1
configure:2205: checking for C compiler default output
configure:2208: (…)
GNU Octave 3.0, l'alternative libre à Matlab
GNU Octave est un langage libre de haut niveau destiné principalement aux calculs numériques. La syntaxe vise à être aussi proche que possible du programme propriétaire Matlab. L'interpréteur est en ligne de commande, mais plusieurs interfaces et éditeurs chatoyants existent pour l'habiller.
Depuis la précédente version stable (la vieille 2.1), de nombreux progrès ont été effectués notamment dans les fonctions graphiques, basées sur GNUplot et JHandles. Les sources sont disponibles sous licence GPL, les distributions Linux mettent à jour leurs paquets (utilisez votre gestionnaire de paquet préféré) et des binaires sont téléchargeables pour Windows et Mac OS X sur SourceForge.
Des interfaces avec les langages C/C++ et Fortran permettent d'écrire assez simplement des extensions efficaces. De nombreuses boîtes à outils écrites par la communauté viennent étendre les fonctionnalités.
D'autres solutions open source existent, comme Scilab, moins compatible avec Matlab et dont la licence est restrictive (encore à ce jour), ou SciPy, extension du langage Python, profitant de sa syntaxe, mais non compatible avec Matlab.
Depuis la précédente version stable (la vieille 2.1), de nombreux progrès ont été effectués notamment dans les fonctions graphiques, basées sur GNUplot et JHandles. Les sources sont disponibles sous licence GPL, les distributions Linux mettent à jour leurs paquets (utilisez votre gestionnaire de paquet préféré) et des binaires sont téléchargeables pour Windows et Mac OS X sur SourceForge.
Des interfaces avec les langages C/C++ et Fortran permettent d'écrire assez simplement des extensions efficaces. De nombreuses boîtes à outils écrites par la communauté viennent étendre les fonctionnalités.
D'autres solutions open source existent, comme Scilab, moins compatible avec Matlab et dont la licence est restrictive (encore à ce jour), ou SciPy, extension du langage Python, profitant de sa syntaxe, mais non compatible avec Matlab.
Forum Programmation.c++ ACML
bonjour ,
je code en c++ avec eclipse et j'ai besoin des fonction blas et lapack ,
je télécharge donc ACML, les librairie blas et lapack optimiser pour/par AMD, je décompresse et j'installe
celle ci est installer dans /opt/acml3.6.0/
dans mon code c++ j'ajoute #include </opt/acml3.6.0/gfortran32/include/acml.h>
dans eclipse , propriété de mon projet , j'ajoute dans C++ Build/Gcc C++ Linker/Librairies et Librairies acml ( ce qui équivaut a faire un -lacml dans les argument G++)
le code se compile sans (…)
je code en c++ avec eclipse et j'ai besoin des fonction blas et lapack ,
je télécharge donc ACML, les librairie blas et lapack optimiser pour/par AMD, je décompresse et j'installe
celle ci est installer dans /opt/acml3.6.0/
dans mon code c++ j'ajoute #include </opt/acml3.6.0/gfortran32/include/acml.h>
dans eclipse , propriété de mon projet , j'ajoute dans C++ Build/Gcc C++ Linker/Librairies et Librairies acml ( ce qui équivaut a faire un -lacml dans les argument G++)
le code se compile sans (…)
Forum Programmation.autre fortran
salut. je suis un nouveau venu sur le forum et j'ai une question:
j'ai un programme DE CALCUL DU DETERMINANT D'UNE MATRICE CARREE à ecrire avec le FORTRAN 77 et j'ai un blème avec la formule du déterminant. SOS pour la formule ou pour le programme...
URGENT
MERCI.
j'ai un programme DE CALCUL DU DETERMINANT D'UNE MATRICE CARREE à ecrire avec le FORTRAN 77 et j'ai un blème avec la formule du déterminant. SOS pour la formule ou pour le programme...
URGENT
MERCI.
Forum Programmation.c PB avec GCC et LD
Bonjour,
J'ai une toute petite expérience en programmation. J'ai l'habitude de tester mon installation GCC avec cette ligne de code dans un fichier toto.c :
Mon problème est celui ci :
Quand je fais "gcc -o toto toto.c", j'ai l'erreur suivante :
J'ai une toute petite expérience en programmation. J'ai l'habitude de tester mon installation GCC avec cette ligne de code dans un fichier toto.c :
void main () {}
Mon problème est celui ci :
Quand je fais "gcc -o toto toto.c", j'ai l'erreur suivante :
gcc -o toto toto.c
toto.c: In function «main":
toto.c:1: attention : return type of «main" is not «int"
/usr/local/bin/ld: option � --hash-style=both � non reocnnue
/usr/local/bin/ld: utiliser --help pour afficher l'aide-m�moire
collect2: ld a (…)