1

Mac OS X 10.6で単純なDLLをコンパイルしようとしていますが、DLLが世界中で使用できるように提供している関数を宣言する適切な方法について混乱しています。信頼できるソースからのサンプルコードに続いて、私は思いついた:

__declspsec(dllexport) pascal int ReturnTheNumberFive(void)

しかし、その上にgccbarfsがあります。サンプルコードが実際に持っていたのはMACPASCALとDLLExportで、これはマクロだと思いました。#definesのサンプルコードやSDKなどを調べて、見つけたものをプラグインしました。これらの定義は#ifs内に埋め込まれている可能性があるため、私が見つけたものは良くなく、真実ではありません。論理的には、私が明白なことをしてDLLExportとMACPASCALを使用すると、コンパイラーもバーフするので、それは解決策ではありません。

DLLの機能をアプリで利用できるようにする正しい方法は何ですか?

4

1 に答える 1

5

デフォルトでは、すべての記号はで表示されます.dylib。呼び出し規約の変更はありません(Pascalの呼び出し規約など)

つまり、要するに:

int ReturnTheNunmberFive(void) { return 6; }

于 2011-07-27T00:35:35.353 に答える