Ресурсы по VS 2005
вот это,но там читать-не перечитать,причём неизвестно,где я найду то,что меня интересует
Особенно интересует объяснение всех опций компиляции(в настройках проекта),создание и испытание DLL,а также всякие фишки с объявлениями и использованием типов Windows,кучей подключаемых заголовков,определений и прочего
Интересует сабж в разрезе только WinAPI&C++,т.е. никакие MFC,Windows Forms и прочее мне не надо.Я,конечно,понимаю,что есть
Особенно интересует объяснение всех опций компиляции(в настройках проекта),создание и испытание DLL,а также всякие фишки с объявлениями и использованием типов Windows,кучей подключаемых заголовков,определений и прочего
А вопрос то в чем?
Впрочем,опции компиляции–это ещё не самое главное,а вот программирование применительно к студии–важно.Даже не могу конкретизировать–так широк спектр вопросов.В частности,как писать DLL и отлаживать их(например,попытался запустить DLL–там надо указать хост-процесс.Указал Блокнот–она не грузится;НЯП,надо,чтобы хост-процесс сам загружал DLL,а это не есть хорошо–в OllyDbg,например,сия проблема решается встроенным загрузчиком.Как это делается в студии,для меня пока темень)
P.S.Вот пример–я не могу скомпилировать программу,пока не подключу tchar.h,иначе возникает ошибка,что _WinMain@16–неизвестный символ.И в этом роде,много нюансов же
tchar.h резолвит символ _tWinMain в wWinMain или WinMain в зависимости от наличия дефайна UNICODE (настройкой выставляется на весь проект). Если он не подключен - твоя функция так и останется _tWinMain, а CRT ждет от тебя wWinMain или WinMain.
Спрашивай здесь если не можешь найти. Также полезную информацию можно почерпнуть из статьи тут.
Цитата: Phodopus
Ничего плохого в том чтобы хост-процесс грузил твою DLL - нет. У Olly не встроенный загрузчик, у него есть Dummy EXEcutable
Не совсем понял.Просто если б в указанный процесс принудительно DLL грузилась,это было б просто замечательно.А вот как заставить загрузиться DLL не из папки,описанной в PATH,я не знаю.Вообще не работал с проектами,где связаны DLL и приложение
Насчёт OllyDbg знаю,просто не совсем корректно выразился.Этот LoadDll всё же в неё встроен:)(в ресурсах лежит,если отсутствует в папке,то извлекается)
А то,что tchar.h можно не подключать–так это ж здорово ☺
Когда запускаешь проект "DLL", ЕМНИП, студия выставляет приложению-хосту CurrentDir = путь к твоей DLL. А где и в каком порядке ищутся библиотеки можно посмотреть в MSDN.