View Full Version : برنامه نويسي سطح كرنل با دلفي
FiACKER
دوشنبه 06 مهر 1388, 22:27 عصر
سلام
تا اونجا كه مي دونم با دلفي نمي شه برنامه نويسي سطح كرنل انجام داد و اين خيلي بده !
و باعثه مهاجرته برنامه نويس هاي دلفي به سي ++ مي شه.
ايا در نسخه هاي جديد دلفي هنوز امكاني براي اين كار قرار داده نشده ؟
ايا كامپوننت هايي براي اين كار هستند ؟
ايا با زبانه اسمبلي موجود در دلفي هم امكانه اين كار وجود نداره ؟ يا اينكه اصلاً كمپايلره دلفي اين اجازه رو نمي ده ؟
ممنون
vcldeveloper
دوشنبه 06 مهر 1388, 23:06 عصر
تا اونجا كه مي دونم با دلفي نمي شه برنامه نويسي سطح كرنل انجام داد و اين خيلي بده !
و باعثه مهاجرته برنامه نويس هاي دلفي به سي ++ مي شه.
این ربط چندانی به بد بودن نداره. کرنل ویندوز با C نوشته شده، تمامی Headerها، و مستندات DDK هم برای C هستند. دلفی یک ابزار RAD هست. RAD در برنامه سطح کرنل معنی نمیده. اساسا دلفی برای برنامه نویسی سطح کرنل ساخته نشده. برنامه نویس دلفی هم که بخواد برای کرنل ویندوز برنامه بنویسه، باید مسلط به C باشه. اگر قرار هست که این فرد به C مسلط باشه، توجیه چندانی نداره که بخواد این همه به خودش زحمت بده و با دلفی اون کد رو بنویسه.
ايا در نسخه هاي جديد دلفي هنوز امكاني براي اين كار قرار داده نشده ؟
نه، هیچ طرحی هم برای همچین کاری مطرح نشده.
ايا با زبانه اسمبلي موجود در دلفي هم امكانه اين كار وجود نداره ؟ يا اينكه اصلاً كمپايلره دلفي اين اجازه رو نمي ده ؟
ربطی به زبان برنامه نویسی نداره، بستگی به این داره که کامپایلر چه فایل خروجی تولید میکنه، و این فایل خروجی از چه کدهایی استفاده میکنه. برنامه های دلفی همگی بطور پیش فرض از System.pas استفاده می کنند، و این یونیت هم کدهای زیادی داره که از توابع User Mode ویندوز استفاده می کنند، و کدهای آن محدود به سطح کرنل نیستند.
یکی میتونه بیاد فایل System.pas را تغییر بده، و به دلخواه خودش بنویسه، و به زور درایور سطح کرنل هم تولید کنه، ولی همانطور که گفتم، دلفی برای همچین کاری ساخته نشده.
ايا كامپوننت هايي براي اين كار هستند ؟
یک کامپوننت یا ابزار چینی برای این کار بود، اسمش خاطرم نیست.
lord_viper
پنج شنبه 09 مهر 1388, 10:35 صبح
اسمش DDDK هست delphi developer driver kit که هدرهای DDK رو برای دلفی ترجمه کردن
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.