我正在尝试在 Mac OS X 10.6 上编译一个简单的 DLL,并且对声明 DLL 提供给全世界使用的函数的正确方法感到困惑。遵循来自可靠来源的示例代码,我想出了:
__declspsec(dllexport) pascal int ReturnTheNumberFive(void)
但是 gcc barfs 就可以了。示例代码实际拥有的是 MACPASCAL 和 DLLExport,我认为它们是宏。我浏览了#defines 的示例代码、SDK 等,并插入了我发现的内容。这些定义可能被隐藏在#ifs 中,所以我发现的并不是好的和真实的。不合逻辑的是,如果我只是做显而易见的事情并使用 DLLExport 和 MACPASCAL,编译器也会出错,所以这不是解决方案。
使应用程序可以使用 DLL 函数的正确方法是什么?