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

Все, что связано с условным вызовом `stdcall`, то есть одной из общих конвенций вызова подпрограмм, используемых в системах с архитектурой x86.
8
ответов

Что такое __stdcall?

Я изучаю программирование Win32, а прототип WinMain выглядит так: int WINAPI WinMain ( HINSTANCE instance, HINSTANCE prev_instance, PSTR cmd_line, int cmd_show ) Я был в замешательстве относительно того, для чего был найден и найден этот идентифи...
задан 18 нояб. '08 в 5:15
9
ответов

stdcall и cdecl

Существуют (среди прочих) два типа соглашений вызова - stdcall и cdecl. У меня к ним мало вопросов: Когда вызывается функция cdecl, как вызывающий знаете, если он должен освободить стек? На сайте вызова выполняется ли вызывающий абонент знает, ...
задан 04 авг. '10 в 12:51
2
ответов

Почему вызовы Cdecl часто несовместимы в "стандартной" конвенции P/Invoke?

Я работаю над довольно большой базой кода, в которой функциональность С++ P/Вызывается из С#. В нашей кодовой базе есть много вызовов, таких как... С++: extern "C" int __stdcall InvokedFunction(int); С соответствующим С#: [DllImport("CPlusPlus....
задан 27 марта '13 в 16:58
2
ответов

Есть ли STDCALL в Linux?

Я пытаюсь перенести приложение Windows в Linux. Это приложение отмечает некоторые функции с атрибутом __stdcall. Тем не менее, мне сказал друг, что stdcall используется только для окон и не имеет смысла в linux (но они существуют в Windows GCC). Я по...
задан 16 июня '10 в 17:34
2
ответов

stdcall name mangling using extern c и dllexport vs определения модулей (msvС++)

Я пытался экспортировать простую тестовую функцию для dll для работы с приложением (fyi: mIRC), который определяет соглашение о вызове как: int __stdcall test_func(HWND mWnd, HWND aWnd, char *data, char *parms, BOOL show, BOOL nopause) Теперь, что...
задан 29 дек. '11 в 2:15
4
ответов

declspec и stdcall vs declspec только

Я новый человек для темы импорта dll в С++, и, возможно, мой вопрос очень прост, но я не могу найти его в google. У меня очень простая С++ win32 dll: #include <iostream> using namespace std; extern "C" { __declspec(dllexport) void __std...
задан 13 июня '11 в 21:03
9
ответов

Создать С# DLL, которая может быть импортирована в приложение Delphi. Использование stdcall - возможно?

У меня есть программа, для которой мне нужно создать DLL, надеюсь, на С#. Программа написана в Delphi, и у меня есть файл интерфейса для кода. Интерфейс использует соглашение о вызове stdcall. Возможно ли создать С# DLL, которая соответствует интерф...
задан 30 июня '09 в 14:24
4
ответов

Изменение Конвенции о вызовах

У меня есть сторонний API C, который ожидает функцию обратного вызова __stdcall. Мой код имеет внешнюю функцию __cdecl. Я не могу передать свой указатель на C-API, поскольку они считаются разными типами. В обход системы типов и с помощью reinter...
задан 30 окт. '16 в 9:57
1
ответ

Есть ли эквивалент для stdcall в GCC?

Я работаю над своим собственным ядром, используя GCC, и при вызове функций C из кода asm мне нужно сделать add esp,xx самостоятельно. После некоторого поиска я обнаружил, что stdcall является изобретением Microsoft и не может использовать его в GCC....
задан 27 окт. '12 в 2:54
3
ответов

Частная специализация шаблона для указателя функции __stdcall

typedef bool (*my_function_f)(int, double); typedef bool (__stdcall *my_function_f2)(int, double); // ^^^^^^^^^ template<class F> class TFunction; template<class R, class T0, class T1> class TFunction<R(*)(T0,T1)> { t...
задан 13 мая '11 в 15:00
1
ответ

VС++ предотвращает все украшения имен символов

Я работаю над DLL, которая будет использоваться с другого языка (так что не нужно импортировать библиотеки и в том числе заголовки dll) с помощью convstion _stdcall. Проблема в том, что VС++, кажется, всегда выполняет некоторые украшения имен на эксп...
задан 11 июля '11 в 14:42
0
ответов

64-разрядные функции передачи С++ с "разными" вызовами в качестве параметров дают неоднозначную ошибку

Моя цель состоит в том, чтобы легко извлечь прототип произвольной функции как с вызовами __cdecl, так и с __stdcall. Он отлично работает в 32-битном режиме. Единственное, что меняется, это соглашение вызова в моих параметрах функции шаблона. Согласн...
задан 05 мая '16 в 20:12
5
ответов

В С++ выполняются ли переменные функции (те, у которых... в конце списка параметров), обязательно следуйте за вызовом __cdecl?

Я знаю, что функции __stdcall не могут иметь эллипсы, но я хочу быть уверенным, что нет платформ, поддерживающих функции stdarg.h для вызова соглашений, отличных от __cdecl или __stdcall.
задан 25 марта '10 в 5:22
3
ответов

как структуры передаются как параметры в сборке

Как структуры передаются как параметры в сборке? Так как структуры имеют размеры, большие, чем обычно, отдельные поля передаются последовательно? Если они находятся в обратном порядке, как и обычные параметры? Существуют ли какие-либо различия меж...
задан 06 мая '15 в 7:01
1
ответ

Каковы правила расширения знака для вызова функций Windows API (stdcall)? Это необходимо для вызова WInAPI из Go, который строго относится к типам int

Упс, я забыл, когда я произнес этот ответ, и это то, что я оба не совсем уверен в себе и что я не могу похоже, найти информацию для MSDN и Google и поиска. В Windows API есть несколько мест, где вы используете отрицательное число, или число, слишком...
задан 03 июня '14 в 21:19