原创 为AM335x移植Linux内核主线代码(29)const修饰符的位置

2015-1-26 11:51 859 10 10 分类: MCU/ 嵌入式 文集: Linux Kernel的DTS

在编写U-Boot的时钟结构体:
        u32 *const clk_domains[]
        u32 *const clk_modules_explicit_en[]
时会发现const的位置在*之后,而不是在前面。

http://blog.163.com/pei_hua100/blog/static/805697592009550281616/
=================================================
const *char cp; // cp is a const pointer to char
const char *p; // p is a pointer to const char
char const *p; // same as the second one

再来看下面的语句:
struct cm_perpll *const cmper_my = (struct cm_perpll *)CM_PER;
uint32_t *const clk_modules_my[] = {
        &cmper_my->lcdclkctrl,
        0,
};

它们要放在函数中,而不是作为全局变量。
当然,一定要作为全局变量也可以,只要注意“全局变量的值要在执行时确定,而不能在编译时确定”。
 

PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
EE直播间
更多
我要评论
0
10
关闭 站长推荐上一条 /3 下一条