linux menuconfig搜索,linux系统menuconfig解析

linux menuconfig搜索,linux系统menuconfig解析在对linux进行编译,常用的命令是makemenuconfig,使用图形界面来对整个系统进行裁剪;这里主要就makemenuconfig的执行过程进行解析。介绍跟makemenuconfig这个命令相关的文件,包括三类,包括.config,Kconfig,Makefile。为什么不说三个,而说三类呢?因为Kconfig和Makefile是配合使用的,在很多的子目录都存在,而.config只…

大家好,又见面了,我是你们的朋友全栈君。

在对linux进行编译,常用的命令是make menuconfig,使用图形界面来对整个系统进行裁剪;这里主要就make menuconfig的执行过程进行解析。

介绍

跟make menuconfig这个命令相关的文件,包括三类,包括.config,Kconfig,Makefile。为什么不说三个,而说三类呢?因为Kconfig和Makefile是配合使用的,在很多的子目录都存在,而.config只存在于根目录中。这三个文件的作用分别是:

Kconfig:定义了配置项

.config:对配置项进行赋值

Makefile:建立配置项的生成法则

三者的关系为:make menuconfig依赖于Kconfig进行系统可视化配置,Kconfig为可视化配置菜单;在可视化配置界面修改完相应配置之后,生成的配置项保存在.config文件里,即对不同的配置项定义的赋值;在系统中运行make的时候,Makefile会依赖于.config里的配置项的值对Makefile里相应的选项进行编译。

菜单选项

Kconfig里的菜单选项的添加通过menu和endmenu关键字来添加,主菜单名称通过mainmenu来命名;mainmenu “Linux Configuration”

menu “Power Management”

source pm/Kconfig

endmenu

如果有多级菜单的话,可以通过多级嵌套来实现,这里类似于if和fi关键字;如果当前menu下包含有其他路径下的Kconfig文件,则用source + 文件路径来调用该Kconfig文件;

变量配置

字符型变量,用关键字string;如果需要限制条件的话,通过if+限制条件来实现;config FRAMEWORK_DIR

string “FRAMEWORK directory”

default “../framework” if !WINDOWS_NATIVE

default “..\framework” if WINDOWS_NATIVE

bool和int型变量,分别通过关键字bool或者int来实现,对于bool类型变量,default值为n或者y,n表示no,y表示yes;config DEFAULT_SMALL

bool “Default to smallest size”

default n

多选一窗口,通过choice和endchoice关键字实现;使用choice关键字的时候,需要定义prompt 和default 两个变量的值,前者为提示标签,后者为该多选一变量默认的初始值;choice

prompt “Build Host Platform”

default HOST_LINUX

config HOST_LINUX

bool “Linux”

config HOST_OSX

bool “OSX”

config HOST_WINDOWS

bool “Windows”

config HOST_OTHER

bool “Other”

endchoice

如果有依赖条件的话,通过关键字depends on实现,并列条件通过&&实现;config BUILD_KERNEL

bool “TinyAra kernel build”

depends on ARCH_USE_MMU && ARCH_ADDRENV && EXPERIMENTAL

select LIB_SYSCALL

help窗口,如果该条选项需要help窗口,则通过—help—关键字实现;—help—

Identifies the directory that builds the

application to link with TinyAra.  Default: ../apps This symbol must be assigned

to the path to the application build directory *relative* to

the TinyAra top build directory. If you had an application

directory and the TinyAra directory each in separate directory

trees like this:

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/138735.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • SpiderMonkey:Javascript引擎

    SpiderMonkey:Javascript引擎SpiderMonkey是Firefox和Mozilla的Javascript引擎。现在它可以被单独编译,也就是说你可以在你自己的应用程序中使用它。SpiderMonkey的下载地址是:http://ftp.mozilla.org/pub/mozilla.org/js/.它的源代码可以在多种平台上进行编译。在Windows平台下,按照下载文件中的readme文件中的提示,将会编译出一个Dll,然

    2022年10月16日
  • COM :IUnknown接口QueryInterface函数介绍

    COM :IUnknown接口QueryInterface函数介绍
    一、COM组件的目标:
    COM组件的一个主要优势是:便于升级。
    要实现这个优势需要满足一下两个条件:
    1、运行时从客户程序动态加载和卸载,采用DLL技术可以实现。
    2、为了更好的突出DLL的优势,还需要信息隐藏,即封装性。
    二、COM组件的信息隐藏采用IUnknown接口来实现:
          1、IUnknown接口功能简介:
    IUnknown意思是未知,即未知的接口。采用这个名字是为了简单起见,所有的COM接口都需要继承I

  • Qt树形控件QTreeView使用1——节点的添加删除操作[通俗易懂]

    Qt树形控件QTreeView使用1——节点的添加删除操作[通俗易懂]QTreeView和QStandardItemModel的使用QtreeView是ui中最常用的控件,Qt中QTreeWidget比QTreeView更简单,但没有QTreeView那么灵活(QTreeWidget封装的和MFC的CTreeCtrl很类似,没有mvc的特点)。1. QStandardItemModel在QTreeView中的使用使用QTree

  • RKE部署Kubernetes集群

    RKE部署Kubernetes集群

  • .pkl文件怎么打开_python pkl文件

    .pkl文件怎么打开_python pkl文件1.show_pkl.py:#show_pkl.pyimportpicklepath=’aus_openface.pkl’#path=’/root/……/aus_openface.pkl’pkl文件所在路径 f=open(path,’rb’)data=pickle.load(f)print(data)print(len(data))2.运行命令…

  • Python中的/与//的区别

    Python中的/与//的区别在github的项目中的水仙花例题中:1fornuminrange(100,1000):2low=num//103mid=num//10%104high=num//10

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号