نقل قول:
آقای احمدی در اینجا منظور فقط DLLها نیست بحث انتقال CLR هم هست در اونصورت چی ؟
میشه CLR رو هم آورد ؟
من که خدوتون عرض کردم CLR برای چی استفاده میشه و حتی چطور فراخوانی میشه. اول که برنامه می خواد اجرا بشه خط حاوی JMP _CorExeMain با فراخوانی متد _CorExeMain (ویا معادل اون _CorDllMain) باعث میشه که CLR اجرا بشه. بنابراین با حذف این خط دیگه CLR اجرا نخواهد شد. پس می تونید خودتون می تونید قسمت اجرای CLR رو از یه فایل حذف کنید. البته به این ترتیب باید کاری کنید که فایل نیازی به CLR نداشته باشه.
نقل قول:
در ضمن میشه آدرس فایل Ngen.exe رو هم بفرمائید ؟ با VS نصب میشه یا باید جداگانه اونو گرفت ؟
با .NET Framework عرضه شده. یعنی اگر الان روی سیستم شما .NET نصبه، پس این فایل رو هم دارید. برای دسترسی به اوون هم می تونید از Visual Studio Command Prompt استفاده کنید. برای آدرسش هم توی فولدری که ویژوال استودیو نصب شده اسم این فایل رو سرچ کنید.
نقل قول:
اگر یکم مطالب بیشتر در اینباره بذارید خیلی ممنون میشیم.
سعی می کنم که در اولین فرصت چند مقاله ای رو قبلا در این سایت در رابطه با معماری .NET و مدیریت حافظه در اون، گذاشته بودم رو به صورت PDF اینجا Upload کنم، تا اگر دوست داشتید بتونید استفاده کنید.
نقل قول:
در حالت کلی همه شما میدونید که به غیر از کامپیوتر برنامه نویسان .net در هیچ کامپیوتری framework نیست یعنی تقریبا 90 %
و کمتر کسی خوشش میاد که یک برنامه 50 یا 60 مگابایتی را نصب کنه تا یک برنامه یک مگابایتی بالا بیاد یعنی واقعا دور از اقله
و حالا یک سوال پس این install shield چطوری میتونست framework را در برنامه جای بده
کی گفته که فقط توی کامپیوتر ماها .NET Framework نصبه؟ .NET Framework به صورت پیش فرض با ویندوز XP SP2 نصب میشه. در ضمن احتمال زیادی داری که یکی از برنامه ها قبلا اوون رو نصب کرده باشه.
شما این فکر رو نمی کنید که میشه با نصب یه برنامه ی 30 یا 40 مگابایتی، هر برنامه ای که با .NET نوشته میشه رو به راحتی XCOPY به یه سیستم دیگه منتقل کرد. با استفاده از این روش مزایایی برای افرادی که از برنامه استفاده می کنن به وجود می یاد که واقعا غیر قابل چشم پوشیه! مثالا اینکه به راحتی با حذف فولدر برنامه می تونن برنامه رو با کل اطلاعات اوون از سیستم حذف کنن، بدون اینکه فایلی از اوون توی سیستم باقی بمونه.
نقل قول:
پس با این اوصافی که گفتن نرم افزارXenoCode مستقیما کد زبان ماشین رو تولید می کنه؟؟ این درسته؟؟ خوب پس بحث dll ها یک جورایی منتفی هستش چون حتما نیاز به CLR هست؟
بله، کاری که این نرم افزار میکنه اینه که کد برنامه و کد فایلهای DLL ای که به وسیله ی اون برنامه مورد استفاده قرار گرفته رو به کد نیتیو تبدیل میکنه به این ترتیب نیاز به JIT و GC از بین میره. منظورتون رو از اینکه دیگه DLL ها منتفی هستند رو متوجه نشدم.
نقل قول:
حالا چطور می شه MIL رو به کد ربان ماشین تبدیل کرد؟ فکر کنم باید دنبال جواب این سوال بگردیم؟(البته من که نه استادای اینجا)
گفتم که، برای این کار می تونید از ngen استفاده کنید. این برنامه مسئول تولید کد نیتیو از کدهای IL هست.
نقل قول:
آقای once4ever من در مورد کل برنامه نویسی صحبت کردم هیچ زبان برنامه نویسی چه تحت وب چه app به سادگی و قدرت و راحتی php نیست من از این لحاظ گفتم
بهتره مسیر بحث رو عوض نکنیم. ممنون
نقل قول:
در مورد برنامه های .net هم این بزگترین ضعف .net هستش
میدونم محیط .net خوبه قدرتش زیاده از هر لحاظ خیلی خوبه ولی این قضیه framework خیلی افتضاه
من نمی دونم چرا شما فکر می کنید که این یه افتضاحه؟ شما اصلا در مورد مزایایی که این سیستم داره چیزی می دونید؟ مزایای این روش چند برابر معایب اونه. البته عیب اون این طور که شما میگید اینکه باید به کاربر بگیم یه فایل 30 یا 40 مگابایتی رو نصب کن تا از این به بعد بتونی تمام برنامه هایی رو که با .NET نوشته می شن رو فقط با دریافت فایل exe ی اوون بتونی استفاده کنی.
نقل قول:
مایکروسافت خودش چیکار می کنه ؟
برنامه هایی که مایکروسافت میده بیرون چرا به دات نت فریم ورک نیازی نداره ؟
مایکروسافت به چه زبانی برنامه هاش رو می نویسه ؟ اونکه اینهمه روی دات نت سرمایه گذاری کرده چرا خودش تو برنامه هاش از دات نت فریم ورک استفاده نمی کنه یا شایدم استفاده می کنه ولی چون سورسش دست خودشه پس می تونه کاری کنه که نیازی به نصب دات نت فریم ورک نباشه .
برنامه هایی که مایکروسافت داده مثل Office یا VS یا ... معمولا قدیمیتر از .NET هستن و فکر کنم اونقدر بزرگ باشن که نشه به راحتی پلت فرم اونها رو تغییر داد. فکر کنم دلیل این مورد، همین باشه. ولی شما به سایتهاش نگاه کنید، تقریبا همه به .NET منتقل شدن.