Как заставить соглашение вызова cdecl для функций, объявленных в определенном заголовочном файле - PullRequest
7 голосов
/ 15 марта 2011

Привет Мой проект VC2008 использует соглашения о вызовах stdcall. У меня есть внешняя библиотека, которую я использую, которая была создана с соглашением об именах cdecl, однако они не упомянули соглашение о вызовах в объявлении функций функций.

Хотелось бы узнать, есть ли в VC какое-то ключевое слово #pragma или другое ключевое слово, которое будет вызывать конкретное соглашение о вызовах для всего заголовочного файла

вроде как трюк с внешним "C", но для соглашений о вызовах:

extern "C" 
{
#include <file1.h>
#include <file2.h> 
}

Кто-нибудь знает такое?

1 Ответ

4 голосов
/ 15 марта 2011

Вы можете указать соглашение о вызовах следующим образом:

  • Ничего не делать, и вы получите значение по умолчанию для cdecl.
  • Укажите __cdecl явно (или, возможно, с помощью макроса).
  • Выберите использование cdecl в модуле перевода, скомпилировав с /Gd.

Нет никакой прагмы или чего-то подобного для управления соглашением о вызовах.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...