هل يمكننا استخدام وظائف WMAIN () مع محاميلات UNIX أو ستنجح فقط على Windows؟

StackOverflow https://stackoverflow.com/questions/2438297

سؤال

هل يمكننا استخدام وظائف WMAIN () مع محامرة يونيكس أو أنها ستعمل فقط على لنظام التشغيل Windows؟

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

المحلول

التواقيع القياسية الوحيدة ل main نكون:

int main(void);
int main(int argc, char *argv[]);

ومع ذلك، فإن التنفيذ القادم يمكن أن يوفر ملحقات / السماح بالتوقيعات الأخرى. لكن تلك ليست guranteed لتكون محمولة. wmain يشبه شيء ويندوز / مقابل. لا توجد فرصة كثيرة هذا سيعمل على * Nix / GNU GCC.

نصائح أخرى

ال wmain يوجد توقيع في Windows للتعامل مع وسيطات سطر الأوامر على الحرف الواسع. بشكل عام، في حين أن تطبيقات Windows تفضل UTF16، تفضل تطبيقات UNIX UTF8 لترميز سلسلة Unicode. UTF8 يستخدم منتظم char سلاسل الحرف، وبالتالي المعيار main الكفاه التوقيع لاتهام UNICDE UNIX.

إذا كنت ترغب في إنشاء تطبيق وحدة تحكم محمول لا يتطلب معلمات سطر الأوامر Unicode، استخدم main. وبعد إذا كنت بحاجة إلى معلمات سطر الأوامر Unicode، فأنت بحاجة إلى توجيهات مسبقة مسبقا والتي ستمكن التوقيع المناسب لكل بيئة.

إذا كنت تقوم بتقديم تطبيق GUI عبر النظام الأساسي، فاستخدم إطارا خاصا مثل QT.

WMAIN () هو Windows الخاص. تماما مثل _tmain، إذا كان هذا يهم ...

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