15/12: Programació fent servir l'API Win32

Windows
Actualment hi ha moltes formes de fer programes amb Windows. La majoria a través de les diferents llibreries intenten simplificar-ne l'entorn de programació fent-lo més amè per l'usuari:


  • La biblioteca MFC (Microsoft Foundation Class) encapsula gran part de la API de Win32, encara que no tota i genera una jerarquia de classes en forma orientada a objectes. MFC ofereix classes que representen objectes fonamentals de Windows, com finestres, quadres de diàleg, pinzells, etc.. . Les funcions membre d'aquestes classes es fan servir per obtenir les funcions més importants de la API associades a l'objecte principal.
    La biblioteca MFC tradicionalment es considera bastant lenta.

  • La biblioteca ATL (Active Template Library) és un subconjunt de classes de C++ basades en plantilles que faciliten la creació d'objectes petits i ràpids del model COM. ATL encapsula les API de Win32 i de la biblioteca de temps d'execució de C, però no tant com MFC. Es va crear perquè MFC feia massa grans els executables i això era un problema per Internet.

  • La biblioteca WTL (Windows Template Library) és una llibreria que s'assembla a MFC però està basada en plantilles i és menys extensa (no té classes per a sockets o base de dades) . Afegeix la possibilitat de treballar amb finestres a ATL. Està alliberada sota llicència GPL per Microsoft


Però no sé perquè sento una mena de passió per programar amb C++ i cridant l'API de Windows directament. Segurament deu ser una reminiscència de quan vaig començar a programar per Windows. Quan jo vaig començar ho vaig fer, com molta gent, fent servir Visual Basic. D'aquella època el que en recordo més era el seu funcionament lent, i que això em desesperava tant que fins i tot hi havia vegades que redissenyava varies vegades els mateixos trossos de programa per intentar trobar formes de fer-los més ràpids.

En el moment en que em van encarregar un programa que havia de fer una petita animació per pantalla em va obligar a aprendre a fer els programes amb C. I el mateix programa fet amb C++ i MFC anava visiblement molt més de pressa que amb Visual Basic! Un cop entregat em vaig obligar a fer-lo fent servir C++ a pèl i només fer servir les crides a l'API... La velocitat era estratosfèrica...

Per això i perquè he vist que és difícil trobar-ne informació (Microsoft s'ha volcat completament en el .NET framework), si tinc temps, aniré posant uns quants articles basats en el que Microsoft anomena C++ non managed.

Per fer els exemples faré servir Visual Studio però no hi hauria d'haver cap problema per fer servir cap altre compilador que pugui compilar programes en Windows.

Categoria: Programació | | Fet per: Xavier

Commentaris

Sense comentaris

Afegir Comentari

Els comentaris que feu requereixen revisió per evitar que un jutge espanyol em condemni a mi

:

:
: