سؤال

والكتابة التطبيقات الوطنية بسرعة، مع مكالمات API وغيرها، في منصة عبر لغة البرمجة الحديثة مثل C # ستكون رهيبة، لن ذلك؟ على سبيل المثال إذا كنت تريد أن تكتب أداة بسيطة لمساعدة الناس IT مع تركيب الأشياء، التي لن تحتاج مكونات أخرى، في لغة برمجة سهلة وحديثة؟ أو إذا كنت تريد أن تكتب لعبة 3D، ينبغي أن يكون سريع، وسوف JIT جعل مجرد أنها أبطأ ...

لماذا، لماذا ليس هو ممكن؟ لماذا لا توجد لغات البرمجة الحديثة الأصلي لهذه الأشياء؟

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

المحلول

وC # و. NET <م> هي التعليمات البرمجية الأصلية. أعتقد أنك تسيء فهم غضب. انها ليست VM. يتم ترجمة برنامج C # التعليمات البرمجية الأصلية تماما قبل تنفيذ أي منها.

والآن، "تحتاج إلى المكونات الأخرى" الجزء هو مصدر قلق. اعطائها الوقت، وإن كان. سوف يكون من الصعب العثور على تثبيت ويندوز في هذه الأيام دون ما لا يقل صافي 2.0، وتشمل حتى بضعة توزيعات لينكس السائدة أحادية من خارج منطقة الجزاء.

نصائح أخرى

لا تحمل JIT يجعل الأمور أبطأ. وJIT يمكن أن أمثل للكمبيوتر المحدد تشغيل التطبيق بدلا من جهاز كمبيوتر عام مثل 386 أو بنتيوم. يمكن أن يجعل أفضل سرعة / ذاكرة القرارات مفاضلة عند إنشاء شفرة لأنه يعرف تماما ما هو متاح. وإذا JIT لا يزال يجعل الأمور أبطأ، يمكنك NGEN لهم بحيث JITting يتم كل مسبقا.

وكدليل على ذلك، نعتبر أن <لأ href = "http://channel9.msdn.com/posts/TheChannel9Team/Scott-Currie-Demo-of-Quake-on-NET/؟Page=2" يختلط = "noreferrer"> وقد استدار الزلزال إلى CLR بضع مرات، وفي بلدي التجارب الشخصية، ولقطة في الثانية كانت أسرع عند تشغيل الزلزال على CLR حوالي نصف الساعة I التجريبي ذلك.

وقد ثبت

والبرامج المترجمة .NET لتشغيل فقط في أسرع وقت C. إذا كنت تريد ذلك فائقة العجاف الكتابة في التجمع من أجل معالج طنك.

ويمكنك استخدام أداة مايكروسوفت NGEN.EXE لخلق صورة أصلية من تجميع .NET. انظر MSDN NGEN الوثائق . مايكروسوفت بالفعل على الرغم حول ما الذي تحصل عليه في هنا.

أيضا يجعل

ILMERGE. أداة EXE لدمج ملفات متعددة في واحد التجمع. قد الحدود هذا لتحسين وتسريع للغاية.

وكملاحظة جانبية، مونو لديها قبل كامل من الزمن بجمع، والقضاء على وقت التشغيل. (أعتقد أن هذه هي الطريقة التي الابتعاد يعمل على اي فون، الذي يحظر أي JIT).

وهكذا، هل هذا يعني أننا يمكن أن تجمع بشكل كامل وربط C # البرنامج باستخدام (محدود). NET يدعو إلى EXE مستقل من شأنه أن يعمل بدون. NET التي يتم تركيبها على الإطلاق؟

وFYI: فحص العقارات خادم حوالي 5000 خوادم كشف عن 200 حتى دون الصافي 2.0

وهذا يسبب مشاكل للالتعليمات البرمجية التي يجب أن تعمل على "جميع الحالات ويندوز". مع صافي 4.0+ ليس بما في ذلك 2.0 هذا يحصل أسوأ على حد سواء أجهزة ويندوز الجديدة والقديمة قد لا يكون "حق". NET

وهناك، C. C يمكن استخدامها لإرسال أي تطبيق، من أي وقت مضى!

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