یکسری نکات و ریزه کاری ها در برنامه نویسی C وجود دارد که بیان آنها می تواند مفید واقع شود و به دلیل کثرت پست های تاپیک کامپایلر IAR، این تاپیک را برای بیان این نکات و با محوریت کامپایلر IAR تشکیل می دهم. بخشی از موارد بیان شده از خاصیت های زبان C هستند و بخشی هم ممکن است به IAR مربوط شود. سوالات عمومی راجع به عملکرد کامپایلر IAR کماکان در تاپیک مربوط به آن قابل طرح است و این تاپیک برای بیان نکات برنامه نویسی تشکیل شده است.
اولین مورد برای شروع می تواند نحوه تعریف یک بایت و امکان دسترسی به تک تک بیت های آن باشد. در کد زیر:
فقط یک بایت در حافظه اشغال می شود که دسترسی به کل بایت از طریق نام flags_byte میسر است. اما از طریق struct تعریف شده در همان محلی از حافظه که flags_byte در آن قرار گرفته ( به دلیل استفاده از union) می توان به هر یک از بیت های آن هم دسترسی پیدا کرد. مثلا:
اولین مورد برای شروع می تواند نحوه تعریف یک بایت و امکان دسترسی به تک تک بیت های آن باشد. در کد زیر:
کد:
union { unsigned char flags_byte; struct { unsigned char Bit0:1, Bit1:1, Bit2:1, Bit3:1, Bit4:1, Bit5:1, Bit6:1, Bit7:1; }flags; };
فقط یک بایت در حافظه اشغال می شود که دسترسی به کل بایت از طریق نام flags_byte میسر است. اما از طریق struct تعریف شده در همان محلی از حافظه که flags_byte در آن قرار گرفته ( به دلیل استفاده از union) می توان به هر یک از بیت های آن هم دسترسی پیدا کرد. مثلا:
کد:
flags_byte=0x0f; flags.Bit0=0; flags.Bit5=1;
دیدگاه