подход к программированию

Тема в разделе "WASM.BEGINNERS", создана пользователем domov0i, 12 мар 2008.

  1. domov0i

    domov0i New Member

    Публикаций:
    0
    Регистрация:
    20 фев 2008
    Сообщения:
    74
    вот когда вы собираешься писать какое-нибудь приложение(программу), как вы узнаёте какие именно API функции вам нужно надо использовать?....

    может есть справочник API функций где они все отсортированы по назначению...
     
  2. zoool

    zoool New Member

    Публикаций:
    0
    Регистрация:
    1 дек 2007
    Сообщения:
    412
    MSDN

    http://msdn2.microsoft.com/en-us/library/default.aspx
     
  3. censored

    censored New Member

    Публикаций:
    0
    Регистрация:
    5 июл 2005
    Сообщения:
    1.615
    Адрес:
    деревня "Анонимные Прокси"
    zoool
    Программирование не ограничевается одним только Windows/MSDN'ом
     
  4. zoool

    zoool New Member

    Публикаций:
    0
    Регистрация:
    1 дек 2007
    Сообщения:
    412
    censored
    если ваши познания намного шире, то не флудите, а напишите ответ топикстартеру
     
  5. n0name

    n0name New Member

    Публикаций:
    0
    Регистрация:
    5 июн 2004
    Сообщения:
    4.336
    Адрес:
    Russia
    win - msdn
    nix - man / find
     
  6. SWR

    SWR New Member

    Публикаций:
    0
    Регистрация:
    11 май 2006
    Сообщения:
    226
    Адрес:
    Russia
    google.com
    ya.ru
     
  7. satrau

    satrau Александр

    Публикаций:
    0
    Регистрация:
    5 янв 2008
    Сообщения:
    229
    Я например сначала ставлю себе цель - что мне надо от программы.
    Далее создаю ее абстрактную модель - типа нужно 2 кнопочки - при нажатии на первую, открыть и прочитать файл, а при нажатии на вторую - выдать сообщение с кол-вом букв в открытом файле.
    Далее я прикидываю, на сколько операций данную программу можно разбить.
    Выше приведенную задачу я б разбил так:
    -
    функция открытия файла - должна открыть файл и вернуть его текст
    функция подсчета - должна получать параметр в виде текста и возвращать число букв.
    функция формирования сообщения - комбинирует некий текст и кол-букв - возвращает результат в виде текста
    процедура вывода сообщения - получает текст и выводит его на экран
    -
    далее на своем придуманном абстрактном языке - смесь русского и дельфи, более подробно описываю каждую функцию.
    -
    формирую из всего уже готовый исходный код на своем абстрактном языке...
    И потом медленно, с ленцой - перевожу его уже хоть на дельфи, хоть на бейсик, хоть в ассемблер .
    Вот так я и пишу программки для своих мелких целей.
    Главное сформулировать, как конкретно должна работать программа - закодировать хорошо подготовленный алгоритм, тогда, сможет и дурак - был бы справочник по языку.
     
  8. GrDog

    GrDog New Member

    Публикаций:
    0
    Регистрация:
    28 июн 2007
    Сообщения:
    26
    Есть специальные методики для разработки ПО, RUP, EUP, Scrum, MSF etc... А вообще зависит от маштабов разработки но в любом случаи необходимо иметь под рукой разработанный хотя бы приблизительно Vision. В минимально случаи Vison дает общее представление , и позволяет выбрать инструменты разработки и сделать какие либо прогнозы :)
    P.S. Приведенный пример очень сильно упрощен ...
    P.S.S. Достаточно глупо и бессмысленно перед началом разработки делать акцент на API ... API всего лишь помогает решить задачу...
     
  9. domov0i

    domov0i New Member

    Публикаций:
    0
    Регистрация:
    20 фев 2008
    Сообщения:
    74
    я наверное неправильно суть вопроса изложил, ну да ладно...
    поисковиком умею пользоваться, про мсдн знал...

    Ну чтож, Всем спасибо... свой вопрос решил ...


    чтоб новый топик не создавать: как узнать в какой dll какие API прописаны?
    слышал что у masm32 инклуды совпадают по содержанию API с содержанием API системных dll.. это правда?
     
  10. n0name

    n0name New Member

    Публикаций:
    0
    Регистрация:
    5 июн 2004
    Сообщения:
    4.336
    Адрес:
    Russia
    посмотреть в документацию.
     
  11. varnie

    varnie New Member

    Публикаций:
    0
    Регистрация:
    2 янв 2005
    Сообщения:
    1.785
    вроде бы какой-то штатной тулзой можно это сделать (идущей, если не ошибаюсь, в стандартной поставке с MSVC). передаешь ей как параметр путь до твоей длл-и, и эта тулза в текстовый файл выводит список всех ф-ций, наличествующихся в этой длл.
    еще можно в дизассемблере глянуть.
    но вариант n0name всяко лучше.

    //updated
    эта тулза наз. dumpbin, вспомнил:)
     
  12. n0name

    n0name New Member

    Публикаций:
    0
    Регистрация:
    5 июн 2004
    Сообщения:
    4.336
    Адрес:
    Russia
    автору нужна обратная операция.
     
  13. Mikl_

    Mikl_ New Member

    Публикаций:
    0
    Регистрация:
    14 ноя 2006
    Сообщения:
    907
    Если лень читать документацию (а ее читать придется) - заходишь в папку masm32/lib и делаешь поиск в каком из файлов *.lib находится текст MessageBox - всплывет user32.lib, как правило, самые используемые user32.dll, kernel32.dll, gdi32.dll, comctl32.dll
     
  14. valterg

    valterg Active Member

    Публикаций:
    0
    Регистрация:
    19 авг 2004
    Сообщения:
    2.105
    Всплывут и те библиотеки, которые этот MessageBox используют как внешнее имя (правда именно для этой функции все нормально). Для постоянного употребления, либо один раз распечатать список входов
    для user32.dll и kernell.dll и там искать, либо взять хелп по API и использовать его поисковик.
    Будет и описание функции и указание в какой она DLL. Я использую от Борланда.
    Профи используют MSDN и у меня валяются где-то диски, но лень ставить...
     
  15. n0name

    n0name New Member

    Публикаций:
    0
    Регистрация:
    5 июн 2004
    Сообщения:
    4.336
    Адрес:
    Russia
    +advapi32, ntdll, msvcrt imho
     
  16. diamond

    diamond New Member

    Публикаций:
    0
    Регистрация:
    21 май 2004
    Сообщения:
    507
    Адрес:
    Russia
    Как уже было сказано, это всегда описано в документации (в конце каждого описания функции в MSDN сказано, с какой версии винды эта функция появилась, присутствуют две версии ANSI/UNICODE (MessageBoxA/MessageBoxW) либо одна для обеих кодировок (TerminateProcess).
    Есть также извратный вариант: создаём файл findhelp.bat типа
    Код (Text):
    1. @dumpbin /exports %1 | find "%2"
    2. @if errorlevel 1 goto a
    3. @echo found in %1
    4. :a
    и потом командуем (для MessageBox)
    Код (Text):
    1. for %a in (c:\windows\system32\*.dll) do @findhelp %a MessageBox
    (в скобках можно ограничить поиск не *.dll, а самыми популярными).
    (если выносить и это в bat-файл, то %a придётся заменить на %%a)
    И появится список всех dll, в которых есть эта функция :)
    (приведённый пример явственно показывает, что искать лучше MessageBoxA)
     
  17. domov0i

    domov0i New Member

    Публикаций:
    0
    Регистрация:
    20 фев 2008
    Сообщения:
    74
    varnie спасибо за информацию про эту програмку... и всем тож спасибо за ответы. вопросов более нет :)
     
  18. 2FED

    2FED New Member

    Публикаций:
    0
    Регистрация:
    20 фев 2008
    Сообщения:
    1.002
    LIBLIST.EXE в пакете MASM