__KERNEL__ macro

转载 2013年12月03日 16:37:08

From:    http://blog.csdn.net/songcdut/article/details/8625041


  The __KERNEL__ macro is defined because there is programs (like libraries) that include kernel code and there is many things that you don't want them to include. So most modules will want the__KERNEL__ macro to be enabled.


When you compile your kernel, __KERNEL__ is defined on the command line. (in tree/kernel/Makefile---> KBUILD_CPPFLAGS := -D__KERNEL__)


User-space programs need access to the kernel headers, but some of the info in kernel headers is intended only for the kernel. Wrapping some statements in an#ifdef __KERNEL__/#endif block ensures that user-space programs don't see those statements.


 example:

in the user space ,if you want to include the header using ‘#ifdef __KERNEL__ XXXX', you should define the __KERNEL__.

/*为了引用kernel中的数据结构,我常用如下样式include那些服务于内核的头文件*/

#ifdef __KERNEL__
#include <linux/list.h>
#include <linux/mm.h>
#undef __KERNEL__


/*将两种类型的头文件隔离开来*/
#include <stdio.h>
#include <errno.h>


对于__KERNEL__举例:

#ifdef __KERNEL__
# define HZ        CONFIG_HZ    /* Internal kernel timer frequency */
# define USER_HZ    100        /* User interfaces are in "ticks" */
# define CLOCKS_PER_SEC    (USER_HZ)    /* like times() */
#else
# define HZ        100
#endif

在.config中:

CONFIG_HZ=100

故ISA-32中,HZ=100,而jiffies =10ms

相关文章推荐

__KERNEL__ macro

The __KERNEL__ macro is defined because there is programs (like libraries) than include kernel code ...

__KERNEL__ 宏作用是什么?

 这个宏在内核及应用程序代码中均能看到。它仅起到判断作用,而不是在实际的代码逻辑中被替换,就如之前讲的避免define重复定义的用法一样。但不同的是这个宏的目的并不是避免重复定义,那么这个宏到底...

The Detailed explanation of __initdata macro in linux kernel

The __init and __exit declarations are special kernel macrosdesigned to tell the kernel to flag thes...

一编关于MASM宏macro的用法

MASM宏使用总结导语MASM(Macro Assembler)是由微软公司提供的汇编工具,虽然有些年头了,但是仍然存在于 vc.net这样比较新的工具中。有很多汇编教科书以这个为对象,讲述了如何用汇...

VBA Macro 自动画图

Excel 画图 Sub AddCharts() Dim i, j, k, start As Integer Dim ch As ChartObject Dim ...

[editor]Source Insight编辑器的快捷键设置暨相关宏语言(Macro Language)的学习一

今天壁纸突然变成了一幅图,图里有句话:“人的乐趣之一就是去完成那些别人认为你完成不了的事”。所以就有了这篇博文。如果没有这句话,此篇博文还要晚上几天才能发出来。感谢百度壁纸软件予我醍醐灌顶(微笑脸)。...

宏汇编macro

一、宏汇编    宏定义是用一组伪操作来实现的。其格式是:    macro_name    MACRO    [dumny_parameter_list]  ...

ARM汇编伪指令 宏的用法详解(MACRO MEND)(转载)

宏是一段独立的程序代码,它是通过伪指令定义的,在程序中使用宏指令即可调用宏。当程序被汇编时,汇编程序将对每个调用进行展开,用宏定义取代源程序中的宏指令。 MACRO、MEND        语法格式:...

C++预处理命令#define宏(macro)展开的若干用法

提及#define,你会不会马上联想到自己时时用#define MAX 100用于标记一个数组的长度?这样做无非两个原因,一来,#define是编译时的宏展开,对运行时间毫无影响。其二,使用诸如MAX...
  • ajioy
  • ajioy
  • 2011-10-12 19:44
  • 6352

Excel macro note

 Sub Summary() '工作量汇总 startRow = 2 'start row startColumn = 3 'start column sheetsSum = Sheet...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)