یکسری نکات و ریزه کاری ها در برنامه نویسی 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;






قرار میگیرند به چه صورت میباشد؟

دیدگاه