вот когда вы собираешься писать какое-нибудь приложение(программу), как вы узнаёте какие именно API функции вам нужно надо использовать?.... может есть справочник API функций где они все отсортированы по назначению...
Я например сначала ставлю себе цель - что мне надо от программы. Далее создаю ее абстрактную модель - типа нужно 2 кнопочки - при нажатии на первую, открыть и прочитать файл, а при нажатии на вторую - выдать сообщение с кол-вом букв в открытом файле. Далее я прикидываю, на сколько операций данную программу можно разбить. Выше приведенную задачу я б разбил так: - функция открытия файла - должна открыть файл и вернуть его текст функция подсчета - должна получать параметр в виде текста и возвращать число букв. функция формирования сообщения - комбинирует некий текст и кол-букв - возвращает результат в виде текста процедура вывода сообщения - получает текст и выводит его на экран - далее на своем придуманном абстрактном языке - смесь русского и дельфи, более подробно описываю каждую функцию. - формирую из всего уже готовый исходный код на своем абстрактном языке... И потом медленно, с ленцой - перевожу его уже хоть на дельфи, хоть на бейсик, хоть в ассемблер . Вот так я и пишу программки для своих мелких целей. Главное сформулировать, как конкретно должна работать программа - закодировать хорошо подготовленный алгоритм, тогда, сможет и дурак - был бы справочник по языку.
Есть специальные методики для разработки ПО, RUP, EUP, Scrum, MSF etc... А вообще зависит от маштабов разработки но в любом случаи необходимо иметь под рукой разработанный хотя бы приблизительно Vision. В минимально случаи Vison дает общее представление , и позволяет выбрать инструменты разработки и сделать какие либо прогнозы P.S. Приведенный пример очень сильно упрощен ... P.S.S. Достаточно глупо и бессмысленно перед началом разработки делать акцент на API ... API всего лишь помогает решить задачу...
я наверное неправильно суть вопроса изложил, ну да ладно... поисковиком умею пользоваться, про мсдн знал... Ну чтож, Всем спасибо... свой вопрос решил ... чтоб новый топик не создавать: как узнать в какой dll какие API прописаны? слышал что у masm32 инклуды совпадают по содержанию API с содержанием API системных dll.. это правда?
вроде бы какой-то штатной тулзой можно это сделать (идущей, если не ошибаюсь, в стандартной поставке с MSVC). передаешь ей как параметр путь до твоей длл-и, и эта тулза в текстовый файл выводит список всех ф-ций, наличествующихся в этой длл. еще можно в дизассемблере глянуть. но вариант n0name всяко лучше. //updated эта тулза наз. dumpbin, вспомнил
Если лень читать документацию (а ее читать придется) - заходишь в папку masm32/lib и делаешь поиск в каком из файлов *.lib находится текст MessageBox - всплывет user32.lib, как правило, самые используемые user32.dll, kernel32.dll, gdi32.dll, comctl32.dll
Всплывут и те библиотеки, которые этот MessageBox используют как внешнее имя (правда именно для этой функции все нормально). Для постоянного употребления, либо один раз распечатать список входов для user32.dll и kernell.dll и там искать, либо взять хелп по API и использовать его поисковик. Будет и описание функции и указание в какой она DLL. Я использую от Борланда. Профи используют MSDN и у меня валяются где-то диски, но лень ставить...
Как уже было сказано, это всегда описано в документации (в конце каждого описания функции в MSDN сказано, с какой версии винды эта функция появилась, присутствуют две версии ANSI/UNICODE (MessageBoxA/MessageBoxW) либо одна для обеих кодировок (TerminateProcess). Есть также извратный вариант: создаём файл findhelp.bat типа Код (Text): @dumpbin /exports %1 | find "%2" @if errorlevel 1 goto a @echo found in %1 :a и потом командуем (для MessageBox) Код (Text): for %a in (c:\windows\system32\*.dll) do @findhelp %a MessageBox (в скобках можно ограничить поиск не *.dll, а самыми популярными). (если выносить и это в bat-файл, то %a придётся заменить на %%a) И появится список всех dll, в которых есть эта функция (приведённый пример явственно показывает, что искать лучше MessageBoxA)