|
6 / 6 / 2
Регистрация: 11.04.2011
Сообщений: 260
|
|||||||||||
Правильно вызвать API функцию из библиотек на C10.09.2014, 16:32. Показов 2400. Ответов 4
Метки нет (Все метки)
Добрый день!
Скажите пожалуйста, я вызываю ряд функций API из библиотек на C.
К тем которые что то передают или вообще не имеют параметров я оставил как есть. Правильно ли я делаю? Или к каждой функции нужно применять маршаллинг?
Буду очень благодарен за помощь! Спасибо! )
0
|
|||||||||||
| 10.09.2014, 16:32 | |
|
Ответы с готовыми решениями:
4
Как правильно вызвать API-функцию из C#? Как правильно вызвать эту функцию по клику? (bitcoin api) Как правильно передать вектор в функцию и вызвать эту функцию? |
|
37 / 31 / 5
Регистрация: 30.04.2014
Сообщений: 1,037
|
||
| 10.09.2014, 16:37 | ||
|
И кто восстанавливает стек.
0
|
||
|
6 / 6 / 2
Регистрация: 11.04.2011
Сообщений: 260
|
|
| 10.09.2014, 16:41 [ТС] | |
|
Khludenkov, Если честно, слабо разбираюсь в физике процесса.
А если я буду менять эти параметры и запускать программу заново, кардинально может что то поменяться, возникнуть ошибки и т.д. Т.е. вопрос чисто прикладной. Спасибо!
0
|
|
|
37 / 31 / 5
Регистрация: 30.04.2014
Сообщений: 1,037
|
|
| 11.09.2014, 08:10 | |
|
Почитайте в гугле "соглашение (или конвенция) о вызовах.
Пример: Некая функция из dll на си, например foo(int a, int b), принимает параметры в стиле "си", т.е. прямом порядке. Вы её вызвали из паскаля, где порядок параметров (могу ошибаться, проверьте по справочнику) обратный. Т.е. вы послали a = 10, b = 20. А функции пришло a = 20, b = 10. И со стеком то же самое. При выходе из подпрограммы на си она сама восстанавливает стек. И когда управление возвращается в основную программу, она ещё раз восстанавливает уже рабочий стек. Т.е. крах стека. P.S. Может где напутал, подробнее смотрите справочники.
1
|
|
|
65 / 65 / 16
Регистрация: 07.04.2014
Сообщений: 334
|
|
| 11.09.2014, 10:35 | |
|
Вот тут, на этом же форуме отличный материал с примерами который мне помог в такой же проблеме. https://www.cyberforum.ru/csha... ost1913414
1
|
|
| 11.09.2014, 10:35 | |
|
Помогаю со студенческими работами здесь
5
Как правильно вызвать функцию? Как правильно вызвать функцию?
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
|
Оттенки серого
Argus19 18.03.2026
Оттенки серого
Нашёл в интернете 3 прекрасных модуля:
Модуль класса открытия диалога открытия/ сохранения файла на Win32 API;
Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
|
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога
Финальные проекты на Си и на C++:
finish-rectangles-sdl3-c. zip
finish-rectangles-sdl3-cpp. zip
|
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие.
Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
|
|
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ВВЕДЕНИЕ
Выполняя задание на управление насосной группой заполнения резервуара,. . .
|
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
|
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога
Финальные проекты на Си и на C++:
hello-sdl3-c. zip
hello-sdl3-cpp. zip
Результат:
|
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога
MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
|