Стоит ли запоминать windows API "язык" - PullRequest
3 голосов
/ 24 июня 2010

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

Ответы [ 6 ]

7 голосов
/ 24 июня 2010

Всегда полезно понять, как что-то работает, прежде чем использовать инструменты, которые скрывают некоторые из этих вещей.В долгосрочной перспективе нет вреда в использовании мастеров классов и шаблонов, но вы обнаружите, что проблемы с отладкой будут намного проще, если вы поймете, что эти мастера и шаблоны сделали для вас, и что эти вещи делают.Это верно независимо от того, используется ли Win32, .NET или любой другой API.

. При программировании на .NET особенно полезно иметь представление об операционной системе, в которой он выполняется, и о том, какие функции .NET (напримеркак события) сопоставляются с базовой системой (например, сообщениями Windows), поскольку это может действительно помочь при отладке некоторых странных ситуаций (например, повторного входа в элемент управления .NET ListView при запросе количества элементов в сообщении рисования).

Тем не менее, это не обязательно, чтобы вы знали эти вещи, просто полезно.Вам, конечно, не нужно запоминать подписи конкретных методов - документация всегда поможет вам.В общем, помните, как все работает, а не как вы их называете.

3 голосов
/ 24 июня 2010

Для меня.Единственный способ запомнить API - это часто его использовать.В большинстве API просто слишком много информации, и они так часто меняются, чтобы запомнить их все.

В старые времена, когда Интернет не был вездесущим, вся информация была получена из журналов и книг.Теперь это просто вопрос вырезания и вставки из примера кода и его расширения.Я все еще использовал Cut and paste для скелетного кода из предыдущих проектов.

Мой совет - понимать API и знать, где можно быстро получить информацию.

2 голосов
/ 25 июня 2010

Никто не будет или не должен запоминать Синтаксис Windows API в настоящее время, у нас есть IntelliSense в Visual Studio. Что вам нужно сделать, это понять модель этих API, то, как работает система Windows.

Сосредоточьтесь на этих темах:

  • Создание и обработка окон, очереди сообщений
  • Обработка графики и шрифтов (GDI)
  • Стандартные элементы управления (поле ввода, кнопки ...)
  • События и пользовательский ввод (мышь, клавиатура)
  • Процессы и темы
  • Обработка файлов и другие виды ввода / вывода

Самый распространенный способ - это прочитать какую-нибудь классическую книгу (книга Чарльза Петцольда, Джеффри Ритчер).

Кстати, это относится к любой платформе, построенной на основе Windows API: MFC, ATL и даже .net с Windows Forms.

2 голосов
/ 24 июня 2010

Я не думаю, что запоминание того стоит.Вот для чего нужны файлы справки и Интернет.

Если вы заинтересованы в изучении «голого» программирования на Win32 без .NET, MFC или ATL (а - это , хорошо понятьстроительные блоки, на которых построены эти фреймворки), тогда я бы порекомендовал брать их по частям (начиная с основ WinMain, WndProc и т. д.) и создавать свою собственную фреймворк классов для сокращения исходного кодапишите с каждым новым проектом.

Включите все это в систему контроля версий, и по мере того, как вы будете больше узнавать об API и вносить улучшения в свою инфраструктуру, все ваши проекты могут принести пользу.

2 голосов
/ 24 июня 2010

ИМХО, не очень сложно запомнить параметры CreateWindow наизусть.Кроме того, очень полезно ознакомиться с собственным API системы, с которой вы работаете.

1 голос
/ 24 июня 2010

Независимо от того, используете ли вы мастер или нет, вы должны иметь общее представление о генерируемом коде, чтобы вы могли точно понять, как работает ваша программа. Все это описано в онлайн-справке по MSDN, поэтому, если есть что-то, чего вы не понимаете в коде мастера, почему бы не поискать его?

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...