Руководство по взлому Windows для пользователей Mac? - PullRequest
2 голосов
/ 08 марта 2010

Я давний пользователь Mac, желающий получить приличное понимание Windows. Я хочу иметь возможность контролировать среду, понимать, как ОС сочетаются друг с другом, и, в конце концов, я думаю, подумать о разработке приложений. Меня не очень интересует история, за исключением того, что она по-прежнему актуальна для Windows 7.

Я компетентен в среде Mac и UNIX / Linux. Я живу в C, Objective-C, Bash, Python, JavaScript, AppleScript и PHP. Поэтому я хочу что-то вводное, но не предназначенное для начинающих.

Может ли кто-нибудь порекомендовать достойную книгу (или другой ресурс), чтобы начать меня?

ТИА

Ответы [ 3 ]

4 голосов
/ 08 марта 2010

Поверхностно

Просто начните использовать языки.

Глубже - хорошие места, чтобы начать копать

  • Менеджер окон: Прочитайте исходный код программы Hello World C с графическим интерфейсом Windows. Вы должны знать, что такие вещи, как сообщения WM_, существуют и знать общие типы и, по крайней мере, пару неясных типов, которые использует windows.h, чтобы вы могли почувствовать API-интерфейсы Windows. Возможно, по-прежнему будет использоваться инструментарий более высокого уровня, например Windows Forms.
  • Реестр: существует. Получите общее представление о том, как выполняется регистрация COM-компонентов, а также сопоставление файлов и настройки приложения.
  • Папки с файлами: ознакомьтесь с расположением пользовательских профилей и важными компонентами машины в целом, включая скрытые файлы и папки.
  • COM: получите представление о неизвестных и структурированных файлах на высоком уровне. Знайте, что COM! = .NET, но он все еще существует.
  • Службы: узнайте, как службы запускаются и выключаются.
  • Аутентификация: прочитайте в Win32 API об API безопасности. Знайте разницу между учетными записями администратора и SYSTEM.
  • Планирование: информация о примитивах C Win32 API для потоков, синхронизации и взаимосвязанных операций.
  • Ядро: чтение статей, сравнивающих модели исполнения Linux, Mac и Win32, и поиск параметров настройки.
  • Дисплей: для экрана доступно множество API: DirectX, GDI, GDI +. Подумайте, как остановить борьбу этих API-интерфейсов друг с другом.
  • .NET: Узнайте о сборщике мусора .NET и о том, как .NET и не-.NET код взаимодействуют и запланированы в одном процессе на низком уровне.
  • ADO: Запустите несколько тестов, используя C #, чтобы увидеть, какую производительность и параллелизм вы получаете.
  • WinSock: см. Исходный код GLIB, чтобы узнать, как справиться с различиями в Sockets API.

Наконец, знайте, что вы не можете разветвлять процессы Win32 в Windows, и что приложения привязаны на глубоком уровне к лицензированию связанных объектов «Desktop» и «Window Station».

3 голосов
/ 08 марта 2010

Этот парень из Petzold в значительной степени «написал книгу» по программированию для Windows, когда она только появилась, и он все еще собирается (http://www.charlespetzold.com/books.html)

2 голосов
/ 08 марта 2010

Я начал на машине с UNIX, пошел на Mac, затем в Windows, затем, наконец, завел Windows и Mac вместе ... на Mac Pro. Из языков, которые вы упоминаете, C, Python, Javascript и PHP, на самом деле нет никаких различий, о которых стоит говорить между Mac и Windows. AppleScript, очевидно, не существует, и я не уверен насчет Objective C, так как я не использую его.

Я бы порекомендовал вам использовать что-то вроде VMWare Fusion для создания виртуальных машин Windows на вашем Mac. Это то, чем я занимаюсь. Таким образом, вы можете создавать сценарии для пакетных файлов в Unix и применять их в своей среде Windows.

Если это невозможно, для Bash вы можете использовать Cygwin в Windows. Это UNIX-версия командной строки Windows, которая позволяет вам делать то, что вы можете делать в UNIX.

Также стоит изучить фреймворк .Net. Если вы разрабатываете для Windows, вы, вероятно, захотите получить Visual Studio. Изучение C # - это лучшее, с чего вы могли бы начать, поскольку оно быстро становится lingua franca Windows.

Я не могу указать вам какие-либо книги, поскольку тем, которые я использовал для изучения Windows, уже около 10 лет, но я надеюсь, что это краткое вступление поможет.

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