首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在/usr目录中查找最长的头文件(.h)

在/usr目录中查找最长的头文件(.h),可以使用以下命令:

代码语言:txt
复制
find /usr -type f -name "*.h" -exec ls -l {} \; | awk '{print length($NF), $NF}' | sort -nr | head -n 1

这个命令会在/usr目录下递归查找所有的.h文件,并按照文件大小进行排序,最后输出最长的头文件路径和文件名。

解释一下命令的各个部分:

  • find /usr -type f -name "*.h":在/usr目录下查找所有以.h结尾的文件。
  • -exec ls -l {} \;:对每个找到的文件执行ls -l命令,输出文件的详细信息。
  • awk '{print length($NF), $NF}':使用awk命令打印每行的最后一个字段(文件名)的长度和文件名本身。
  • sort -nr:按照文件名长度进行逆序排序,即最长的文件名排在前面。
  • head -n 1:只输出排序结果的第一行,即最长的文件名。

这样就可以找到/usr目录中最长的头文件(.h)了。

关于腾讯云相关产品和产品介绍链接地址,由于要求不能提及具体的云计算品牌商,无法给出具体的推荐链接。但腾讯云提供了丰富的云计算服务,包括云服务器、云数据库、云存储、人工智能等,可以根据具体需求选择相应的产品。可以访问腾讯云官网(https://cloud.tencent.com/)了解更多信息。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

【Android NDK 开发】NDK 交叉编译 ( NDK 函数库目录 | Linux 交叉编译环境搭建 | 指定头文件目录 | 指定函数库目录 | 编译 Android 命令行可执行文件 )

Android 版本目录 : platforms 存储了各个 Android 版本编译时需要动态库与静态库资源 , android-29 中就是该版本对应本地库资源 ; 2 ....打印日志使用 liblog.so 库 , 就是在该目录下 ; 引入 #include 头文件对应方法逻辑实现就在 liblog.so 库 ; II ....--sysroot 头文件与库文件查找目录设定 : 使用 --sysroot=XX 参数设置 ; 指定本次编译 头文件 与 库文件 , 系统会自动到 XX/usr/include 目录查找头文件 ,...到 YY/usr/include 目录查找头文件 ; ( 此时不再去 XX/usr/include 目录查找头文件 ) 3 ...., 必须这么写 , 因为真正要查找是下层目录 usr/lib 目录 ; ③ 指定头文件 : 这里使用是 -isystem , 不是 -isysroot , 因此目录可以写随意一些 ; -isystem

5.1K20

gcc用法以及静态动态链接

-L 比如常用X11库,它在/usr/X11R6/lib目录下,我们编译时就要用-L/usr/X11R6/lib -lX11参数,-L参数跟着是库文件所在目录名。...gcc默认会在程序当前目录、/lib、/usr/lib和/usr/local/lib下找对应库 -I参数 -include和-I参数 在你是用#include '***.h'时候,gcc/g+...+会先在当前目录查找你所制定头文件,如果没有找到,他回到缺省头文件目录找,如果使用-I制定了目录,他回先在你所制定目录查找,然后再按常规顺序去找.对于#include,gcc/g++会到-I制定目录查找...,查未找到,然后将到系统缺省头文件目录查找。...而用""号包含头文件会首先搜索当前工作目录,之后搜索路径才是和号包含头文件所搜索路径一样路径。

1.5K20

详解动态库和静态库

头文件一般有以下两种方式来包含头文件: 使用来包含头文件,表示到系统指定目录下去查找头文件 使用" "来包含头文件,这种方式一般用于包含自己所写头文件,表示在当前源文件统计目录查找头文件...,找到了就用,没找到再去系统指定目录下进行查找,所以对于库提供头文件我们也可以使用 " " 进行包含。...在main.c文件,就是使用" "来包含我所写头文件,但是还是会报错,理由:使用" "所包含头文件,会告诉编译器在main.c同级目录下(即test目录下)查找对应头文件,但是add.h、sub.h...解决上述有三种方式: 将头文件直接拷贝到当前目录下 在代码中头文件路劲补全,:#include " /mylib/include/add.h " 在执行 gcc 指令编译时候加上 -I 选项,指定编译器搜索头文件路径...gcc在编译时候,只会去默认路径下查找打包头文件,不会去/mylib/include查找,编译器在gcc是就找不到我酷libmyc.a,也就是编译链接失败。

11010

【一站式解惑】Linux.a、.so和.o文件以及-I,-L,LIBRARY_PATH,LD_LIBRARY_PATH等

hello.h(见程序1)为该函数库头文件。main.c(见程序3)为测试库文件主程序,在主程序调用了公用函数hello。...在程序3即main.c,我们包含了静态库头文件hello.h,然后在主程序main中直接调用公用函数hello。下面先生成目标程序hello,然后运行hello程序看看结果如何。...程序在运行时,会在/usr/lib和/lib等目录查找需要动态库文件。若找到,则载入动态库,否则将提示类似上述错误而终止程序运行。...,当静态库和动态库同名时,gcc命令将优先使用动态库,默认去链接/usr/lib和/lib等目录动态库,将文件libmyhello.so复制到目录/usr/lib即可。...默认动态库搜索路径/usr/lib 有关环境变量 1.PATH是可执行文件路径,是三个我们最常接触到,因为我们命令行每句能运行命令,ls、top、ps等,都是系统通过PATH找到了这个命令执行文件所在位置

4.5K52

cmake 简介2021-10-03

在工程查找并使用其他程序库方法 在开发软件时候我们会用到一些函数库,这些函数库在不同系统安装位置可能不同,编译时候需要首先找到这些软件包头文件以及链接库所在目录以便生成编译选项...清单5第3-8行意思是在 /usr/include/ 和 /usr/local/include/ 查找文件db_cxx.h ,并将 db_cxx.h 所在路径保存在 LIBDB_CXX_INCLUDE_DIR.../cmake/modules 查找 Findlibdb_cxx.cmake ,8-19 行表示查找链接库和头文件过程。...清单5第3-8行意思是在 /usr/include/ 和 /usr/local/include/ 查找文件db_cxx.h ,并将 db_cxx.h 所在路径保存在 LIBDB_CXX_INCLUDE_DIR.../cmake/modules 查找 Findlibdb_cxx.cmake ,8-19 行表示查找链接库和头文件过程。

33020

【Android FFMPEG 开发】Android Studio 工程配置 FFMPEG ( 动态库打包 | 头文件与函数库拷贝 | CMake 脚本配置 )

头文件查找路径设置 : 使用 include_directories 指定 FFMPEG 头文件查找目录 , CMAKE_SOURCE_DIR 指的是当前文件地址 ; # IV ....指定 FFMPEG 头文件查找目录 # CMAKE_SOURCE_DIR 指的是当前文件地址 include_directories(${CMAKE_SOURCE_DIR}/include...到预设目录查找 log 库 , 将找到路径赋值给 log-lib # 这个路径是 NDK ndk-bundle\platforms\android-29\arch-arm\usr\lib...\liblog.so # 不同 Android 版本号 和 CPU 架构 需要到对应目录查找 , 此处是 29 版本 32 位 ARM 架构日志库 # # 可以不配置 : #...指定 FFMPEG 头文件查找目录 # CMAKE_SOURCE_DIR 指的是当前文件地址 include_directories(${CMAKE_SOURCE_DIR}/include

2.3K30

FLTK基于cmake编译以及使用(Windows、macOS以及Linux)

准备头文件 对于我方式,在build文件夹,我们创建一个inlude文件夹,并且将build上一层fltk根目录FL文件夹复制到build/include,形成如下结构: build/include...原因在于FL.h -> Enumerations.h头文件会用到该头文件里面的一些定义,不添加则会报错: fatal error: 'FL/abi-version.h' file not found #...基础项目搭建 创建一个名为fltk-demo目录 将上一步fltk-dist-1.3.8文件夹整体复制到fltk-demo目录 项目根目录创建src文件夹,并在其中创建main.cpp: #include...3.23) PROJECT(fltk_demo) SET(CMAKE_CXX_STANDARD 11) # 可执行程序名称,下面统一使用 SET(my_app_name fltk_demo) # 指定头文件查找目录...,我们从dist中指定操作系统目录查找静态库文件。

75330

文件目录 (一).stat(2)

dirent 代码中有一个这样定义 struct dirent *de=NULL; dirent 是一种新结构体 在头文件中有所定义 emacs@ubuntu:/usr/include$ grep...#include emacs@ubuntu:/usr/include$ 从中可知是定义到了 bits/dirent.h #ifndef _DIRENT_H # error...dirent { #ifndef __USE_FILE_OFFSET64 __ino_t d_ino; //索引节点号, inode number __off_t d_off; //在目录文件偏移...个字符长度用来存储文件名 总体来看,这个目录条目结构体,也是一个简略索引 ---- stat 代码中有一个这样定义 struct stat fs; stat 是一种新结构体 在头文件中有所定义...Tip: 头文件里有很多如下形式条件编译,是为了进行兼容处理 #ifndef #else #endif ---- 读取文件属性过程 使用 opendir 函数打开一个目录文件(文件名字符串),返回一个

52810

预处理详解(#和##运算符、命名约定、#undef​​、命令行定义​、条件编译、头文件包含​)

4.1 头文件被包含方式:​ 4.1.1 本地文件包含​ #include "filename" 查找策略:先在源文件所在目录查找,如果该头文件未找到,编译器就像查找库函数头文件一样在标准位置查找头文件...Linux环境标准头文件路径:​ /usr/include VS环境标准头文件路径: C:\Program Files (x86)\Microsoft Visual Studio 12.0...4.1.2库文件包含​ #include 查找头文件直接去标准路径下去查找,如果找不到就提示编译错误。 这样是不是可以说,对于库文件也可以使用 “” 形式包含?...编译器通常会在其预定义系统头文件目录查找这样文件。 #include "filename.h":这是用于包含用户定义头文件或项目特定头文件常用格式。...编译器首先在当前文件或指定用户目录查找这样文件,如果找不到,它可能会回退到系统目录。 其他预处理指令​ #error #pragma #line ... 不做介绍,自己去了解。

13410

FFmpeg开发笔记(三十九)给Visual StudioC++工程集成FFmpeg

在弹出属性页面,依次选择左侧列表项:配置属性→VC++目录,并在属性页面右侧列表项依次选择:常规→外部包含目录→编辑。...在弹出外部包含目录窗口中添加下列头文件目录(具体路径根据自己电脑上ffmpeg安装路径调整):E:\msys64\usr\local\ffmpeg\includeE:\msys64\usr\local...\sdl2\include单击外部包含目录窗口右下角的确定按钮,确认添加上面两个头文件目录。...接着依次选择属性页面左侧列表项:配置属性→链接器→常规,并在页面右侧列表项依次选择:附加库目录→编辑。...在弹出附加库目录窗口中添加下列库文件目录(具体路径根据自己电脑上sdl2安装路径调整):E:\msys64\usr\local\ffmpeg\libE:\msys64\usr\local\sdl2\

12810

Google C++编程风格指南(一)之头文件相关规范

关于搜索头文件路径,编译器搜索顺序如下: (1) include自定义头文件#include “headfile.h” 搜索顺序为: ①先搜索源文件所在目录 ②然后搜索-I指定目录...(2)include系统头文件或标准库头文件#include ①先搜索-I指定目录 ②然后搜索g++环境变量CPLUS_INCLUDE_PATH ③最后搜索...g++内定目录 /usr/include /usr/local/include /usr/lib/gcc/x86_64-redhat-linux/4.1.1/include 与上面的相同,各目录存在相同文件时...假如dir/foo.cpp是项目中源文件,其对应头文件是include/foo.h功能,foo.cpp包含头文件次序如下: dir2/foo2.h(优先位置) 系统调用头文件 C系统文件 C...最简单实现方式是将其作为第一个.h文件包含在对应.cpp。相同目彔下头文件挄字母序是丌错选择。

2.8K10

深入浅出GCC编译器

工具集默认在目录 /usr/bin 目录下,在这个工具集中我们必须要知道工具有两个:ld 链接器和 as 汇编器。这两个工具和我们编译一个源文件息息相关。...放在header目录下,目录结构如下 文件内容如下 这三个文件关系是,main.c调用了test.h函数,test.c实现了test.h函数。...(3)-I 指定包含头文件路径及头文件引入两种方法 我们编译一下前面准备好main.c和test.c 可以看到,编译错误,找不到头文件test.h,这时有人可能会很奇怪,在main.c中和test.c...我们应该知道,在包含头文件时候,标准库文件一般用尖括号 ,编译器回到默认目录下寻找这些.h文件,如果是自己写头文件,要用双引号 “” 去包含,编译器会在当前目录(源文件所在目录)进行查找。...如果是集成开发环境,比如VS,这个默认路径一般在VS安装目录一个名为 include 路径下。在Linux,一般默认路径是 /usr/include 或 /usr/lib 下目录

17210

【分享】MPSoC交叉编译例子

GCC编译代码时,缺省是在目录/usr/include查找头文件,在目录/usr/lib查找库文件。...如果是交叉编译,就不能在主机目录查找头文件和库文件,因为它们包含是主机应用程序文件。我们需要指定目标单板头文件和库文件。对于这种需求,GCC使用选项sysroot来实现。...GCC文档关于sysroot描述 3. 使用sysroot编译 使用sysroot指定目录后,编译文件成功,没有任何问题。...Makefile 在命令行下指定sysroot目录,只能适用于非常简单代码。对于应用程序开发,建议使用Makefile。下面提供一个Makefile例子。...在Makefile里,设置sysroot为其中sysroots/aarch64-xilinx-linux/,GCC就能找到正确头文件和库文件。

1.1K41
领券