当前位置:  技术问答>linux和unix

help啊help....

    来源: 互联网  发布时间:2015-03-10

    本文导语:  正在看一个LINUX的驱动,其中short.c的头部定义了如下的东西: #ifndef __KERNEL__ #  define __KERNEL__ #endif #ifndef MODULE #  define MODULE #endif 但我翻看了整个short.c都找不到哪里用到了__KERNEL__和MODULE. 还有,在Makefile中有: ...

正在看一个LINUX的驱动,其中short.c的头部定义了如下的东西:

#ifndef __KERNEL__
#  define __KERNEL__
#endif
#ifndef MODULE
#  define MODULE
#endif

但我翻看了整个short.c都找不到哪里用到了__KERNEL__和MODULE.

还有,在Makefile中有:
CFLAGS = -D__KERNEL__ -DMODULE -Wall $(DEBFLAGS)
这里面的-D__KERNEL__和-DMODULE是什么意思?有什么作用?

|
兄弟,这么个定义要在其他include的头文件中用到,并不是在你当前的C文件中用的。
第二个,我想也是在定义了__KERNEL__和MODULE
自己写个程序验证一下吧

|
#ifndef __kernel__
是说如果没有定义__kernel__,就定义#define __KERNEL__

如果不这样,如果有a1.c, 里面#include short.c
                  a2.c  里面#include short.c
如果有a3.c ,里面#include a1.c,#include a2.c
这样编译的时候就会说short.c中定义的东东重复定义

但是这样写上#ifndef __KERNEL__之后,就不会有这种问题了
因为a3.c在#include a1.c中定义了__KERNEL__,再#include a2.c时
#ifndef __KERNEL__(如果没有定义,就定义的意思)发现已经定义,就不会再定义了

哈哈,我该学习一下表达了,笨的要死,^_^



|
不过这种写法只是在.h中经常见到

    
 
 

您可能感兴趣的文章:

 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • java命名空间java.awt.event类keyevent的类成员方法: vk_help定义及介绍
  • help!!!help!!!help!!!help!!!help!!!help!!!help!!!
  • Help!!!!!!!!Help!!!!!!!!Help!!!!!!!!
  • 高手帮忙--HELP!HELP!HELP!!!
  • 100————>help,help
  • HELP!!HELP!!!
  • help!help!……关于双系统的问题
  • help help
  • 系统安装问题!Help、Help !
  • help! help! RAMDisk的制作, 100分
  • help help busy!!! 请问如何让一个进程进入dead状态或者编程实现让一个进程进入dead状态
  • 用PQ后,grub不好用了,help,help,
  • help,如何在vmware下安装iso的liunx.9.0呀,help
  • 【help】关于linux和windows 2000 pro 双系统的问题【help】
  • help,anybody,nobody,help?能帮帮忙吗?有人明白吗?还是我发过帖子的那个问题:(
  • 有关inetd.conf和xinetd.conf的问题!!!(help,help!!!)
  • HELP!HELP!!w2k与linux用网卡直连,怎么连?快急死了
  • 大家看看:有点纳闷,为什么linux下的参数那么多重复的?那么多求助的方式?比如一会儿用--help一会儿又是-help一会儿又变成/?了
  • help help busy!!! 知道进程的ID号,在程序里如何检查这个进程还在不在?
  • SCO UNIX & WIN2K help!!!急急急help,高分(30)
  • HELP....!!!HELP....


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3