Qt源码编译过程中配置文件中的选项说明
文章目录
| 选项 | 说明 | 默认值 |
|---|---|---|
| 顶级安装目录 | ||
| -prefix | 部署目录,如目标设备上所示。 | /usr/local/Qt-$QT_VERSION |
| -extprefix | 安装目录,如主机上所示。 | SYSROOT/PREFIX |
| -hostprefix [dir] | 主机上运行的生成工具的安装目录。如果未给定[dir],则将使用当前构建目录 | EXTPREFIX |
| -external-hostbindir | 为此机器构建的Qt工具路径。当平台与当前系统不匹配时,使用此选项,即进行交叉构建 | |
| 微调安装目录布局。请注意,除-sysconfdir之外的所有目录都应位于-prefix/-hostprefix下 | ||
| -bindir | 可执行安装目录 | PREFIX/bin |
| -headerdir | 头文件安装目录 | PREFIX/include |
| -libdir | 库文件安装目录 | PREFIX/lib |
| -archdatadir | 依赖于架构的数据安装目录 | PREFIX |
| -plugindir | 插件安装目录 | ARCHDATADIR/plugins |
| -libexecdir | 帮助程序安装目录 | ARCHDATADIR/bin on Windows, ARCHDATADIR/libexec otherwise |
| -importdir | QML1导入目录 | ARCHDATADIR/imports |
| -qmldir | QML2导入目录 | ARCHDATADIR/qml |
| -datadir | 不依赖于架构的独立数据安装目录 | PREFIX |
| -docdir | 文档安装目录 | DATADIR/doc |
| -translationdir | 翻译安装目录 | DATADIR/translations |
| -sysconfdir | Qt程序使用的设置安装目录 | PREFIX/etc/xdg |
| -examplesdir | 例程安装目录 | PREFIX/examples |
| -testsdir | 测试安装目录 | PREFIX/tests |
| -hostbindir | 主机可执行文件安装目录 | HOSTPREFIX/bin |
| -hostlibdir | 主机库安装目录 | HOSTPREFIX/lib |
| -hostdatadir | qmake使用的数据安装目录 | HOSTPREFIX |
| 配置元数据 | ||
| -help, -h | 显示帮助信息 | |
| -verbose, -v | 在配置期间打印详细消息 | |
| -continue | 尽管有错误,仍继续配置 | |
| -redo | 使用以前使用的选项重新配置。其他选项可能会被传递,但不会被-redo保存以供以后使用。 | |
| -recheck [test,…] | 放弃缓存的否定配置测试结果。在安装缺少的依赖项后使用此选项。或者,如果指定了测试,则只丢弃其结果。 | |
| -recheck-all | 放弃所有缓存的配置测试结果。 | |
| -feature- | 启用 | |
| -no-feature- | 放弃启用 | |
| -list-features | 列出可用功能。请注意,某些功能还具有专用的命令行选项。 | |
| -list-libraries | 列出可能的外部依赖项。 | |
| 构建选项 | ||
| -opensource | 构建Qt的开源版本 | |
| -commercial | 构建Qt商业版 | |
| -confirm-license | 自动确认许可证 | |
| -release | 关闭调试时生成Qt | yes |
| -debug | 打开调试时生成Qt | no |
| -debug-and-release | 构建Qt的两个版本,启用和不启用调试[yes](仅限苹果和Windows) | |
| -optimize-debug | 在调试构建[auto]中启用调试友好优化(MSVC或Clang工具链不支持) | |
| -optimize-size | 优化发布版本的大小而不是速度 | no |
| -optimized-tools | 即使在调试构建中也可以构建优化的主机工具 | no |
| -force-debug-info | 为发布版本创建符号文件 | no |
| -separate-debug-info | 将调试信息拆分为单独的文件 | no |
| -gdb-index | 索引调试信息以加快GDB | |
| -strip | 去除不需要的符号的释放二进制文件 | yes |
| -gc-binaries | 将每个函数或数据项放入其自己的节中,并启用未使用节的链接器垃圾收集。[自动生成静态生成,否则为否] | |
| -force-asserts | 即使在发布版本中也启用Q_ASSERT | no |
| -developer-build | 编译并链接Qt以开发Qt本身(用于自动测试、额外检查等的导出) | no |
| -shared | 构建共享Qt库(UIKit为否) | yes |
| -static | 构建静态Qt库(对于UIKit是) | no |
| -framework | 构建Qt框架捆绑包(仅限Apple) | yes |
| -platform | 选择主机mkspec | detected |
| -xplatform | 交叉编译时选择目标mkspec | PLATFORM |
| -device | 设备的交叉编译 | name |
| -device-option <key=value> | 为设备mkspec添加选项 | |
| -appstore-compliant | 禁用平台应用商店中不允许的代码。默认情况下,对于需要通过应用商店分发的平台,特别是Android、iOS、tvOS、watchOS和通用Windows平台,此选项处于启用状态 | auto |
| -qtnamespace | 将所有Qt库代码包装在“namespace<name>{…}”中。 | |
| -qtlibinfix | 将所有libQt5*.so重命名为libQt5*.so。 | no |
| -qtlibinfix-plugins | 根据-qtlibinfix重命名Qt插件 | no |
| -testcocoon | 使用TestCocoon代码覆盖工具的仪器 | no |
| -gcov | 使用GCov代码覆盖工具的仪器 | no |
| -trace [backend] | 启用带有跟踪点的检测。当前支持的后端是“etw”(Windows)和“lttng”(Linux),或“yes”用于自动检测。 | no |
| -sanitize {address | thread | memory |
| -coverage {trace-pc-guard} | 添加代码覆盖率检测 | |
| -c++std | 选择C++标准[C++2a/C++17/C++14/C++11](MSVC 2015不支持) | |
| -sse2 | 使用SSE2指令 | auto |
| -sse3/-ssse3/-sse4.1/-sse4.2/-avx/-avx2/-avx512 | 启用特定x86指令[auto]启用的指令仍受运行时检测的影响。 | auto |
| -mips_dsp/-mips_dspr2 | 使用MIPS DSP/rev2指令 | auto |
| -qreal | typedef qreal到指定类型 | double |
| -R | 向Qt库添加显式运行库路径。支持相对于LIBDIR的路径。 | |
| -rpath | 使用库安装路径作为运行库路径链接Qt库和可执行文件。类似于-R LIBDIR。在Apple平台上,禁用这意味着对动态库和框架使用绝对安装名称(基于LIBDIR) | auto |
| -reduce-exports | 减少导出符号的数量 | auto |
| -reduce-relocations | 减少搬迁数量(Unix only) | auto |
| -plugin-manifests | 将清单嵌入插件(Windows only) | no |
| -static-runtime | 对于-static,使用静态运行时(Windows only) | no |
| -pch | 使用预编译头 | auto |
| -ltcg | 使用链接时间代码生成 | no |
| -linker [bfd,gold,lld] | 强制使用GNUld、GNUgold或LLVM/LDD链接器,而不是默认链接器(仅限GCC) | |
| -incredibuild-xge | 使用IncrediBuild XGE(仅限Windows) | no |
| -ccache | 使用ccache编译器缓存(仅限Unix) | no |
| -make-tool | 使用构建qmake(仅限Windows) | nomake |
| -mp | 使用多个处理器进行编译(仅限MSVC) | |
| -warnings-are-errors | 将警告视为错误 | no |
| -silent | 减少生成输出,以便更容易看到警告和错误 | |
| 生成环境 | ||
| -sysroot | 将 | |
| -gcc-sysroot | 使用-sysroot,将–sysroot传递给编译器 | yes |
| -pkg-config | 使用pkg配置(Unix only) | auto |
| -D | 传递额外的预处理器定义 | |
| -I | 传递附加包含路径 | |
| -L | 传递附加库路径 | |
| -F | 传递附加框架路径(仅限Apple) | |
| -sdk | 使用苹果提供的SDK<SDK>构建Qt。参数应该是“xcodebuild-showsdks”列出的可用SDK之一。注意,该参数仅适用于使用目标mkspec构建的Qt库和应用程序,而不适用于qmake、moc、rcc等主机工具。 | |
| -android-sdk path | 设置Android SDK根路径 | $ANDROID_SDK_ROOT |
| -android-ndk path | 设置Android NDK根路径 | $ANDROID_NDK_ROOT |
| -android-ndk-platform | 设置Android平台 | |
| -android-ndk-host | 设置Android NDK主机(linux-x86、linux-x86_64等) | $ANDROID_NDK_HOST |
| -android-abis | 逗号分隔的Android abis,默认为:armeabi-v7a、arm64-v8a、x86、x86_64 | |
| -android-style-assets | 在运行时自动从设备中提取样式资源。此选项使Android风格正确运行,但也使Android平台插件与LGPL2.1不兼容 | yes |
| 组件选择 | ||
| -skip | 从生成中排除整个存储库 | |
| -make | 将<part>添加到要构建的部件列表中。指定此选项将首先清除默认列表 | |
| -nomake | 从要生成的零件列表中排除 | |
| -compile-examples | 取消设置时,仅安装示例源 | yes |
| -gui | 构建Qt GUI模块和依赖项 | yes |
| -widgets | 构建Qt Widgets模块和依赖项 | yes |
| -no-dbus | 不构建Qt D-Bus模块 | yes |
| -dbus-linked | 构建Qt D-Bus并链接到libdbus-1 | auto |
| -dbus-runtime | 构建Qt D-Bus并动态加载libdbus-1 | no |
| -accessibility | 启用辅助功能支持注意:不建议禁用辅助功能。 | yes |
| 核心选项 | ||
| -doubleconversion | 选择使用的双转换库no表示使用sscanf_l和snprintf_l(不精确)。 | system/qt/no |
| -glib | 启用Glib支持 | no |
| -eventfd | 启用eventfd支持 | |
| -inotify | 启用inotify支持 | |
| -iconv | 启用图标(3)支持 | posix/sun/gnu/no |
| -icu | 启用ICU支持 | auto |
| -pcre | 选择使用的libpcre2 | system/qt/no |
| -pps | 启用PPS支持 | auto |
| -zlib | 选择使用的zlib | system/qt |
| 记录后端 | ||
| -journald | 启用日志支持 | no |
| -syslog | 启用syslog支持 | no |
| -slog2 | 启用slog2支持 | auto |
| 网络选项 | ||
| -ssl | 启用任一SSL支持方法 | auto |
| -no-openssl | 不要使用OpenSSL | default on Apple and WinRT |
| -openssl-linked | 使用OpenSSL并链接到libssl | no |
| -openssl-runtime | 使用OpenSSL并动态加载libssl | auto |
| -schannel | 使用安全通道 (Windows only) | no |
| -securetransport | 使用SecureTransport (Apple only) | auto |
| -sctp | 启用SCTP支持 | no |
| -libproxy | 启用libproxy的使用 | no |
| -system-proxies | 默认情况下使用系统网络代理 | yes |
| Gui、打印、小部件选项 | ||
| -cups | 启用CUPS支持(Unix only) | auto |
| -fontconfig | 启用Fontconfig支持(Unix only) | auto |
| -freetype | 选择使用的FreeType | system/qt/no |
| -harfbuzz | 选择使用的HarfBuzz NG | system/qt/no |
| -gtk | 启用GTK平台主题支持 | auto |
| -lgmon | 启用lgmon支持(QNX only) | auto |
| -no-opengl | 禁用OpenGL支持 | |
| -opengl | 启用OpenGL支持。支持的API:es2(Windows默认)、桌面(Unix默认)、动态(仅Windows) | |
| -opengles3 | 启用OpenGL ES 3.x支持,而不是ES 2.x | auto |
| -egl | 启用EGL支持 | auto |
| -angle | 使用捆绑的ANGLE支持OpenGL ES 2.0(Windows only) | auto |
| -combined-angle-lib | 将LibEGL和LibGLESv2合并到LibANGLE中(Windows only) | |
| -qpa | 选择默认QPA后端(例如,xcb、cocoa、windows)一个由分号分隔的优先级列表。 | |
| -xcb-xlib | Enable Xcb-Xlib support | auto |
| 平台后端 | ||
| -direct2d | 启用Direct2D支持 (Windows only) | auto |
| -directfb | 启用DirectFB支持 (Unix only) | no |
| -eglfs | 启用EGLFS支持 | auto; no on Android and Windows |
| -gbm | 为GBM启用后端 (Linux only) | auto |
| -kms | 为KMS启用后端 (Linux only) | auto |
| -linuxfb | 启用Linux Framebuffer支持 (Linux only) | auto |
| -xcb | 启用X11支持。选择使用的xcb-*库 | system/qt/no |
| 输入后端 | ||
| -libudev. | 启用udev支持 | auto |
| -evdev | 启用evdev支持 | auto |
| -imf | 启用IMF支持 (QNX only) | auto |
| -libinput | 启用libinput支持 | auto |
| -mtdev | 启用mtdev支持 | auto |
| -tslib | 启用tslib支持 | auto |
| -xcb-xinput | 启用XInput2支持 | auto |
| -xkbcommon | 启用密钥映射支持 | auto |
| 图像格式 | ||
| -gif | 启用GIF阅读支持 | auto |
| -ico | 启用对ICO的支持 | auto |
| -libpng | 选择使用的libpng | auto |
| -libjpeg | 选择使用的libjpeg | auto |
| -jasper | 使用JasPer库启用JPEG-2000支持 | no |
| -mng | 启用MNG支持 | no |
| -tiff | 启用TIFF支持 | system/qt/no |
| -webp | 启用WEBP支持 | system/qt/no |
| 数据库选项 | ||
| -sql- | 启用SQL<driver>插件。支持的驱动程序:db2 ibase mysql oci odbc psql sqlite2 sqlite tds | auto |
| -sqlite | 选择使用的sqlite3 | system/qt |
| Qt3D选项 | ||
| -assimp | 选择使用的assimp库 | system/qt/no |
| -qt3d-profile-jobs | 启用作业分析 | no |
| -qt3d-profile-gl | 启用OpenGL评测 | no |
| -qt3d-simd | 选择SIMD支持级别 | no/sse2/avx2 |
| -qt3d-render | 启用Qt3D渲染工具 | yes |
| -qt3d-input | 启用Qt3D输入功能 | yes |
| -qt3d-logic | 启用Qt3D逻辑功能 | yes |
| -qt3d-extras | 启用Qt3D Extras功能 | yes |
| -qt3d-animation | 启用Qt3D动画功能 | yes |
| 多媒体选项 | ||
| -pulseaudio | 启用PulseAudio支持 (Unix only) | auto |
| -alsa | 启用ALSA支持 (Unix only) | auto |
| -no-gstreamer | 禁用对GStreamer的支持 | |
| -gstreamer [version] | 启用GStreamer支持, 如果没有参数,首先尝试1.0,然后尝试0.10。 | auto |
| -evr | 在DirectShow和WMF中启用EVR | system/qt/no |
| QtQuick3D选项 | ||
| -assimp | 选择使用的assimp库 | system/qt/no |
| 文本到语音选项 | ||
| -flite | 启用Flite支持 (Unix only) | auto |
| -flite-alsa | 使用ALSA支持启用Flite (Unix only) | auto |
| -speechd | 启用语音调度程序支持 (Unix only) | auto |
| WebEngine选项 | ||
| -webengine-alsa | 启用ALSA支持 (Linux only) | auto |
| -webengine-pulseaudio | 启用PulseAudio支持 (Linux only) | auto |
| -webengine-embedded-build | 启用Linux嵌入式构建 (Linux only) | auto |
| -webengine-icu | 使用系统ICU库 (Linux only) | system/qt |
| -webengine-ffmpeg | 使用系统FFmpeg库 (Linux only) | system/qt |
| -webengine-opus | 使用系统Opus库 (Linux only) | system/qt |
| -webengine-webp | 使用系统WebP库 (Linux only) | system/qt |
| -webengine-pepper-plugins | 启用Pepper Flash和Widevine插件 | auto |
| -webengine-printing-and-pdf | 启用打印并输出为PDF | auto |
| -webengine-proprietary-codecs | 启用对专有编解码器的支持 | no |
| -webengine-spellchecker | 启用拼写检查器支持 | yes |
| -webengine-native-spellchecker | 启用对本机拼写检查器的支持 (macOS only) | no |
| -webengine-webrtc | 启用对WebRTC的支持 | auto |
相关文章:
Qt源码编译过程中配置文件中的选项说明
文章目录选项说明默认值顶级安装目录-prefix 部署目录,如目标设备上所示。/usr/local/Qt-$QT_VERSION-extprefix 安装目录,如主机上所示。SYSROOT/PREFIX-hostprefix [dir]主机上运行的生成工具的安装目录。如果未给定[dir],则将使用当前构建…...
Mysql 增删改查(一) —— 查询(条件查询where、分页limits、排序order by、分组 group by)
查询 select 可以认为是四个基本操作中使用最为频繁的操作,然而数据量比较大的时候,我们不可能查询所有内容,我们一般会搭配其他语句进行查询: 假如要查询某一个字段的内容,可以使用 where假如要查询前几条记录&#…...
VScode 结合clangd 构建linux源代码阅读环境
1、背景介绍上一篇文章:VScode 结合Global构建linux源代码阅读环境 ,介绍了在VS Code工具中通过remote-ssh远程登陆到Linux远程服务器,使用Global构建linux源代码阅读环境,对linux kernel代码进行解析,实现全局搜索、自…...
web应用 —— JavaScript
Web应用(acwing) 三、JavaScript 1.JS的调用方式与执行顺序 ①使用方法 HTML页面中任意位置加上<script type"module"></script>标签即可 常见使用方式: 直接在<script type"module"></script>标签内写JS代码。直…...
SSM整合SpringSecurity简单使用
一、SpringSecurity 1.1 什么是SpringSecurity Spring Security 的前身是 Acegi Security ,是 Spring 项目组中用来提供安全认证服务的框架。(官网地址) Spring Security 为基于J2EE企业应用软件提供了全面安全服务。特别是使用领先的J2EE解决方案-Spring框架开发…...
Java零基础教程——数据类型
目录数据类型数据类型的分类运算符算术运算符符号做连接符的识别自增、自减运算符赋值运算符关系运算符逻辑运算符短路逻辑运算符三元运算符运算符优先级数据类型 数据类型的分类 引用数据类型(除基本数据类型之外的,如String ) 基本数据类…...
【Linux 信号】信号的产生方式、信号的捕捉的全过程
信号的处理方式是远远比信号的产生当闹钟响了就知道时间到了,说明对应信号处理方法比信号产生更早操作系统的信号处理方法在编写操作系统的时候就已经编写好了signal函数1.1所有的信号1.2 signal函数的概念和简单使用捕捉信号就是自定义对应的信号的处理方法9号信号…...
代码随想录第58天(动态规划):● 392.判断子序列 ● 115.不同的子序列
一、判断子序列 题目描述: 思路和想法: 这道题目还是最长公共子序列的拓展,只是这里进行删除的一定是t字符串,当不相等时,dp[i][j] dp[i][j - 1];其余基本一致。当最长公共子序列个数等s.size()时&#x…...
代码随想录第55天(动态规划):● 309.最佳买卖股票时机含冷冻期 ● 714.买卖股票的最佳时机含手续费
一、最佳买卖股票时机含冷冻期 题目描述: 思路和想法: 这道题相较于之前的题目,注重对状态的分析,这里分为四个状态。 (1)状态一,买入状态 dp[i][0] 操作一:前一天就是持有状态(状…...
字符串装换整数(atoi)-力扣8-java
一、题目描述请你来实现一个 myAtoi(string s) 函数,使其能将字符串转换成一个 32 位有符号整数(类似 C/C 中的 atoi 函数)。函数 myAtoi(string s) 的算法如下:读入字符串并丢弃无用的前导空格检查下一个字符(假设还未…...
毕业5年,从月薪3000到年薪40w,我掌握了那些核心技能?(建议收藏)
大家好,我是静静~~是一枚一线大厂的测试开发工程师很多读者私信问我,自己时间不短了,随着工作年限的不断增长,感觉自己的技术水平与自己的工作年限严重不符。想跳槽出去换个新环境吧,又感觉自己的能力达不到心仪公司的…...
C++中的并行与并发
1.1 并行基础std::thread 用于创建一个执行的线程实例,所以它是一切并发编程的基础,使用时需要包含 <thread> 头文件, 它提供了很多基本的线程操作,例如 get_id() 来获取所创建线程的线程 ID,使用 join() 来加入…...
h2database源码解析-如何更新一条行记录
这里的更新包括两种操作:删、改。更新操作涉及的内容在其他文章里面已经做过介绍了,本文主要是介绍更新的代码流程,以了解更新操作都做了哪些事情。如果有未介绍过的知识点会详细介绍。 目录改(update)如何判读是否加了行锁删(delete)改(upda…...
FyListen——生命周期监听器(设计原理之理解生命周期)
FyListen——生命周期监听器(设计原理之理解生命周期) FyListen 的核心原理有两个: 通过子Fragment对Activity、Fragment进行生命周期监听Java8 接口特性 default 1. 什么是上下文Context 这是一个装饰器模式, ContextImpl 是 …...
Element UI框架学习篇(六)
Element UI框架学习篇(六) 1 删除数据 1.1 前台核心函数 1.1.1 elementUI中的消息提示框语法 //①其中type类型和el-button中的type类型是一致的,有info灰色,success绿色,danger红色,warning黄色,primary蓝色 //②message是你所要填写的提示信息 //③建议都用,因为比双引号…...
Python如何安装模块,python模块安装失败的原因以及解决办法
前言 今天来给刚开始学习python的朋友讲解一下 如何安装python模块, python模块安装失败的原因以及解决办法 很多朋友拿到代码之后,就开始复制粘贴 --> 然后右键进行运行 结果就是报错说 没有这个模块 得安装啥的 Python模块安装 一. 打开命令提示符 win …...
《NFL橄榄球》:洛杉矶闪电·橄榄1号位
洛杉矶闪电(英语:Los Angeles Chargers),又译“洛杉磯衝鋒者”。是一支位于加利福尼亚州洛杉矶郡英格尔伍德的职业美式橄榄球球队,现为美国橄榄球联合会西区成员之一。该队曾于1961年搬迁到圣地亚哥而改叫圣地亚哥电光…...
4.7 Python设置代码格式
随着你编写的程序越来越长,有必要了解一些代码格式设置约定。请花时让你的代码尽可能易于阅读;让代码易于阅读有助于你掌握程序是做什么的,也可以帮助他人理解你编写的代码。为确保所有人编写的代码的结构都大致一致,Python程序员都遵循一些格…...
Zabbix 构建监控告警平台(五)
Zabbix 自动发现Zabbix 自动注册1.Zabbix 自动发现 1.1前言 为了满足监控企业成千上万台服务器,因此我们需要使用Zabbix批量监控来实现。自动发现和自动注册。 1.2zabbix-server (一)1、创建自动发现规则 在“配置”->“自动发现”->“…...
2023关键词:挑战
未失踪人口回归… 好久不见,不经意间拖更2个多月。今天周末,外面淅淅沥沥下着小雨,这种窝在床上的时刻最适合写点东西了。 但是建议大家在办公或者写博客的时候尽量还是端正坐姿,我就是因为喜欢这样靠在床背上,长时间…...
云启出海,智联未来|阿里云网络「企业出海」系列客户沙龙上海站圆满落地
借阿里云中企出海大会的东风,以**「云启出海,智联未来|打造安全可靠的出海云网络引擎」为主题的阿里云企业出海客户沙龙云网络&安全专场于5.28日下午在上海顺利举办,现场吸引了来自携程、小红书、米哈游、哔哩哔哩、波克城市、…...
【Redis技术进阶之路】「原理分析系列开篇」分析客户端和服务端网络诵信交互实现(服务端执行命令请求的过程 - 初始化服务器)
服务端执行命令请求的过程 【专栏简介】【技术大纲】【专栏目标】【目标人群】1. Redis爱好者与社区成员2. 后端开发和系统架构师3. 计算机专业的本科生及研究生 初始化服务器1. 初始化服务器状态结构初始化RedisServer变量 2. 加载相关系统配置和用户配置参数定制化配置参数案…...
Golang dig框架与GraphQL的完美结合
将 Go 的 Dig 依赖注入框架与 GraphQL 结合使用,可以显著提升应用程序的可维护性、可测试性以及灵活性。 Dig 是一个强大的依赖注入容器,能够帮助开发者更好地管理复杂的依赖关系,而 GraphQL 则是一种用于 API 的查询语言,能够提…...
《用户共鸣指数(E)驱动品牌大模型种草:如何抢占大模型搜索结果情感高地》
在注意力分散、内容高度同质化的时代,情感连接已成为品牌破圈的关键通道。我们在服务大量品牌客户的过程中发现,消费者对内容的“有感”程度,正日益成为影响品牌传播效率与转化率的核心变量。在生成式AI驱动的内容生成与推荐环境中࿰…...
unix/linux,sudo,其发展历程详细时间线、由来、历史背景
sudo 的诞生和演化,本身就是一部 Unix/Linux 系统管理哲学变迁的微缩史。来,让我们拨开时间的迷雾,一同探寻 sudo 那波澜壮阔(也颇为实用主义)的发展历程。 历史背景:su的时代与困境 ( 20 世纪 70 年代 - 80 年代初) 在 sudo 出现之前,Unix 系统管理员和需要特权操作的…...
vue3+vite项目中使用.env文件环境变量方法
vue3vite项目中使用.env文件环境变量方法 .env文件作用命名规则常用的配置项示例使用方法注意事项在vite.config.js文件中读取环境变量方法 .env文件作用 .env 文件用于定义环境变量,这些变量可以在项目中通过 import.meta.env 进行访问。Vite 会自动加载这些环境变…...
Spring Cloud Gateway 中自定义验证码接口返回 404 的排查与解决
Spring Cloud Gateway 中自定义验证码接口返回 404 的排查与解决 问题背景 在一个基于 Spring Cloud Gateway WebFlux 构建的微服务项目中,新增了一个本地验证码接口 /code,使用函数式路由(RouterFunction)和 Hutool 的 Circle…...
Java线上CPU飙高问题排查全指南
一、引言 在Java应用的线上运行环境中,CPU飙高是一个常见且棘手的性能问题。当系统出现CPU飙高时,通常会导致应用响应缓慢,甚至服务不可用,严重影响用户体验和业务运行。因此,掌握一套科学有效的CPU飙高问题排查方法&…...
sipsak:SIP瑞士军刀!全参数详细教程!Kali Linux教程!
简介 sipsak 是一个面向会话初始协议 (SIP) 应用程序开发人员和管理员的小型命令行工具。它可以用于对 SIP 应用程序和设备进行一些简单的测试。 sipsak 是一款 SIP 压力和诊断实用程序。它通过 sip-uri 向服务器发送 SIP 请求,并检查收到的响应。它以以下模式之一…...
人机融合智能 | “人智交互”跨学科新领域
本文系统地提出基于“以人为中心AI(HCAI)”理念的人-人工智能交互(人智交互)这一跨学科新领域及框架,定义人智交互领域的理念、基本理论和关键问题、方法、开发流程和参与团队等,阐述提出人智交互新领域的意义。然后,提出人智交互研究的三种新范式取向以及它们的意义。最后,总结…...
