2010-09-22 9 views
-2

Les API Windows ne me semblent pas aussi simples que vous pourriez vous y attendre. Pour moi, ils sont une mode un peu compliquée?Pourquoi l'API Windows est-elle moins directe que les autres API?

Est-ce un effet de maintenir la compatibilité ascendante?

est le but principal de Microsoft pour pousser les développeurs à des abstractions de niveau supérieur comme ATL/MFC, VB et/ou .net?

C'est la première fois que j'utilise l'API Win32 et les appels comme FindFirstFile font de moi un fervent partisan de la philosophie UNIX où les API semblent accomplir 90% de la flexibilité à 10% de l'effort. Là encore, il semble y avoir des cas particuliers qui justifient l'aide d'appels tels que fcntl sur * machines de type nix où ils seraient partie intégrante de l'appel réel sur Windows.

... ou suis-je manque juste un paradigme fondamental?

+3

aurait eu plus de chances de rester ouvert si elle n'a pas été indiqué si crûment ... – ChristopheD

+2

Compatibilité vers l'arrière. Suce d'être populaire. – Will

+0

Merde! J'étais à moitié terminé ma réponse. –

Répondre

5

Quelques choses à garder à l'esprit:

  1. Il a été conçu il y a environ 20 ans, et a été en grande partie basée sur les versions antérieures de Windows qui ont été conçus d'une décennie auparavant.

  2. Il est basé sur C, donc une volonté de fonction GetString() doit avoir une conception comme

    bool GetString(char* stringBuffer, int bufferLen) 
    

    au lieu du

    char* GetString(void) 
    

    que toute autre langue aurait.

  3. est Backwards travail 1 compatibilité avec cette API, parce que chaque ligne de code Microsoft Windows est construit sur est propriétaire haut de l'API Windows