Вопросы по теме 'stdcall'
стандартный вызов и cdecl
Существует (среди прочего) два типа соглашений о вызовах — stdcall и cdecl . У меня к ним несколько вопросов:
Когда вызывается функция cdecl, как вызывающая сторона узнает, должна ли она освободить стек? Знает ли вызывающая сторона на месте...
111111 просмотров
schedule
30.03.2022
Может ли stdcall иметь переменные аргументы?
Насколько мне известно, переменные аргументы можно использовать только в соглашении об очистке стека вызывающей стороны. Кстати, WinApi StringCchPrintfW объявляется так (я удалил SAL).
__inline HRESULT __stdcall StringCchPrintfW(...
2418 просмотров
schedule
04.10.2023
Как создать C-Header для Delphi / Free Pascal / Lazarus DLL - типы данных
Для моего приложения мне нужно создать DLL из Delphi (точнее, код, совместимый с Delphi, написанный в Lazarus IDE, скомпилированный с помощью бесплатного pascal под Linux), используя stdcall . При использовании этой DLL (например, в Matlab или...
1810 просмотров
schedule
07.08.2022
C - правильный импорт функций stdcall из неуправляемой DLL
Я пытаюсь импортировать функцию из неуправляемой DLL в проект C, создав файл .def с указанием функции, которую мне нужно использовать. Практикуюсь на функции WinAPI MessageBoxA из user32.dll . Это функция стандартного вызова, как и другие функции...
1951 просмотров
schedule
14.04.2022
Соглашение о вызовах с общей библиотекой для Android
Я создал несколько файлов плагинов на C++ для своего приложения Unity3d. До сих пор приложение было простым прототипом, поэтому я тестировал его только на своем рабочем столе с библиотеками, скомпилированными как DLL для Windows. Сегодня я...
2748 просмотров
schedule
07.10.2023
Изменение соглашения о вызовах
У меня есть сторонний C API , который ожидает функцию обратного вызова __stdcall . В моем коде есть внешняя функция обратного вызова __cdecl .
Я не могу передать указатель на функцию в C-API, так как они считаются разными типами. Обход системы...
2238 просмотров
schedule
01.04.2022
Замыкания с помощью STDCALL ABI в x86 Windows вызывают исключения переполнения стека с LibFFI 3.2.1
Я использую библиотеку libffi (версия 3.2.1) , чтобы включить интерфейс API с языка сценариев, разрешив скрипт для создания прототипов для вызова функций API или определения функций обратного вызова, совместимых с API.
В x64 в Windows...
105 просмотров
schedule
12.01.2022
Программа MessageBox на сборке x86
Имея такую простую MessageBox программу:
NULL EQU 0 ; Constants
MB_DEFBUTTON1 EQU 0
MB_DEFBUTTON2 EQU 100h
IDNO EQU 7
MB_YESNO EQU 4
extern _MessageBoxA@16 ; Import...
91 просмотров
schedule
20.01.2024