Bonjour,
Je suis en train d'interfacer un programme c++ avec une librairie commerciale développée en 64 bits et en fortran.
Pour cette nouvelle version de la librairie, je dois passer toutes les fonctions fortran appelant cette librairie en 64 bits (INTEGER*8 ..). Pour cela c'est fait.
Mon problème c'est que je dois passer des entiers de mon programme C++ vers le fortran, tous cela en 64 bits également.
Donc, même si je travaille en Visual 2005, en 64 bits (je crois), sur un PC 64 bits, mes entiers int en C++ sont codés en 4 bits (ce que je confirme bien avec un sizeof(.) ).
Je pensais, en travaillant en Visual 2005 en 64 bits, que mes entiers C++ (int) seraient codés en 64 bits (8 octets) et non plus en 32 bits (4 octets).
Est-ce normal, même en 64 bits, de trouver mes entiers toujours en 32 bits ?
Est-ce qu'il est possible, par défaut de faire comprendre à mon programme que tous les entiers int sont maintenant codés, par défaut, en 64 bits ?
La seule possibilité que j'ai trouvé actuellement, pour travailler, sans erreur de compilation et d'éxécution, c'est de travailler avec des 'long long int', qui, eux, sont bien en 64 bits (mes long int sont encore, comme les int, en 32 bits (4 octets)).
Est-ce que un #define INT int / #define INT long long int en début de code ne permettrait pas ce travail ?
Merci d'avance de votre réponse, car cela me dépanerait pour éviter de tous changer dans mon code actuel.