سؤال

أنا أروي DLL الذي يحتاج إلى استخدام Portaudio.يستخدم كل أنواع مكتبات Windows للمقابس ومثله أيضا، لكن الرابط لن يتعرف على مكتبة Portaudio.ثم تذكرت Portaudio يستخدم __cdcel بدلا من __stdcall.عادة ما أود فقط استخدام __cdcel ويتم القيام به معها، لكن DLL أنا تجميع يحتاج إلى استخدام __STDCALL لأنني ذاهب لاستخدامه مع Visual Basic.

وإذا كان هذا المشروع يبدو وكأنه قليل من kludge لك، فهو.

هل كانت مفيدة؟

المحلول

غبي لي!كل ما علي فعله هو استخدام __cdcel وإعلان الوظائف المصدرة كما __stdcall!

نصائح أخرى

أفترض أنك بحاجة إلى استخدام __CDECL لأن Portaudio سيتصل ببعض الوظائف الخاصة بك؟ثم قم بإنشاء وظيفة داخلية معلنة __CDECL، قم بتمرير هذه الوظيفة إلى PortAudio، وتوفير وظيفة تصدير (معلنة __stdcall) التي تستدعي وظيفتك الداخلية.

لكنني نوع من التخمين في ما تحاول القيام به، يجب عليك تقديم مزيد من المعلومات.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top