2009-06-16 3 views
4

Я новичок в программировании win32, а также в программировании драйверов. Я установил Windows DDK на моей системе и получил некоторые примеры с DDK , но эти примеры не имеют Д файла,Как создать рабочее пространство из примеров DDK

я хотел бы знать, как я могу создать .dsw файл, так что я могу открыть это рабочее пространство в VC6

, пожалуйста, помогите мне в этом отношении.

Заранее спасибо

ответ

-1

VC6 очень старо в эти дни, вы не можете использовать более новую версию? Во всяком случае, как я помню, вы можете просто открыть файл проекта как рабочее пространство, IDE создаст для вас файл .dsw.

+0

Привет, спасибо за этот быстрый ответ. Но если я прав, в файле win ddk нет файла проекта. Я могу видеть только makefile, makefile.mk и файл проекта wat u r referring - это файл .dsp, который не встречается в примерах DDK, Ожидает ваших предложений –

1

В прошлый раз, когда я смотрел (это было много лет назад), вы не создаете драйверы устройств с помощью среды Visual Studio IDE: у DDK есть своя утилита build.exe (аналогичная идея, но не такая же, как make-файлы); и, по-видимому, это по-прежнему актуально с начала 2008 года, см. в отношении http://groups.google.com/group/microsoft.public.development.device.drivers/browse_thread/thread/4382c9b66f8611e9?pli=1

Я ожидаю, что «как построить» описано в документации DDK.

+0

Hi ChrisW, спасибо за эту информацию. Это означает, что отладки через DDK-примеры невозможно. Я хотел выполнить строку за строкой и понять поток. Как это можно сделать для примеров DDK Ожидание ответа ура –

+0

Ну, сборка * может * генерировать символические файлы отладки, поэтому отладка * возможна *. Я * не считаю, что вы можете использовать отладчик * Visual Studio IDE * (хотя это может зависеть от того, какой драйвер устройства он в любом случае: это пользовательский режим или драйвер режима ядра, который вас интересует ?). Не использовать отладчик VS IDE не означает, что вы не можете отлаживать: это означает, что вы используете другой отладчик (когда я это делал, много лет назад основные отладчики режима ядра назывались WinDbg и/или Softice). – ChrisW

+0

Вы все равно можете использовать отладчик, хотя, возможно, для отладчика Visual Studio не может быть и речи о разработке драйвера. –

3

Большинство людей, которые создают проекты DDK/WDK в Visual Studio, делают это с помощью проекта makefile, который вызывает утилиту DDK build.exe. Это работает довольно хорошо - вы получаете возможности навигации по коду Visual Studio при создании своего проекта DDK с использованием стандартных поддерживаемых инструментов DDK.

Обратите внимание, что DDK поставляется с собственным набором компиляторов, и эти компиляторы должны использоваться для создания проектов DDK.

ОСР имеет немного набор CMD скриптов, которые, как предполагается, чтобы сделать это легче (это было лет с тех пор я сделал что-нибудь с теми, я действительно не могу вспомнить, как хорошо они работают):

Другой подобный инструмент доступен из Холлис технологии:

Что касается отладки, к сожалению, отладчик VS не будет работать для отладки драйвера режима ядра. Для этого получите пакет Debugging Tools for Windows, который имеет большой набор отладчиков. Отладчик GUI, WinDbg, довольно приятен, даже если это не совсем подходит для удобства использования Visual Studio. И документация с инструментами отладки отличная - вы можете много узнать о внутренних компонентах Windows, просто прочитав документы WinDbg.

+0

«собственный набор компиляторов» - правда? Я думал, что он использовал тот же (управляемый командной строкой) компилятор как IDE. – ChrisW

+0

Они, как правило, немного отличаются от версии в области номера младшего номера. Я не говорю, что вы столкнетесь с множеством проблем, но команда DDK определенно не поддержит других компиляторов. Кроме того, когда появляется новая версия Windows, в компиляторе DDK часто появляются новые вещи, которых нет в выпущенной версии VC. –

0

ChrisW верен, вы не можете использовать Visual Studio (если не существует способа установить его).

В любом случае, для начала отладки вы можете использовать DebugView для печати простых сообщений с помощью DbgPrint.