ورود به حساب ثبت نام جدید فراموشی کلمه عبور
برای ورود به حساب کاربری خود، نام کاربری و کلمه عبورتان را در زیر وارد کرده و روی «ورود به سایت» کلیک کنید.





اگر فرم ثبت نام برای شما نمایش داده نمی‌شود، اینجا را کلیک کنید.









اگر فرم بازیابی کلمه عبور برای شما نمایش داده نمی‌شود، اینجا را کلیک کنید.





کاربران برچسب زده شده

نمایش نتایج: از 1 به 7 از 7
  1. #1
    2008/05/30
    41
    1
    h.v

    چند تا سوال ابتدايي در مورد Keil

    سلام
    چند تا سوال ابتدايي در مورد Keil دارم

    1-مفهوم __INLINE چي هست؟
    2-مفهوم "->" چي هست؟
    3-مفهوم Static ، extern،Volatile چي هستن؟

    كد نمونه :
    کد:
    __INLINE static void LED_Off (uint32_t led) {
    
     LPC_GPIO2->FIOPIN &= ~(led);         /* Turn Off LED */
    }
  2. #2
    2007/04/20
    كره زمين
    1,409
    78

    پاسخ : چند تا سوال ابتدايي در مورد Keil

    نگو کیل بگو برنامه نویسی زبان سی

    __INLINE
    همون بالا که برنامه رو معرفی میکنی زیر همون جا برنامه رو مینوسی و برات اجرا میکنه!
    extern
    قراره این زیر برنامه از بیرون کنترل بشه مثلا توابع داخل کتاب خونه ها از داخل main فراخوانی و استفاده میشن

    Static
    اطلاعات این تابع رو نگه دار و حذف نکن
    Volatile
    نمیدونم!

    اگه اشتباه گفتم خواهش میکنم اساتید اصلاح کنن!!!
    انجام پروژه هاي برنامه نويسي اندرويد
    [glow=red,2,300]نرم افزار نقشه هاي پاور کامپيوتر اندوريد[/glow]

    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت

  3. #3
    2008/05/30
    41
    1
    h.v

    پاسخ : چند تا سوال ابتدايي در مورد Keil

    با تشکر از آقاي فاريابي
    هنوز ج کامل رو نگرفتم ، لطفا دوستان اظهار نظر کنند.

    دو تا زير سوال ديگه !
    4-وقتي عبارت __INLINE رو بنويسيم ميشه در سطور قبل از تعريف تابع ازش استفاده کرد؟؟؟
    5-ممکنه دوستان در مورد سوال 3 دقيق تر توضيح بدين ، مثلا در کد بالا اگر Static رو ننويسيم و يا مثلا بنويسيم extern چه فرقي ميکنه؟
  4. #4
    2007/03/01
    تهران
    1,248
    207

    پاسخ : چند تا سوال ابتدايي در مورد Keil

    با سلام،

    اولا، همونطور که جناب محسن خان فاریابی فرمودن، اینا مربوط به برنامه نویسی C هستش، نه کامپایلر کیل......

    و اما، Volatile تعریفی است برای متغیر و یا تابعی که ممکنه در طول برنامه توسط عوامل مختلفی از جمله سیستم عامل، سخت افزار و غیره تغییر کنه ولی نباید توسط کامپایلر بهینه سازی ( Optimization ) بشه....

    Static هم متغیریه که در تابع خودش ممکنه تغییر کنه ولی با خروج از تابع مربوطه و فراخوانی مجدد تابع، آخرین مقدار خودش رو حفظ میکنه ولی در خارج از تابع مربوطه معتبر نیست....

    Extern هم مثل Static هستش، با این تفاوت که در خارج از تابع مربوطه هم معتبره و ممکنه مقدارش توسط عوامل دیگه هم تغییر کنه....

    این LPC_GPIO2->FIOPIN هم یعنی اینکه یه استراکچری هست به نام LPC_GPIO2 که یکی از زیر مجموعه هاش FIOPIN هست. لذا برای دسترسی به اون زیر مجموعه، اینطوری مینویسیم LPC_GPIO2->FIOPIN که میشه اینطوری هم نوشت LPC_GPIO2.FIOPIN .....

    ضمنا، Inline هم به کامپایلر میگه که عزیز دل برادر، این کد رو همینجا کامپایل کن و اجرا کن، مبادا ببریش یه جای دیگه تا لازم بشه از استک هم استفاده کنی! که این امر موجب افزایش سرعت اون قطعه کد خواهد شد. اما در نظر داشته باشید که حجم کد رو افزایش خواهد داد....

    مادامی که از شخصی یاد میشود، او و افکارش زنده اند ....

    Sh_Nourbakhsh@Yahoo.com

    http://s2.picofile.com/file/7170362468/_Wall_e_.jp
  5. #5
    2007/04/20
    كره زمين
    1,409
    78

    پاسخ : چند تا سوال ابتدايي در مورد Keil

    نقل قول نوشته اصلی توسط aivhl
    با سلام،

    و اما، Volatile تعریفی است برای متغیر و یا تابعی که ممکنه در طول برنامه توسط عوامل مختلفی از جمله سیستم عامل، سخت افزار و غیره تغییر کنه ولی نباید توسط کامپایلر بهینه سازی ( Optimization ) بشه....

    Extern هم مثل Static هستش، با این تفاوت که در خارج از تابع مربوطه هم معتبره و ممکنه مقدارش توسط عوامل دیگه هم تغییر کنه....
    ...


    "طول برنامه توسط عوامل مختلفی از جمله سیستم عامل، سخت افزار"
    چی اون تغیر میکنه؟
    اسمش؟
    متغیر هاش؟
    محلش؟

    "ممکنه مقدارش توسط عوامل دیگه هم تغییر "
    یعنی متغیر های این تابع به شکل عمومی تعریف میشن؟
    انجام پروژه هاي برنامه نويسي اندرويد
    [glow=red,2,300]نرم افزار نقشه هاي پاور کامپيوتر اندوريد[/glow]

    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت

  6. #6
    2007/03/01
    تهران
    1,248
    207

    پاسخ : چند تا سوال ابتدايي در مورد Keil

    نقل قول نوشته اصلی توسط محسن فاریابی
    "طول برنامه توسط عوامل مختلفی از جمله سیستم عامل، سخت افزار"
    چی اون تغیر میکنه؟
    اسمش؟
    متغیر هاش؟
    محلش؟

    "ممکنه مقدارش توسط عوامل دیگه هم تغییر "
    یعنی متغیر های این تابع به شکل عمومی تعریف میشن؟
    چرا اینطوری میخونیش اخوی؟! شاید هم من بد نوشتم


    و اما، Volatile تعریفی است برای متغیر و یا تابعی که ممکنه در طول برنامه توسط عوامل مختلفی از جمله سیستم عامل، سخت افزار و غیره تغییر کنه ولی نباید توسط کامپایلر بهینه سازی ( Optimization ) بشه....
    یعنی مقدار یه متغیر و یا تابع که از نوع Volatile هست، ممکنه که در روند اجرای برنامه، توسط سیستم عامل، سخت افزار و یا هر چیز دیگه ای تغییر پیدا کنه به همین دلیل و برای جلوگیری از خطا، نباید توسط کامپایلر در پروسه بهینه سازی شرایطش تغییر کنه ....


    "ممکنه مقدارش توسط عوامل دیگه هم تغییر "
    یعنی متغیر های این تابع به شکل عمومی تعریف میشن؟
    نخیر، یعنی اینکه، متغیری که از نوع Extern باشه، در اصل یک متغیر عمومی هستش که در تمام شرایط و توسط هر تابع دیگری ممکنه مقدارش تغییر کنه، حتی تابع خودش ....
    مادامی که از شخصی یاد میشود، او و افکارش زنده اند ....

    Sh_Nourbakhsh@Yahoo.com

    http://s2.picofile.com/file/7170362468/_Wall_e_.jp
  7. #7
    2007/06/09
    اردبيل خيابان ملت طبقه فوقاني بازار وليعصر سبلان الکترونيک
    406
    45

    پاسخ : چند تا سوال ابتدايي در مورد Keil

    براي فهميدن نوع Volatile تا انجايي که من فهميدم يک مثال ميزنيم

    متغيرهايي از نوع volatile متغيرهايي هستند که لزوما از طريق پردازش جاري تغيير نميآ*کنند. بنابراين ممکن است مقدار آنها توسط پردازش ديگر يا يک وقفه عوض شود، بدون آنکه کامپايلر متوجه باشد. براي جلوگيري از چنين خطايي، کلمه کليدي volatile در ابتداي تعريف متغير استفاده ميآ*شود، تا کامپايلر عمليات بهينهآ*سازي روي آن انجام نداده، و[glow=red,2,300] در هر بار فراخواني اسم متغير در طول برنامه، مقدار آن را از محل حافظه بخواند[/glow].
نمایش نتایج: از 1 به 7 از 7

موضوعات مشابه

  1. يه سوال ابتدايي برد مدار
    توسط pmc در انجمن مدارهای آنالوگ و مدارهای مجتمع
    پاسخ: 3
    آخرين نوشته: 2015/12/10, 16:00
  2. پاسخ: 9
    آخرين نوشته: 2014/12/01, 16:39
  3. يک سوال ابتدايي در مورد pcb
    توسط amin7023 در انجمن مدار چاپی (PCB)
    پاسخ: 4
    آخرين نوشته: 2013/07/19, 14:54
  4. چند سوال ابتدايي در مورد xmega
    توسط xhdix در انجمن XMEGA
    پاسخ: 1
    آخرين نوشته: 2013/03/29, 00:36
  5. سوال در مورد keil
    توسط farhad20524 در انجمن 8051
    پاسخ: 5
    آخرين نوشته: 2007/08/21, 17:35

کلمات کلیدی این موضوع

علاقه مندي ها (Bookmarks)

علاقه مندي ها (Bookmarks)

مجوز های ارسال و ویرایش

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