
学习笔记
文章平均质量分 66
Outman-YYYY
这个作者很懒,什么都没留下…
展开
-
`Opencv` 形态学笔记
Opencv。原创 2025-01-07 11:16:53 · 327 阅读 · 0 评论 -
perf工具使用
Context-switches:进程切换次数,记录了程序运行过程中发生了多少次进程切换,频繁的进程切换是应该避免的。Cache-misses:程序运行过程中总体的 cache 利用情况,如果该值过高,说明程序的 cache 利用不好。ask-clock-msecs:CPU 利用率,该值高,说明程序的多数时间花费在 CPU 计算上而非 IO。IPC:是 Instructions/Cycles 的比值,该值越大越好,说明程序充分利用了处理器的特性。的具体某个事件,希望按某个事件来进行统计则可以通过。...原创 2022-08-26 17:10:27 · 289 阅读 · 1 评论 -
C++ API设计之风格
当然,也可以使用内部链接隐藏实现中的符号名,比如将符号名声明为静态的,这样它们的作用域就限制在.c文件之中了。通过这种方式,可以确保任何这样的函数都不会被导出到外部,从而不会导致符号冲突。相对于运行时开销而言,代码体积是需要优先考虑的因素,那么应该选择面向对象方案,而非模板。模板的一个重要属性是,不同于使用继承时的动态(运行时)多态,它支持静态(编译时)多态。数据驱动型程序指的是:通过每次运行时提供不同的输入数据,它可以执行不同的操作。模板进一步的益处,对于特定类型的实例类,可以特化它的某些方法。原创 2022-08-25 17:11:29 · 788 阅读 · 0 评论 -
有限状态机SCXML
有限状态机SCXML文章目录有限状态机`SCXML`简介实例`SCXML `规范组成及元素详解`SCXML `元素`State `元素`Transition `元素`Parallel `元素`OnEntry `元素`OnExit `元素可执行内容元素数据模型与数据操作元素外部交互元素简介SCXML是一种多元化、基于事件状态的机器语言,其用法主要有几个方面:它是在VoiceXML 3.0的基础上发展而来的高级对话语言,可封装为不同的语言模块作为语言分析的应用开发程序,它在VoiceXML 3.0的转载 2022-04-02 15:09:56 · 1378 阅读 · 0 评论 -
在gdb中调试release的程序(c++)
在gdb中调试release的程序(c++)文章目录在gdb中调试release的程序(c++)方法一:从`debug`版中提取调试符号方法二:直接使用`debug`版作为符号源使用release编译的可执行文件不包含调试信息,没有调试符号文件,所以在gdb中使用l和bt命令都看不到相应的源代码信息方法一:从debug版中提取调试符号生成调试符号表:# pp_debug为编译好的debug版可执行程序objcopy --only-keep-debug pp_debug pp_debug.symb原创 2022-04-01 15:03:50 · 1896 阅读 · 0 评论 -
c++ 系统内存检查(Linux)
c++ 系统内存检查(Linux)文章目录c++ 系统内存检查(Linux)检查内存泄露检查堆溢出检查栈溢出检查全局内存溢出检查释放后继续使用检查内存泄露通过g++来检查内存泄露的问题# g++g++ -fsanitize=address -g -o testmen testmem.cpp# CMakeLists.txt 里面添加set(CMAKE_CXX_FLAGS "-fsanitize=address")使用-fsanitize=address开关以后,代码不用做任何改动,就自动具有原创 2022-04-01 11:32:56 · 3451 阅读 · 0 评论 -
c++ 调试动态库
c++ 调试动态库(Linux)文章目录c++ 调试动态库(Linux)`Linux`动态库命名规则动态库动态加载导出动态库动态加载动态库Linux动态库命名规则lib[动态库名字].so.主版本号.次版本号.发行版本号libtest.so.1.0.123gcc在链接时寻找的名称是不包含版本号的文件名gdb attach 时一般要用sudo权限执行动态库动态加载导出动态库// 动态库导出// test.cpp#include <stdio.h>#include <原创 2022-04-01 10:14:55 · 1570 阅读 · 0 评论 -
c++ 多线程死锁调试
c++ 多线程死锁调试文章目录c++ 多线程死锁调试c++标准库中的锁RAIIstd::mutexstd::timed_mutex死锁调试(Linux)调试思路(4.4.2):死锁条件解决办法c++标准库中的锁std::mutex:最基本的互斥对象std::recursive_mutex:可以递归使用(重入)的互斥对象,递归调用不会导致死锁std::timed_mutex:带有超时功能,可以提供一个等待时间,如果超过这个时间则不会继续等待,返回失败std::recursive_timed_mu原创 2022-03-31 11:47:53 · 1266 阅读 · 0 评论 -
C++代码调试(gdb)
C++代码调试(gdb)文章目录C++代码调试(gdb)Linux系统gdb调试功能gdb常用功能调试执行启用/禁用断点查看断点删除断点程序运行使用gdb内嵌函数gdb模式使用gdb内嵌函数gdb模式Linux系统gdb调试功能gdb常用功能支持的功能描述断点管理设置断点、查看断点等调试执行逐语句、逐过程执行查看数据在调试状态下查看变量数据、内存数据等运行时修改变量值在调试状态下修改某个变量的值显示源代码查看源代码信息搜索源代码对源代码进原创 2022-03-31 10:46:29 · 2966 阅读 · 0 评论 -
关于sudo
关于sudo文章目录关于`sudo`授予普通用户`sudo`权限用`sudo`权限执行最后一条执行过的命令在后台运行`sudo`命令使用`sudo`以其他用户身份运行命令验证`sudo`凭据,延迟`sudo`密码输入时间使用`sudo`列出用户权限使用`sudo`显示另一个用户的权限Super User Do使用sudo,可以在不知道root密码或者以root用户登录的情况下访问root权限授予普通用户sudo权限# 创建一个具有主文件夹的用户并将该用户添加到 sudo 组sudo usermo原创 2022-03-31 10:32:45 · 298 阅读 · 0 评论 -
【shell】录制并回放终端会话
【shell】录制并回放终端会话开始录制终端会话# 指定了-t选项,script命令会把时序数据发送到stdout;将这些数据重定向到timing.logscript -t 2> timing.log -a output.session退出录制exit播放# 播放命令序列及输出scriptreplay timing.log output.session...原创 2022-03-21 20:00:42 · 367 阅读 · 0 评论 -
windows高效率神器小软件
windows高效率神器小软件文章目录windows高效率神器小软件本地文件搜索文档、笔记画图截图置顶代办护眼看图压缩SSH数据库PDF录屏播放器其它播放器其它本地文件搜索EverythingWoxListary文档、笔记Typora画图draw.ioXMindMindMaster亿图图示visio截图Snipaste置顶DeskPins代办桌面日历护眼SunsetScreen护眼宝看图Honeyview压缩360压缩原创 2022-03-21 11:27:09 · 1246 阅读 · 0 评论 -
cmake find_package
cmake find_package文章目录cmake find_packagecmake find_package基本原理如何编写自己的cmake module模块系统信息主要开关选项关于cmake的一些知识【转载】cmake find_packagecmake find_package基本原理当编译一个需要使用第三方库的软件时,我们需要知道去哪寻找头文件,则CMakeLists.txt需要指定头文件目录和库文件:include_directories(/usr/include/curl)t原创 2022-03-17 16:55:11 · 7277 阅读 · 0 评论 -
CMakeLists.txt剖析
Cmake Practice文章目录Cmake Practicecmake基本语法规则CMakeLists.txt剖析ADD_SUBDIRECTORYSET EXECUTABLE_OUTPUT_PATH/LIBRARY_OUTPUT_PATHINSTALLADD_LIBRARYSET_TARGET_PROPERTIEScmake基本语法规则变量使用 ${} 方式获取,但是在IF控制语句中是直接使用变量名指令(参数1 参数2) 参数使用括弧括起,参数之间使用空格或者分号分开指令不区分大小写原创 2022-03-17 16:52:43 · 672 阅读 · 0 评论 -
vscode高效率开发小技巧
vscode高效率开发小技巧文章目录`vscode`高效率开发小技巧`C++/Python`开发常用插件常用快捷键(包含自定义)自定义代码片段C++/Python开发常用插件# Better Comments功能: 高亮注释(正常注释,前面使用相应的前缀即可),可自定义;但前缀需要手动添加和删除,较为鸡肋// ! 红色的高亮注释// ? 蓝色的高亮注释// * 绿色的高亮注释// todo 橙色的高亮注释// // 灰色带删除线的注释// 普通的注释# Bracket Pair Co原创 2022-03-17 16:44:12 · 1226 阅读 · 0 评论 -
将sdk利用cmake实现可find_package的做法
将sdk利用cmake实现可find_package的做法文章目录将`sdk`利用`cmake`实现可`find_package`的做法方法一(推荐):方法二:方法一(推荐):cmake_minimum_required(VERSION 3.15)# 拟导出的名字project(import_libraries)set(CMAKE_CXX_STANDARD 14)# 重要add_library(OpenNI2 INTERFACE)# 头文件目录(不一定是include)target_i原创 2022-03-17 16:37:16 · 440 阅读 · 0 评论 -
关于单元测试
关于单元测试文章目录关于单元测试特性单元测试与集成测试的区别测试方法命名规则`Stub`对象`Stub`与`Mock`的区别不需要对私有方法进行单元测试(在满足第三条的情况下)一些原则`Stub`参考文章特性自动、可重复的容易实现一旦写好,将来都可使用任何人都可以运行单击一个按钮就可运行单元测试与集成测试的区别集成测试运行多个集成到一起的代码单元,用来确认软件中应该出现的一个或多个预期结果,而单元测试通常只鼓励运行和测试某个单元测试方法命名规则[被测方法]_[场景]_[预期行为]原创 2022-03-06 22:34:08 · 226 阅读 · 0 评论 -
VUE.js
VUE.js文章目录VUE.jsJavaScript库jQuerynode.jskoa2Vue.jsbootstrap`VUE`v-ifv-showv-elsev-else-ifv-forv-bindv-htmlv-on响应式使用methodscomputedwatcherswatchfiltersmethodscomputedwatcherswatchfiltersJavaScript库jQueryPrototypeMootoolsjQueryjQuery,也就是JavaScript和原创 2022-03-06 22:25:12 · 388 阅读 · 0 评论 -
Typescripts Promise
Typescripts: Promise作者:EER链接:https://juejin.cn/post/6844903728399532039来源:掘金Promise 表示一个异步操作的最终结果,与之进行交付的方式主要是then方法,该方法注册了两个回调函数,用于接收promise的终值或本promise不能执行的原因Promises/A+(规范)Promise 一个拥有 then 方法的对象或函数,其行为符合 Promises/A+ 规范;thenable 一个定义了 then 方法的原创 2022-03-06 22:22:29 · 2740 阅读 · 0 评论 -
【早期笔记】java 开发环境搭建
java 开发环境搭建文章目录java 开发环境搭建`windows`下搭建Java修饰符Java 变量源文件声明规则Employee.java 文件代码:synchronized 修饰符transient 修饰符实例volatile 修饰符实例`instanceof `运算符`Super `关键字的使用`TestDog.java` 文件代码:多态的优点多态存在的三个必要条件封装的优点Java 接口接口与类相似点:接口与类的区别:接口特性抽象类和接口的区别标记接口 ?枚举类成员`Java `包(`pack原创 2022-03-06 22:11:23 · 352 阅读 · 0 评论 -
html 相关
html 相关文章目录html 相关HTML 链接HTML 图像换行水平分割线HTML 提示 - 如何查看源代码标题大小与字体大小的关系HTML 元素HTML HTML 链接如果你将 target 属性设置为 "_blank", 链接将在新窗口打开。这是一个链接HTML 图像alt 属性用来为图像定义一串预备的可替换的文本假如某个 HTML 文件包含十个图像,那么为了正确显示这个页面,需要加载 11 个文件。加载图片是需要时间的,所以我们的建议是:慎用图片。换行水平分割线 标签在 H原创 2022-03-06 22:09:07 · 249 阅读 · 0 评论 -
css 相关
css 相关文章目录css 相关CSS Id 和 ClassCSS 规则由两个主要的部分构成:选择器,以及一条或多条声明CSS声明总是以分号(;)结束,声明总以大括号({})括起来为了让CSS可读性更强,你可以每行只描述一个属性CSS注释以 /* 开始, 以 */ 结束CSS Id 和 Classid 选择器可以为标有特定 id 的 HTML 元素指定特定的样式。HTML元素以id属性来设置id选择器,CSS 中 id 选择器以 “#” 来定义。ID属性不要以数字开头,数字开头的ID原创 2022-03-06 22:07:27 · 89 阅读 · 0 评论