start_kernel----smp_setup_processor_id(以及weak属性)
来源:互联网 发布:怎么在淘宝上做代销 编辑:程序博客网 时间:2024/05/16 02:07
在init/main.c中有定义
void __init __weak smp_setup_processor_id(void){}
这是一个__weak属性的空函数。
先了解一下__weak属性:
和gcc编译器相关:
weak属性可以让编译器在编译的时候忽略函数未定义的错误
弱符号:
若两个或两个以上全局符号(函数或变量名)名字一样,而其中之一声明为weak symbol(弱符号),则这些全局符号不会引发重定义错误。链接器会忽略弱符号,去使用普通的全局符号来解析所有对这些符号的引用,但当普通的全局符号不可用时,链接器会使用弱符号。当有函数或变量名可能被用户覆盖时,该函数或变量名可以声明为一个弱符号。弱符号也称为weak alias(弱别名)。
参考:
http://blog.chinaunix.net/uid-20593827-id-1918496.html
http://www.cnblogs.com/youthlion/archive/2011/12/01/2270680.html
源代码中不难发现:
有些架构比如arm是有自己的smp_setup_processor_id函数的,相当于上面所说的普通全局符号,这种情况下连接器就会忽略init/main.c中的smp_setup_processor_id函数。
而我使用的是x86架构,这时smp_setup_processor_id为空。
0 0
- start_kernel----smp_setup_processor_id(以及weak属性)
- smp_setup_processor_id
- weak symbol属性
- start_kernel()分析(一)
- start_kernel
- start_kernel
- start_kernel
- start_kernel
- start_kernel
- start_kernel
- start_kernel()
- @property的属性weak nonatomic strong等介绍(ios)
- @property的属性weak nonatomic strong等介绍(ios)
- 内核源码--------smp_setup_processor_id()
- __attribute__ 之weak,alias属性
- weak reference 与assgin属性
- weak reference 与assgin属性
- _attribute__ 之weak,alias属性
- 信托购买高搜索产品容易推10元[奥运]门槛
- 边走边学Nodejs (基础入门篇)
- 音频信号处理——基音周期
- ActiveMQ 安装
- JQuery+ HightChart+Ajax
- start_kernel----smp_setup_processor_id(以及weak属性)
- 使用苹果的地图与定位
- 在LAMP环境下搭建JSP动态网页
- STL学习之deque
- 【Leetcode】House Robber
- phpcms浏览入口端两个访问的示意图
- 用caffe在notebook(gpu/cpu性能有限)上训练数据出现的错误
- HTML5的全局属性
- 图像梯度的定义及应用