我想在Mac OS X 10.6上編譯一個簡單的DLL,並且對正確聲稱DLL提供給世界使用的函數的方法感到困惑。以下從可靠的來源示例代碼,我想出了:在Mac OSX上導出DLL函數的正確方法
__declspsec(dllexport) pascal int ReturnTheNumberFive(void)
但它GCC barfs。示例代碼實際上是MACPASCAL和DLLExport,我認爲它們是宏。我仔細查看了#define的示例代碼,SDK等,並插入了我發現的內容。這些定義本可以埋在#ifs裏面,所以我發現它並不好,不真實。不合邏輯的是,如果我只是做明顯的並使用DLLExport和MACPASCAL,編譯器也會發出警告,所以這是無法解決的。
使應用程序可以使用DLL的函數的正確方法是什麼?
在Mac上,一個 'DLL' 不叫DLL;該文件本身被稱爲'.dylib',並且通常嵌入在'.framework'中。這不僅僅是對術語的挑剔......我猜想沒有社區中常用的詞語,對於信息來說,Google很難!所以,從現在起請使用'dylib'和'framework'這個詞。 – Yuji
我們這些突然發現自己處於Mac編程世界的人是一個真正解釋所有這些新手指南。現在,它是一些零碎的東西,比如你的評論。 – DarenW