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

Как вы читаете объявления C?
Я слышал о некоторых методах, но ни один из них не прижился. Лично я стараюсь избегать сложных типов в C и пытаюсь разбить их на компоненты typedef. Теперь я столкнулся с поддержкой некоторого устаревшего кода от так называемого «программиста с...
7363 просмотров
schedule 21.04.2023

Что означает cdecl?
Да, я знаю, что "cdecl" - это название известного соглашения о вызовах, поэтому, пожалуйста, не объясняйте мне соглашения о вызовах. Я спрашиваю, что на самом деле означает аббревиатура (?) «cdecl». Я думаю, что это плохой выбор имени, потому что на...
13237 просмотров
schedule 13.05.2024

Почему не происходит сбой PInvoke в случае нарушения соглашения о вызовах (в .NET 3.5)?
В моем решении есть неуправляемая C++ DLL, которая экспортирует функцию, и управляемое приложение, которое PInvokes эту функцию. Я только что преобразовал решение из .NET 3.5 в .NET 4.0 и получил исключение PInvokeStackImbalance "Вызов функции...
1456 просмотров

Не удается связать lib после обновления VS2010 (__cdecl против __thiscall?)
Любая помощь очень ценится, у меня на лбу синяки. У нас есть большая DICOM библиотека ( dcmtk ) с открытым исходным кодом, которую мы используем как статическую библиотеку. Это неуправляемый C++, и мы связываемся с ним из управляемого C++ DLL ,...
632 просмотров
schedule 17.11.2022

С# получить список неуправляемых экспортов C dll
У меня есть C dll с экспортированными функциями Я могу использовать инструмент командной строки dumpbin.exe /EXPORTS для извлечения списка экспортированных функций, а затем использовать их в своем коде C# для (успешного) вызова этих функций....
5112 просмотров
schedule 01.04.2022

Увеличение %esp и CDECL
Я читал о стеке x86 и соглашении CDECL и прочитал кое-что, что меня смутило. Среди перечисленных обязанностей вызывающей стороны было извлечение параметров, их использование или просто увеличение %esp для их удаления. Как работает последняя...
391 просмотров
schedule 19.01.2023

Как сохранить состояние регистров при создании функции cdecl?
Я пишу функцию, использующую соглашение о вызовах cdecl , поэтому мне нужно убедиться, что состояние регистров сохраняется таким, каким оно было до вызова функции. Мой вопрос в том, как это обычно выполняется. Это просто вопрос помещения...
664 просмотров
schedule 13.04.2023

Замена двух указателей int в сборке x86
Я хочу поменять местами два указателя int. Я могу сделать это на C, как это void swap(int* a, int* b) int temp = *a; *a = *b; *b=temp; Теперь я пытаюсь сделать это на ассемблере, но, терпите меня, я не понимаю, почему это не...
2631 просмотров
schedule 10.09.2022

Ключевое слово Pascal и cdecl на языке C
Вопрос интервью вызывает у меня сильное замешательство, т.е. давайте посмотрим эту программу. #include "stdio.h" int main() { static int a=25; void cdecl conv1(); void pascal conv2(); conv1(a); conv2(a); return 0; } void...
1928 просмотров
schedule 02.11.2022

Определение количества байтов, разделяющих esp и сохраненный адрес возврата в стеке программы
Я не могу найти ответ. Из того, что я читал,% ebp имеет 32 бита, перемещая% esp в% ebp, у вас все равно будет 32 бита, затем вычтите 70 из 32, а остальное я не понимаю. Я новичок в этом, поэтому я не очень разбираюсь. Пожалуйста, дайте подробное...
977 просмотров
schedule 21.12.2022

Куча повреждена: при вызове неуправляемой функции
Я вызываю неуправляемую и очень простую функцию С++ (расположенную в JNIDiskInfoDll.dll ) из управляемой С# следующим образом: C++: #include "stdafx.h" #include "AtaSmart.h" #include <iostream> #include <string.h> extern "C"...
2237 просмотров
schedule 12.09.2022