C++高性能并行编程与优化 - 课件 - 16 现代 CMake 模块化项目管理指南
实际上是:根 /biology/src 。 复习: GLOB 和 GLOB_RECRUSE 的区别 • file (GLOB myvar CONFIGURE_DEPENDS src/*.cpp) • file (GLOB_RECURSE myvar CONFIGURE_DEPENDS src/*.cpp) • 疑问 1 :都是按照通配符批量匹配文件,有什么区别? • GLOB : src/main GLOB_RECURSE : src/main.cpp (√) src/test/main.cpp (√) • 区别在于 GLOB_RECURSE 允许 * 匹配嵌套的目录。 • 疑问 2 :加了 CONFIGURE_DEPENDS 这个选项有什么区别? • 如果不加,在你创建新文件时, myvar 不会自动更新,还是旧的那几个文件,可能出现 undefined symbol ,需要重新运行 cmake 5Config.cmake ,那 么请你设置变量 Qt5_DIR 为 D:/Qt5.12.1/msvc2017/lib/cmake/Qt5 。有三种设置方法: • (1) 单次有效。在 configure 阶段,可以从命令行设置(注意要加引号): • cmake -B build -DQt5_DIR=”D:/Qt5.12.1/msvc2017/lib/cmake/Qt5” • (2) 全局启用。右键“我的电脑”0 码力 | 56 页 | 6.87 MB | 1 年前3C++高性能并行编程与优化 - 课件 - 11 现代 CMake 进阶指南
install 这个目标,即安 装 -D 选项:指定配置变量(又称缓存变量) • 可见 CMake 项目的构建分为两步: • 第一步是 cmake -B build ,称为配置阶段( configure ),这时只检测环境并生成构建规则 • 会在 build 目录下生成本地构建系统能识别的项目文件( Makefile 或是 .sln ) • 第二步是 cmake --build build 逐个添加即可 使用变量来存储 建议把头文件也加上,这样在 VS 里可以出现在“ Header Files” 一栏 使用 GLOB 自动查找当前目录下指定扩展名的文件,实现批量添加源文件 启用 CONFIGURE_DEPENDS 选项,当添加新文件时,自动更新变量 如果源码放在子文件夹里怎么办? 必须把路径名和后缀名的排列组合全部写出来吗?感觉好麻烦 大可不必!用 aux_source_directory exe 运行了。 • 而不必根据不同的平台,手动写出 build/main 或是 build\main.exe 。 再加一个 configure 伪目标,用于可视化地修改缓存变量 • 这样就可以用 cmake --build build --target configure 来启动 ccmake 修改缓存了。 • 这在 Linux 上相当于 ccmake -B build , Windows 则是0 码力 | 166 页 | 6.54 MB | 1 年前3Analyzing MySQL Logs with ClickHouse
Server Configuration • Install Audit Plugin • INSTALL PLUGIN audit_log SONAME 'audit_log.so'; • Configure Audit Plugin • audit_log_format=JSON • audit_log_rotate_on_size=1G • audit_log_rotations=2 • sql | clickhouse-client –multiline • cat schema/mysqlaudit.sql | clickhouse-client –multiline • Configure ClickTail • [Required Options] • ParserName = mysqlaudit • LogFiles = /var/lib/mysql/audit.log schema/db.sql | clickhouse-client –multiline • cat schema/mysql.sql | clickhouse-client –multiline • Configure ClickTail • [Required Options] • ParserName = mysql • LogFiles = /var/log/mysql/db01-slow.log0 码力 | 43 页 | 2.70 MB | 1 年前3Introduction to Mobile UI Test Automation
--save-dev npm install -g appium -wd -tslib(async/await) -mocha -typings -reporting If you don’t configure it, it won’t work. ;) Appium config file: Platform name Platform version Device name Application0 码力 | 41 页 | 4.75 MB | 1 年前3sync clickhouse with mysql mongodb
2019-10-03 00:00:00 BONUS Time travel history state Create Update Update Delete Future ● Auto configure through web ● Auto deploy on Kubernetes ● Open source? ● Github: kevwan Q&A Thanks0 码力 | 38 页 | 2.25 MB | 1 年前3绕过conntrack,使用eBPF增强 IPVS优化K8s网络性能
modification to kernel Comparison with industry • Pitfalls • Performance of clusters of the same configure may differ • Performance of a cluster in different time slot may differ • Due to CPU oversold0 码力 | 24 页 | 1.90 MB | 1 年前3唐刚 - Use Rust to Develop the Decentralized Open Data Application - RustChinaConf2023
Network Topology How to Write Logic How to Write Logic How to Write Logic ➔ Docker compose, yaml configure file ➔ One command to boot up and deploy ➔ 5 fixed EightFish services + 1 your customized app services0 码力 | 30 页 | 2.53 MB | 1 年前3THE FIRST EXPLORATION OF PROJECT SPARROW
II. Practicing Sparrow https://github.com/pop-os/system76-scheduler Auto-configure CFS and process priorities for improved desktop responsiveness. https://www.phoronix.com/scan0 码力 | 68 页 | 13.14 MB | 1 年前3C++高性能并行编程与优化 - 课件 - 01 学 C++ 从 CMake 学起
可以自动检测源文件和头文件之间的依赖关系,导出到 Makefile 里。 • make 的语法非常简单,不像 shell 或 python 可以做很多判断等。 • CMake 具有相对高级的语法,内置的函数能够处理 configure , install 等常见需求。 • 不同的编译器有不同的 flag 规则,为 g++ 准备的参数可能对 MSVC 不适用。 • CMake 可以自动检测当前的编译器,需要添加哪些 flag0 码力 | 32 页 | 11.40 MB | 1 年前3
共 9 条
- 1