نمایش نتایج 1 تا 34 از 34

نام تاپیک: نوشتن برنامه در ویندوز و اجرای ان در لینوکس

Hybrid View

پست قبلی پست قبلی   پست بعدی پست بعدی
  1. #1

    نقل قول: نوشتن برنامه در ویندوز و اجرای ان در لینوکس

    1)این API رو میشه تعریف کنید؟
    1- کلمه API یعنی Application Program Interface یا همان "رابط برنامه کاربردى" برای ارتباط با سیستم عامل است که می تواند شامل رابط کاربری UI نیز باشد. پس در هر سیستم عاملی وجود دارد و مختص ویندوز نیست. بلکه فقط و فقط توسط سازنده سیستم عامل منتشر می شود.
    و او است که تصمیم می گیرد چطور آن ها را عرضه کند و چه زبان هایی را پشتیبانی کند.
    معمولا شرکت ها برای اینکه کاربران بتوانند از آن استفاده کنند کتابخانه ها و هدر فایل ها را منتشر می کنند بقیه در سیستم عامل وجود دارد.

    برنامه نویسی win32 چه جوریه؟
    2- کلمه win32 نامی هست که اکنون به آن windows API می گویند (چون برنامه نویسی را از 16 بیت تا 64 بیت پشتیبانی میکند)، ولی با توجه به محبوبیت همچنان نام win32 را برای برنامه نویسی API در ویندوز به کار می برند.
    سطح پایین ترین نوع و قوی ترین نوع برنامه نویسی در ویندوز هست. وقتی گفته می شود برنامه نویسی win32 API منظور همین نوع است که خود ویندوز بر اساس آن نوشته شده است و شامل رابط گرافیکی کاربر نیز هست.
    در برنامه نویسی MFC می توانید از کلاس های MFC استفاده کنید و یا مستقیم API های win32 را فراخوانی کنید و از آن ها استفاده کنید.

    حالا میخواستم ببینم همین برنامه هایی که به صورت ساده ماها مینوسیم چه نوعی محسوب میشن.
    به این برنامه های ساده ای که در محیط کنسول می نویسید، win32 console می گویند. که همان استفاده از windows API است فقط بدون رابط گرافیکی، اما سایر API های ویندوز و امکانات آن قابل استفاده است.

    در پست 4 و 5 تاپیک گرافیک در ++C/C ، دو مثال win32 با رابط گرافیکی گذاشته ام، مطالعه کنید و انجام دهید تا متوجه شوید؛ نوع پروژه win32 project است نه console:
    https://barnamenevis.org/showthread.php?t=103584

    کتابخانه iostream و سایر هدر ها مال چه کتابخانه ای هستند؟
    iostream و مانند آن برای استاندارد C و ++C هستند.

    3) آیا از MFC میشه توی محیط هایی مثل C#‎ هم استفاده کرد؟ یا اینکه C#‎ فقط از خود .net استفاده میکنه؟
    خیر از MFC نمی توانید.
    شما از win32 API می توانید در #C استفاده کنید. یعنی هر کتابخانه ویندوز را که می خواهید load کرده و توابع آن را استفاده کنید (که به اصلاح به این توابع API می گویند)

    4) این کلمه CLI یعنی چی که توی C++‎/CLI میادش؟ البته میدونم به معنی C++‎.net هست ولی چرا میگن CLI اصلا؟
    CLI یا همان Common Language Infrastructure که Infrastructure یعنی همان زیر ساخت، که در آن نیز CLR , CIL قرار دارد.
    اگر به C++‎این CLI را چسبانده اند برای آن است که مشخص شود همان زبان ++C استاندارد نیست، بلکه برای ارتباط با CLR است.

    از این عکس همه چیز مشخص می شود:


    در این لینک نیز توضیحان بیشتر:
    Standard ECMA-335

  2. #2

    نقل قول: نوشتن برنامه در ویندوز و اجرای ان در لینوکس

    5) وقتی که از .net هم توی C++‎ استفاده میکنیم آیا کد های نوشته شده در بستر همون محیط CLR اجرا میشن؟ یعنی همون مراحل تبدیل به کد MSIL و JIT روشون انجام میشه؟
    بله،
    اگر لینک آخری که برای استاندارد گذاشتم را مشاهده کرده باشید متوجه می شوید که CLI استانداردی هست که باعث می شود قوانین کامپایل و ترجمه و ... در آن بدون توجه به معماری و زبان برنامه نویسی در همه جا یکی باشد.

    6) در توضیحات بالا گفتین که .net از کتابخانه های مختص سیستم عامل ویندوز استفاده میکنه که این مورد باعث میشه برنامه های .net فقط روی ویندوز اجرا بشن، حالا فرضا یه شرکتی لیسانس .net رو اگر بخره چطور میتونه از اون توی سیستم عامل خودش استفاده کنه؟
    نه وابستگی کامل ندارند. شاید در موارد بالا کمی بد گفتم.
    مطمئنا نیاز نیست همه موارد پیاده سازی شوند، چون تمامی گرافیک، کنترل ها و غیره ... وابستگی به کنترل ها Native سیستم عامل ندارند و یک پیاده سازی جدید هستند، لذا باید بتوان آن موارد را با یک لیسانس به سیستم های دیگر منتقل کرد. (چیزی شبیه java)
    (هر چند که با توجه به اطلاعات منتشر شده هنوز هم در مورد این سوال اطلاع کاملا دقیق ندارم)

    فرق های دیگری که وجود دارد این است،
    - قوانین طراحی و specifications در اختیار شرکت قرار می گیرد تا همه چیز را بتوانند پیاده سازی کنند؛ کاری که mono نتوانست.

    - همواره نسخه های عرضه شده به روز خواهند بود، چرا که مایکروسافت آن ها را از سال ها قبل از تغییرات باخبر خواهد کرد.

    - و مطمئنا مایکروسافت کارهای دیگری خواهد کرد که ما از آن ها اطلاع نداریم...
    آخرین ویرایش به وسیله Nima_NF : پنج شنبه 30 آبان 1387 در 09:15 صبح

  3. #3
    کاربر دائمی آواتار محمدامین شریفی
    تاریخ عضویت
    شهریور 1386
    محل زندگی
    تهران - شیراز
    پست
    1,302

    نقل قول: نوشتن برنامه در ویندوز و اجرای ان در لینوکس

    و اما جواب من....
    این micro.net که همه avr ها رو پشتیبانی نمیکنه(حتی avr mega ها رو).

    با سپاس

برچسب های این تاپیک

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •