Différences Notoires Entre Programmations 16/32bit, Pour ma soutenance de lundi !:D |
11/06/2005 - 18:42:15 |
Post
#1
|
|
Group: Moderator Posts: 10 801 Joined: 12/04/2004 |
(IMG:http://forum.17buddies.rocks/style_emoticons/default/icon_hello.gif) all !
Je viens poster ici car dans mon projet de fin d'année, j'ai eu à programmer un module DK40, fonctionnant sur un DOS 16 bits. J'ai donc dû programmer ce petit appareil avec un compilateur 16 bits, style Borland C++ 5.02. Mais à part ca, et surtout pour mon oral de soutenance qui se deroulera le lundi 13 juin, je voulais savoir quelles sont les réelles et les plus pertinantes différences entre une programmation 16 bits et une programmation 32 bits, comme pour nos chers petits PCs. Surtout niveau restrictions, taille des variables et tout. Je ne sais pas, mais vu que mon projet est bien complet, je m'attends à une vieille question de p*** là-dessus, histoire de faire un peu d'ombre au tableau. Je vous en remercie d'avance les gens ! (IMG:http://forum.17buddies.rocks/style_emoticons/default/icon_jap.gif) |
|
|
11/06/2005 - 19:29:06 |
Post
#2
|
|
Group: Member Posts: 2 872 Joined: 18/01/2004 Team: [ByE] |
Pour windows
QUOTE("Sources msdn") L'augmentation de la taille de l'espace adresse dans la version 32 bits de Windows influe sur le code 16 bits de plusieurs façons : Les pointeurs ont tous une taille de 32 bits ; ils ne sont plus de type near ou far et votre code ne peut pas formuler des hypothèses basées sur la mémoire segmentée. Les handles de fenêtre, les handles vers les autres objets (stylets, pinceaux, menus, etc.) et les coordonnées graphiques sont passés à 32 bits. Vous ne pouvez donc pas utiliser de façon interchangeable des types tels que WORD et HWND comme vous pouviez le faire dans la version 16 bits de Windows. Les gestionnaires de messages doivent être réécrits, car les différentes tailles peuvent avoir une incidence sur le compactage des informations dans certains paramètres de message. L'augmentation de la taille des coordonnées graphiques a une incidence sur un certain nombre d'appels à des fonctions. Les principaux secteurs du code 16 bits affectés par ces modifications sont les suivants : Déclarations des procédures de fenêtre Déclarations de type near et far Types de données Messages Appels aux fonctions API Fonction WinMain QUOTE There are two definitions for 16 bit and 32 bit. The first deals with programmming in regards to the registers. A 16 bit program has a limitation of 65535 bytes of accessable memory while a 32 bit program can access upto 4 GB of memory. But wait, didn't DOS run upto 640K in 16 bit mode, how could this be if there is a limitation of 65535 bytes. Now we come to the hardware definition. The reason that you could access 640K using a 16 bit processor was because of the supported memory bank switching within the hardware level and access to the DMA from the CPU for accessing the expanded memory. Also many of the early machines had 32 bit processors starting with the 80386, but they were limited to 2 GB of memory, why? It was a hardware limitation of the motherboard and chipset. The real difinition at the hardware level is 16 and 32 bits refers to the width of the bus between the cpu and memory. The bottom line is that the number of bits does not limit the amount of memory that can be accessed, it is the hardware that limits the amount of memory. With creative programming and hardware level controls, even a 16 bit program can access any amount of memory. Un site pas mal pour les comparaisons This post has been edited by Papy-Marco: 11/06/2005 - 19:37:38 |
|
|
11/06/2005 - 19:33:02 |
Post
#3
|
|
Group: Moderator Posts: 10 801 Joined: 12/04/2004 |
(IMG:http://forum.17buddies.rocks/style_emoticons/default/wacko.gif)
Erf ! Je vais devoir apprendre ca par coeur, lol ! (IMG:http://forum.17buddies.rocks/style_emoticons/default/blush.gif) Edit : au fait, merci ! (IMG:http://forum.17buddies.rocks/style_emoticons/default/wub.gif) This post has been edited by Star Du$t: 11/06/2005 - 19:33:30 |
|
|
11/06/2005 - 19:38:44 |
Post
#4
|
|
Group: Member Posts: 2 872 Joined: 18/01/2004 Team: [ByE] |
Met le en pratique c'est le meilleur moyen de d'en souvenir...
|
|
|
Lo-Fi Version |
Skin © Chapo
|