From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.
We appreciate your patience as we improve our online experience.
From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.
We appreciate your patience as we improve our online experience.
le 11-13-2014 01:38 PM
besoin d'un gros coup de main ici (temps consacré)
Je cherche celui (ou celle) qui programme en Labview ... mais aussi en C.
et surtout ... qui possède un evironnement full 64bits, soit ... un compilateur C qui compile en 64bits ET (bien entendu) un OS 64bits.
Compiler le petit code C ci-dessous, faire tourner ... et me dire le nombre qui apparait dans la fenêtre. (ce sera 32 ou 48)
int main ()
{
char zzz;
zzz = sizeof _iobuf; // structure définie dans stdio.h (msvcrt.dll)
printf ("%d",zzz);
getchar();
}
oui, j'exagère ... ... mais le résultat de ce test m'aiderait beaucoup (et je n'ai pas de quoi le faire moi même)
ps : être bien certain que la totalité de la manip se fait en 64bits et sous OS 64bits.
10E+6 merci pour celui, ou celle, qui pourra me rendre ce coups demain.
Résolu ! Accéder à la solution.
le 11-18-2014 04:31 AM
le 11-18-2014 07:22 AM
si je pouvais te donner 5 kudos d'un coup ... je le ferais !!!
48 ... jnark ... je m'en doutais !
la structure _iobuf a un sizeof de 0x20 sous 32bits ... et 0x30 sous 64bits.
Helmut ...
pourrais-tu me télecharger le fichier "stdio.h" de ton compilo 64bits ?
je recherche la présence de cette structure (sous cette forme) :
struct _iobuf
typedef struct _iobuf { // 8 elements, 0x30 bytes (sizeof)
/*0x000*/ CHAR* _ptr;
/*0x008*/ INT32 _cnt;
/*0x00C*/ UINT8 _PADDING0_[0x4];
/*0x010*/ CHAR* _base;
/*0x018*/ INT32 _flag;
/*0x01C*/ INT32 _file;
/*0x020*/ INT32 _charbuf;
/*0x024*/ INT32 _bufsiz;
/*0x028*/ CHAR* _tmpfname;
} iobuf, *Piobuf;
génial ! tout tout grand merci à toi.
PS:
tu as utilisé le compilo de Visual Studio 2010 .... version express ? (à mon avis non, ce doit être la version full je pense)
J'ai également VS2010, mais en version express (gratuite)
et je pense que la version express de VS2010 ne propose pas le 64bits.
donc de mon côté je n'ai aucune trace de cette structure avec une longueur de 0x30.
De toute façon, même si j'avais la version full de VS2010, comme je n'ai pas d'OS 64bits
je pense que VS n'aurait pas installé le fichier "stdio.h" que je recherche.
le 11-18-2014 07:41 AM
Bonjour Ouadji,
Non c'est bien la version 2010 Express avec le SDK 7.1 pour compiler en 64 bits.
Je l'utilise pour compiler des modèles Simulink.
Voila ma version de _iobuf :
struct _iobuf { char *_ptr; int _cnt; char *_base; int _flag; int _file; int _charbuf; int _bufsiz; char *_tmpfname; }; typedef struct _iobuf FILE;
Cependant je pense que la différence se fait au niveau du linker et non du fichier header (c'est uniquement mon avis personnel qui n'engage que moi) ou j'utilise bien la version 64 bits de msvcrt.lib qui est différent pour du x86 ou x64.
Cordialement,