2010-09-22 3 views
-2

API Windows не кажется мне так же прямолинейным, как вы могли ожидать. Для меня это несколько запутанная мода?Почему API Windows меньше, чем другие API?

Это эффект сохранения обратной совместимости?

Основная цель Microsoft - подтолкнуть разработчиков к абстракциям более высокого уровня, таким как ATL/MFC, VB и/или .net?

Это мой первый опыт использования API Win32, и звонки, подобные FindFirstFile, заставляют меня твердо верить в философию UNIX, где API, похоже, достигают 90% гибкости при 10% усилий. Затем снова появляются некоторые уникальные случаи, которые гарантируют использование таких вызовов, как fcntl, на машинах типа nix, где они будут неотъемлемой частью фактического вызова в Windows.

... или я просто пропустил фундаментальную парадигму?

+3

бы имели больше шансов остаться открытым, если оно не было сказано так прямо ... – ChristopheD

+2

Обратная совместимость. Отстой, чтобы быть популярным. – Will

+0

Черт! Я на полпути закончил свой ответ. –

ответ

5

Несколько вещей, которые нужно иметь в виду:

  1. Он был разработан около 20 лет назад, и в значительной степени основаны на более ранних версиях Windows, которые были разработаны за десять лет до этого.

  2. Он основан на C, так GetString() функция будет необходимо иметь конструкцию, как

    bool GetString(char* stringBuffer, int bufferLen) 
    

    вместо

    char* GetString(void) 
    

    , что любой другой язык будет иметь.

  3. Backwards совместимость Работа 1 с этим API, потому что каждая строка кода Windows, Microsoft владеет построен на вершине Windows API,
Смежные вопросы