Я пытаюсь скомпилировать простую DLL на Mac OS X 10.6, и меня смущает правильный способ объявления функции, которую предлагает DLL для всего мира.После примера кода из надежного источника я придумал:
__declspsec(dllexport) pascal int ReturnTheNumberFive(void)
, но gcc barfs на нем.То, что на самом деле представлял собой пример кода, было MACPASCAL и DLLExport, которые, как я предполагал, были макросами.Я просмотрел примеры кодов, SDK и т. Д. Для #defines и подключил то, что нашел.Эти определения могли быть похоронены внутри #ifs, поэтому то, что я нашел, не является хорошим и правдивым.Нелогично, компилятор также раздражает, если я просто делаю очевидное и использую DLLExport и MACPASCAL, так что это не решение.
Как правильно сделать функцию DLL доступной для приложений?