Вопросы по теме 'stdcall'

стандартный вызов и cdecl
Существует (среди прочего) два типа соглашений о вызовах — stdcall и cdecl . У меня к ним несколько вопросов: Когда вызывается функция cdecl, как вызывающая сторона узнает, должна ли она освободить стек? Знает ли вызывающая сторона на месте...
111111 просмотров
schedule 30.03.2022

Может ли stdcall иметь переменные аргументы?
Насколько мне известно, переменные аргументы можно использовать только в соглашении об очистке стека вызывающей стороны. Кстати, WinApi StringCchPrintfW объявляется так (я удалил SAL). __inline HRESULT __stdcall StringCchPrintfW(...
2418 просмотров

Как создать 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 просмотров

Замыкания с помощью 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 просмотров