Bonjour,
Comment puis-je savoir dans un code en C ou C++ si j'ai compilé en 32 ou en 64 bits. Je m'explique, je compile un code soit en 32 ou 64 bits sous gcc et parfois j'ai besoin de savoir lequel des 2, j'ai lancé
Merci d'avance.
Bonjour,
Comment puis-je savoir dans un code en C ou C++ si j'ai compilé en 32 ou en 64 bits. Je m'explique, je compile un code soit en 32 ou 64 bits sous gcc et parfois j'ai besoin de savoir lequel des 2, j'ai lancé
Merci d'avance.
dans le gestionnaire de tâches sous windows, à coté du nom de l'exécutable, il y a un "*32" si l'application est 32 bits
Désolé, je n'ai vraiment pas été clair!
Dans les includes de C++, il y a t-il un "#define ..." me permettant de différencier à la compilation dans le code si je suis en train de compiler en 32 ou 64 bits.
Sous gcc comment savoir si j'utilise l'option -m32 ou -m64.
Si tu es sur une architecture 64 bits l'option -m64 est choisie par défaut.
Donc pour compiler en 32 bits il faut que tu indiques le paramètre -m32
If you have 64-bit OS (uname shows x86-64), your gcc defaults to 64-bit
mode, unless you set -m32. The code fragment you quote appears designed
to throw an assertion failure, if data types don't default to expected
sizes. If they wanted a 32-bit unsigned integer, there are standard C
data types for that.
Ok ,ce que je cherche à faire est quelquechose comme ca:
Je ne sais pas quoi métre exactement dérriere le ifdef à la place de _compilation_64_
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 #ifdef _compilation_64_ // traitement particulier au 64 bits #else // traitement particulier au 32 bits #endif
Sous GCC c'est possible
http://gcc.gnu.org/onlinedocs/cpp/Co...defined-Macros
Au final tu peux faire ça :__LP64__
_LP64
These macros are defined, with value 1, if (and only if) the compilation is for a target where long int and pointer both use 64-bits and int uses 32-bit.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 #if defined( __LP64__ ) || defined( _LP64 ) /* On est en 64 bits */ #else /* On est pas en 64 bits */ #endif
Ok, c'est ce que je charchais, merci beaucoups
Pour la petite histoire, c'est possible aussi sous Visual, cf. ce message et les suivants.
Mac LAK.
___________________________________________________
Ne prenez pas la vie trop au sérieux, de toutes façons, vous n'en sortirez pas vivant.
Sources et composants Delphi sur mon site, L'antre du Lak.
Pas de question technique par MP : posez-la dans un nouveau sujet, sur le forum adéquat.
Rejoignez-nous sur : ► Serveur de fichiers [NAS] ► Le Tableau de bord projets ► Le groupe de travail ICMO
Partager