در ادامه قسمت قبلی روشهای زیادی جهت اضافه شدن یک ماژول به یک اسمبلی وجود دارند. اگر شما از کامپایلر سیشارپ برای ساخت یک فایل PE با جدول مانیفست استفاده میکنید، میتوانید از سوئیچ AddModule/ استفاده کنید. برای اینکه بدانیم چگونه میتوان یک اسمبلی چند فایله ساخت بیاید فرض کنیم که دو فایل سورس کد با مشخصات زیر داریم: RUT.cs: این سورس شامل کدهایی است که به ندرت در برنامه استفاده میشود. FUT.cs: این سورس شامل کدهایی است که ...
ترکیب ماژولها به قالب یک اسمبلی فایل
Program.exe یک فایل PE با جداول متادیتا است که همچنین یک اسمبلی هم
میباشد. یک اسمبلی مجموعهای از یک یا چند فایل، شامل تعاریف نوع و منابع
(ریسورس) میباشد و یکی از فایلهای اسمبلی، برای نگهداری manifest انتخاب
میشود. این جدول مجموعهای است از جداول متادیتا که به طور کلی شامل نام فایلهایی است که قسمتی از اسمبلی را تشکیل میدهند. برای همین گفتیم که CLR با
اسمبلیها کار میکند. اب ...
متادیتاها شامل بلوکی از دادههای باینری هستند که شامل چندین جدول شده و جدولها نیز به سه دسته تقسیم میشوند: جداول تعاریف Definition Table جداول ارجاع References Table جداول manifest
جداول تعریف
جدول زیر تعدادی از جداول تعریفها را توضیح میدهد: ModuleDef شامل آدرس یا مدخلی است که ماژول در آن تعریف شده است. این آدرس شامل نام ماژول به همراه پسوند آن است؛ بدون ذکر مسیر. در صورتی که کام ...
انتشار نوعها (Types) به یک ماژول
در این قسمت به نحوهی تبدیل سورس به یک فایل قابل انتشار میپردازیم. کد زیر را به عنوان مثال در نظر بگیرید: public sealed class Program {
public static void Main() {
System.Console.WriteLine("Hi");
}
}
این کد یک ارجاع به نام کنسول دارد که این ارجاع، داخل فایلی به نام mscorlib.dll قرار دارد. پس برنامهی ما نوعی را دارد، که آن نوع توسط شرکت ...
در سلسله مقالات قبلی ما فصل اول از بخش اول را به پایان بردیم و مبحث آشنایی با CLR و نحوهی اجرای برنامه را یاد گرفتیم. در این سلسله مقالات که مربوط به فصل دوم از بخش اول است، در مورد نحوهی ساخت و توزیع برنامه صحبت میکنیم.
در طی این سالها ویندوز به ناپایداری و پپیچیدگی متهم شده است. صرف نظر از این که ویندوز شایستگی این اتهامات را دارد یاخیر، این اتهامات نتیجهی چند عامل است: اول از همه برنامهها از dll هایی ...
در اولین قسمت این سری، گیت و در قسمت دوم ، SVN را بررسی کردیم؛ در این مقاله قصد داریم یک جمع بندی از این دو مقاله داشته باشیم. احتمالا در مورد این دو سیستم حرفهای زیادی شنیدهاید و احتمالا بیشتر آنها در مورد گیت نظر مساعدتری داشتهاند؛ ولی تفاوتهایی بین این دو سیستم هست که باید به نسبت هدف و نیازی که دارید آن را مشخص کنید. یکی از اصلیترین این تفاوتها این است که svn یک سیستم مرکزی است؛ ولی گیت اینگونه نیست که در ادامه تفاوت این ...
در قسمت قبلی ، اهمیت استفاده از سیستمهای کنترل نسخه را بیان کردیم و مفاهیم پایهای گیت را مورد بررسی قرار دادیم. در این قسمت مفاهیم پایهای SVN را مورد بررسی قرار میدهیم. SVN مخفف عبارت SubVersion هست و یک سیستم کنترل نسخهی رایگان و متن باز است که توسط شرکت کلاب نت حمایت میشود. به تعدادی از این سیستمها، سیستمهای «مدیریت پیکربندی نرم افزار» (Software Configuration Manager (SCM هم اطلاق میشود. در این سیستم فا ...
در این مقاله با دو سیستم
کنترل نسخه git و SVN آشنا شده و تفاوتهای آنها را برای تازهکاران بررسی میکنیم. ایده
اولیه نوشتن این مقاله زمانی بود که برای یک پروژهای، اعضای تیم ما دور هم
جمع شده و در مورد ابزارهای مورد استفاده بحث کردند و یک عده از گیت و
عدهای از SVN صحبت میکردند. بر این شدم که مقالهای نوشته و ابتدا به
معرفی آنها و سپس به مزایا و معایب هر کدام بپردازیم.
امروزه، استفاده از سیستمهای ک ...
NPAPI این عبارت مخفف Netscape Plugin Application Programming Interface هست و یک پلاگین چندسکویی است که بسیاری از مرورگرها از آن استفاده میکنند. معماری این پلاگین ابتدا در سال 1995 برای مرورگر netscape نسخه 2 آن توسعه پیدا کرد. ولی رفته رفته توسط دیگر مرورگرها هم استفاده و پیاده سازی شد و البته تعدادی هم بعدها استفاده از آن را رها کردند و از فناوریهای دیگری استفاده کردند. کار این پلاگین تعریف یک سری ContentType مانند ...
ورود سیستمهای ORM مانند EF تحولی عظیم در در مباحث کار و تغییرات بر روی دادهها یا Data Manipulation بود. به طور خلاصه اصلیترین هدف یک ORM، ایجاد فرامین شیء گرا به جای فرامین رابطهای است؛ ولی در این بین نکات دیگری هم مد نظر گرفته شدهاست که یکی از آنها پشتیبانی از چندین دیتابیس هست تا توسعه گران از یک سیستم واحد جهت اتصال به همهی دیتابیسها استفاده کنند و نیازی به دانش اضافه و سیستم جداگانهای برای هر دیتابیس نباشد؛ مانند ADO که در دا ...