首页 > 代码库 > [原]__ASSEMBLY__的用途
[原]__ASSEMBLY__的用途
在Linux Kernel中有些constant需要被C code 跟 assembler共同使用
在用constant的時候,不能單方面給0x1000UL因為assembler無法看這東西。
但是C compiler卻可以。所以使用這個gcc feature.
讓C compiler看到的constant是0x1000UL.
而assembler看起來是0x1000.
6 | /* Some constant macros are used in both assembler and |
---|---|
7 | * C code. Therefore we cannot annotate them always with |
8 | * ‘UL‘ and other type specifiers unilaterally. We |
9 | * use the following macros to deal with this. |
10 | * |
11 | * Similarly, _AT() will cast an expression with a type in C, but |
12 | * leave it unchanged in asm. |
13 | */ |
ref.
[1] http://code.woboq.org/linux/linux/include/uapi/linux/const.h.html
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。