如何访问固定的内存位置?
生活随笔
收集整理的這篇文章主要介紹了
如何访问固定的内存位置?
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
訪問固定的內存位置(Accessing fixed memory locations)
【提問】 嵌入式系統經常具有要求程序員去訪問某特定的內存位置的特點。在某工程中,要求設置一絕對地址為0x67a9的整型變量的值為0xaa55。編譯器是一個純粹的ANSI編譯器。寫代碼去完成這一任務。
【參考答案】 這一問題測試你是否知道為了訪問一絕對地址把一個整型數強制轉換(typecast)為一指針是合法的。這一問題的實現方式隨著個人風格不同而不同。典型的類似代碼如下:
int *ptr;
ptr = (int *)0x67a9;
*ptr = 0xaa55;
一個較晦澀的方法是:
*(int * const)(0x67a9) = 0xaa55;
即使你的品味更接近第二種方案,但我建議你在面試時使用第一種方案。
【疑問】
1、第二種方法中,為什么要使用const?
2、為什么面試時建議使用第一種方案? 《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀
【提問】 嵌入式系統經常具有要求程序員去訪問某特定的內存位置的特點。在某工程中,要求設置一絕對地址為0x67a9的整型變量的值為0xaa55。編譯器是一個純粹的ANSI編譯器。寫代碼去完成這一任務。
【參考答案】 這一問題測試你是否知道為了訪問一絕對地址把一個整型數強制轉換(typecast)為一指針是合法的。這一問題的實現方式隨著個人風格不同而不同。典型的類似代碼如下:
int *ptr;
ptr = (int *)0x67a9;
*ptr = 0xaa55;
一個較晦澀的方法是:
*(int * const)(0x67a9) = 0xaa55;
即使你的品味更接近第二種方案,但我建議你在面試時使用第一種方案。
【疑問】
1、第二種方法中,為什么要使用const?
2、為什么面試時建議使用第一種方案? 《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀
總結
以上是生活随笔為你收集整理的如何访问固定的内存位置?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C语言位操作符的使用
- 下一篇: C语言中将绝对地址转换为函数指针以及跳转