当前位置: 首页 > news >正文

画网站 模板网站灰色 代码

画网站 模板,网站灰色 代码,WordPress社区论坛,5118站长网站1 Kconfig和Makefile 毫不夸张地说#xff0c;Kconfig和Makefile是我们浏览内核代码时最为依仗的两个文件。基本上#xff0c;Linux 内核中每一个目录下边都会有一个Kconfig文件和一个Makefile文件。Kconfig和Makefile就好似一个城市的地图#xff0c;地图引导我们去 认识一… 1 Kconfig和Makefile 毫不夸张地说Kconfig和Makefile是我们浏览内核代码时最为依仗的两个文件。基本上Linux 内核中每一个目录下边都会有一个Kconfig文件和一个Makefile文件。Kconfig和Makefile就好似一个城市的地图地图引导我们去 认识一个城市而Kconfig和Makefile则可以让我们了解一个内核目录下面的结构。在希望研究内核的某个子系统、某个驱动或其他某个部分时都 有必要首先仔细阅读一下相关目录下的Kconfig和Makefile文件。 分布到各目录的Kconfig构成了一个分布式的内核配置数据库每个Kconfig分别描述了所属目录源文档相关的内核配置菜单。在内核配置make menuconfig时从Kconfig中读出菜单用户选择后保存到.config的内核配置文档中。 在内核编译时主Makefile调用这个.config就知道了用户的选择。 假如想使这个驱动被编译则要修改Makefile文件因此需要添加新的驱动时需要修改的文件有两个:Kconfig,Makefile. 2 菜单组织结构 一般一个Kconfig文件表示的就是一个菜单一个菜单由多个菜单项组成,其格式如下: menu 菜单名      菜单项或菜单链接1   菜单项或菜单链接2   ...   菜单项或菜单链接n      endmenu   复制代码 其中菜单项就是指菜单的子菜单所谓菜单链接就是指链接到另一个Kconfig文件如此一下菜单就可以实现随意嵌套了. 例如: # drivers/Kconfig   menu Device Drivers   source drivers/base/Kconfig   source drivers/connector/Kconfig   source drivers/mtd/Kconfig   source drivers/of/Kconfig   source drivers/parport/Kconfig   source drivers/pnp/Kconfig   source drivers/block/Kconfig   source drivers/hello/Kconfig   config test     bool 提示字符串     default y     ...   endmenu    复制代码 2.1 菜单项 语法: config symbol   config options   复制代码 symbol为一符号就好像代码中的局部变量x一样,可用于后边的表达式中. 例如: config UEVENT_HELPER_PATH          string path to uevent helper          depends on HOTPLUG          default /sbin/hotplug          help         Path to uevent helper program forked by the kernel for         every uevent.   复制代码 上面菜单项的属性string表示菜单的类型每一个菜单项必须有一个类型. 注:每个config菜单项都会产生一个配置选项CONFIG_XXX, XXX即为symbol. 如上则会产生一个配置项:CONFIG_UEVENT_HELPER_PATH,此配置项的值记录在内核根目录下的隐藏文件.config内 例:~/WORKING_DIRECTORY/kernel/goldfish/.config文件内. 2.2 菜单链接 菜单链接的格式如下: source 路径   复制代码 如: source drivers/pnp/Kconfig   复制代码 2.3 菜单属性2.3.1 类型 类型可以是:bool、tristate、string、hex和int。 bool类型的只能选中或不选中选中为y,不选中为n. tristate类型的菜单项为值可为三种值多了编译成内核模块的选项。其值可为y,n,m. string类型表示需要用户输入一串字符串。 hex类型则需要用户输入一个16进制数。 int类型表示用户输入一个整型. 总结: 菜单类型属性就好比一个控件bool相当于单选框trstate相当于有三种状态的复选框string相当于供用户输入字符串的文本编辑框hex相当于供用户输入16进制数的文本编辑框而int就相当于供用户输入整型数的文本编辑框。 类型关键字后边可跟随提示字符也可以不跟随,取决于情况。如 string path to uevent helper   复制代码 bool Prevent firmware from being built 复制代码 注:每一个菜单项必须有类型属性。 2.3.2 默认值 默认值属性default一般在类型属性后边如: config UEVENT_HELPER_PATH       string path to uevent helper       default /sbin/hotplug   复制代码 表示当前菜单项若用户没有选择或输入任何值时所取的默认值.上述所示为当前的默认值为/sbin/totplug. 2.3.3 依赖 依赖可以是depends on或requires. 语法: depends on/requires expr 复制代码 expre为表达式可为之前定义的菜单项名. 如: depends on HOTPLUG   复制代码 表示此菜单项显示与否取决于另外一个菜单项HOTPLUG 只有当菜单项HOTPLUG这个菜单项有效显示当前菜单项才会显示。 例如: config MODULES         bool Enable loadable module support         config MODVERSIONS         bool Set version information on all module symbols         depends on MODULES             comment module support disabled         depends on !MODULES    复制代码 菜单项MODVERSIONS的显示与否取决于菜单项MODULES。这种信赖关系常用在子菜单项中。 2.3.4 选择 语法: choice      选择项      ..      endchoice 复制代码 2.3.5 提示 语法: comment 提示信息字符串   comment选项   复制代码 comment只是用来给用户提示信息的后跟字符串此字符串也可以在终端中显示。 comment选项只可以是deponds on。 2.3.6 帮助 语法: help/---help--- 字符串   复制代码 例如: config EXTRA_FIRMWARE_DIR       string Firmware blobs root directory       depends on EXTRA_FIRMWARE !        default firmware       help         This option controls the directory in which the kernel build system         looks for the firmware files listed in the EXTRA_FIRMWARE option.         The default is the firmware/ directory in the kernel source tree,         but by changing this option you can point it elsewhere, such as         the /lib/firmware/ directory or another separate directory         containing firmware files.   复制代码 help相当于注释一样在给编辑Kconfig文件的人看的这样可以保持其可读性. 3 举例 Kconfig: # drivers/Kconfig      menu Device Drivers      source drivers/base/Kconfig      source drivers/connector/Kconfig      source drivers/mtd/Kconfig   ...   endmenu   复制代码 其对应的make menuconfig界面如下图所示:  source drivers/base/Kconfig中的Kconfig内容如下:即对应着上图中的第一项Generic Driver Option的子菜单内容: 这里不再列出来 显示效果如下图所示:   各个目录下的Kconfig文件经过最终配置最终会在内核根目录下生成一个.config文件这是个隐藏文件这个文件记录着各个选项的配置及值。供Makefile文件使用. 使用命令ls -al可看到 如: .config: #   # Automatically generated make config: dont edit   # Linux kernel version: 2.6.29   # Thu Dec 15 21:15:25 2011   #   CONFIG_ARMy   CONFIG_SYS_SUPPORTS_APM_EMULATIONy   # CONFIG_GENERIC_GPIO is not set   CONFIG_GENERIC_TIMEy   CONFIG_GENERIC_CLOCKEVENTSy   CONFIG_MMUy   # CONFIG_NO_IOPORT is not set   CONFIG_GENERIC_HARDIRQSy   CONFIG_STACKTRACE_SUPPORTy   CONFIG_HAVE_LATENCYTOP_SUPPORTy   CONFIG_LOCKDEP_SUPPORTy   CONFIG_TRACE_IRQFLAGS_SUPPORTy   CONFIG_HARDIRQS_SW_RESENDy   CONFIG_GENERIC_IRQ_PROBEy   CONFIG_RWSEM_GENERIC_SPINLOCKy   # CONFIG_ARCH_HAS_ILOG2_U32 is not set   # CONFIG_ARCH_HAS_ILOG2_U64 is not set   CONFIG_GENERIC_HWEIGHTy   CONFIG_GENERIC_CALIBRATE_DELAYy   CONFIG_GENERIC_HARDIRQS_NO__DO_IRQy   CONFIG_VECTORS_BASE0xffff0000   CONFIG_DEFCONFIG_LIST/lib/modules/$UNAME_RELEASE/.config   复制代码 每一个CONFIG_xxx记录着之前Kconfig文件内的菜单项的值.
http://www.huolong8.cn/news/189479/

相关文章:

  • 昆明做网站公司有哪些哈尔滨网站优化推广公司
  • 网络营销推广为什么效果不好济南好的seo
  • 培训网页seo上词价格
  • 公司注销后网站备案吗wordpress 链接扁平化
  • 热水器网站建设 中企动力马克飞象 wordpress
  • 电影网站标题怎么做流量多新都区建设局网站
  • 营销型网站如何建设wordpress跳转设置
  • 哪些网站可以做淘宝推广免费网站app软件
  • 网站和网址有什么不同百度后台登陆入口
  • 众筹网站怎么做成都外贸网站建设
  • 连云港网站建设的公司叮当快药网站谁做的
  • 网站上传空间的ip地址网址转app制作生成器
  • 网站后台中文模板有做喜糖的网站吗
  • 做的比较好的车载嗨曲网站网站开发感受
  • wordpress生成站点地图郭仓镇做网站
  • 如何建设网站app德网站建设
  • 营销型网站建设 多少钱seo技术建站
  • 深圳市公司网站建设平台全屋定制十大名牌排行最新
  • 广西梧州为什么不能去郑州网站优化哪家专业
  • 天津市建设工程质量安全监督管理总队网站输入关键词搜索
  • 收费电影网站怎么做淘宝优化标题都是用什么软件
  • 建设机械网站策划兰溪市城乡建设局网站
  • 网站建设项目策划书范文合肥室内设计工作室
  • 医美的网站主页怎么做企业信息系统包括
  • 西安专业承接网站搭建模板小程序模板开发教程
  • 自己做的网站如何制作后台人才网站怎么做
  • 电商类网站开发方案去掉wordpress谷歌字体
  • 企业网站宣传建设html所有代码大全
  • 怎么自己做代刷网站电商网站开发流程文档
  • php网站开发需要学什么jsp网站开发的参考文献