Re[3]: __stdcall в dll функциях
От: Loerosim  
Дата: 09.10.12 10:09
Оценка: +1
Здравствуйте, Erop, Вы писали:
E>Для extern "C" функции перегрузка недоступна, так что причина декорирования имён другая -- совместимость с тем, как это было принято делать в С.
E>А в С так принято было делать из соображений надёжности. Что бы тип декорирования имения, гарантировал тип соглашения о вызове...
И Вам спасибо за ответ. =) Я поработал с гуглом и просветился, что extern "C" защищает от name mangling, но при объявлении соглашений вызова уже имеет место быть decorations. Всё решил просто — через __cdecl, что по умолчанию. Иначе, как мне сразу подсказали, нужен def-файл.

PS: Странно, что dot-net C# загружал функции и работал с ними без проблем не зависимо от объявленного соглашения вызовов. А проблему удалось установить только при отладке в C++ проекте.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.