![]() |
1
0
注意这个问题忽略了从源代码库中提取源代码的相关信息,因此下面的答案不适用于这些文件中的源代码。似乎这两个定义中最多有一个是根据生成选项选择的,因此它们不会同时用于同一个生成中。
关于
|
![]() |
2
4
这两个定义对应于两个 不兼容配置
|
![]() |
3
0
|
![]() |
4
0
这不是重新定义。实现这里的意图的关键是
第二个定义没有
在实践中,有很多方法可以使用。前一个定义可能是在内核模式下使用的简短版本(特权内核代码),而后一个定义在用户模式下使用,例如处理系统调用的结果。
一般来说,只要链接器最多有一个对象可用,就允许多次定义过程(以防它需要解析对函数的引用,如函数调用)。你可以随心所欲地处理你的.c和.h文件,只要这个要求成立。如果你也知道如何使用
|
![]() |
Fnr · Linux内核配置官方文档 6 年前 |
![]() |
akmal · 当'ls*时,内部会发生什么。是否执行了“c”? 6 年前 |
![]() |
Jared · 强制copy\u to\u user()失败 6 年前 |
![]() |
bornfree · 了解Linux内核中每个条目的hlist_bl_ 6 年前 |
![]() |
Sector · 将参数传递给自己的execv内核实现 6 年前 |
![]() |
nickeys · 如何估计自旋锁打孔/等待时间? 6 年前 |