- 博客(23)
- 资源 (1)
- 收藏
- 关注
原创 2023.08.17sigprocmask用法解析
sigprocmask的作用是将mask信号集的信号阻塞下来,不让其传递到进程信号处理函数中,这样做的目的是,能把信号传递给sfd,关联的文件描述符。这样就可以实现等待信号,有信号的时候就可以从sfd里读出信号并判断是哪个信号触发了,并作出相应的处理。这个实例是既有信号处理函数,又有阻塞,实现了信号的延时处理 ,主逻辑的工作不被打断,直到主逻辑处理完了才 解除阻塞信号,执行信号处理 函数。
2023-08-17 14:54:07
93
原创 僵尸进程的形成和处理方法
僵尸进程是由于子进程死了,但是父进程没管,导致子进程的task_struct不释放,内核栈也无法释放,造成资源浪费。进程状态为Z。
2023-06-27 20:38:00
747
原创 procfs使用及字符设备
在这些目录下,又有一些以文件名命名的文件,它们对应了进程的各种信息,比如进程的命令行参数、内存映射、文件描述符等等。除了进程信息之外,procfs还提供了一些其他的信息,比如系统信息、设备信息等等。用户空间程序可以通过procfs接口创建自己的文件,以提供自定义的信息。函数创建一个procfs文件,它的参数包括文件名、文件权限、父目录和文件操作函数等等。procfs是Linux内核提供的一种虚拟文件系统,它允许用户空间程序通过文件I/O的方式访问内核数据结构。的字符设备节点,它的操作函数分别是。
2023-06-16 15:19:18
161
原创 我的C++学习笔记
目录1.基础1.1数组和指针2.容器和算法3.STL剖析4.内存管理5.C++111.基础1.1数组和指针数组:数组是用于储存多个相同类型数据的集合。指针:指针相当于一个变量,但是它和不同变量不一样,它存放的是其它变量在内存中的地址。区别:赋值:同类型指针变量可以相互赋值,数组不行,只能一个一个元素的赋值或拷贝存储方式:数组:数组在内存中是连续存放的,开辟一块连续的内存空间。数组是根据数组的下进行访问的,多维数组在内存中是按照一维数组存储的,只是在逻辑上是多维的。指针:指针很灵活,它可以指向
2023-06-13 21:21:20
620
原创 error c99 designator ‘name‘ outside aggregate initializer解决方案
error c99 designator 'name' outside aggregate initializer解决方法
2023-05-11 14:53:42
1246
1
原创 Android native heap内存占用分析
参考文章: Android Native层(C++)内存泄露诊断2. 单抓native heap dump先设置属性:然后启动app并使用,然后抓dump信息:3. 用native_heapdump_viewer.py分析工具获取方法: 将native_heap.txt文件上传到编译平台,通过native_heapdump_viewer.py脚本解析该文件。这个脚本的大致原理呢其实就是利用addr2line将Sysmbol表与我们dunp下来的地址进行map比对,同时呢计算出每个so库所分配的内
2023-04-17 21:58:49
1522
原创 配置我自己的vim终端
(curl只要不报错,就安装没问题。4. 安装几个好用的插件不过我将autosuggestion插件放到了.oh-my-zsh/custom/plugins里面。这套插件管理机制没有玩的太明白,但是已经可以愉快的使用了。
2023-03-28 20:47:32
316
原创 学习linux编程(一)
常量在C++里的定义就是一个top-level const加上对象类型,常量定义必须初始化。对于局部对象,常量存放在栈区,对于全局对象,常量存放在全局/静态存储区。对于字面值常量,常量存放在常量存储区。20多源文件的编译方法如果有多个源文件,基本上有两种编译方法:假设有两个源文件为test.c和testfun.c多个文件一起编译将testfun.c和test.c分别编译后链接成test可执行文件。分别编译各个源文件,之后对编译后输出的目标文件链接。
2023-03-26 17:43:35
1336
原创 linux C语言之access()函数的用法
1.函数功能:检查调用进程是否可以对指定的文件执行某种操作。2.函数原型:1)函数头文件#include <stdio.h>#include <unistd.h>2)函数原型int access(const char * pathname, int mode)3)形参pathname:需要检测的文件路劲名mode:需要测试的操作模式。4)函数返回值...
2023-02-12 15:06:25
1410
1
原创 linux系统调用和内存管理以及栈帧
一. linux编程笔记和C++编程笔记0. terminal操作快捷键等终端的设置项对终端的设置主要包括:配置文件首选项和键盘快捷键的设置。选择“编辑” 菜单进入相关的设置。创建终端的标签页1 通过 Ctrl+Shift+T 快捷键创建新标签页。2 选择 “文件” 菜单 -> 选择“打开标签页” 选项。3 在终端中,单击鼠标右键(或按下键盘上的Application 键),选择 “打开标签页” 选项。终端默认的常用快捷键快捷键描述Ctrl+Alt+T启动终端
2021-09-16 10:38:10
998
原创 算法笔记123
目录1. 位运算专题1.1 判断一个整数是否是2的整数次幂1. 位运算专题1.1 判断一个整数是否是2的整数次幂 2的整次幂的数在二进制表示中只有最高位是1,其余全是0.。方法一: 将2的幂次方写成二进制形式后,很容易就会发现有一个特点:二进制中只有一个1,并且1后面跟了n个0; 因此问题可以转化为判断1后面是否跟了n个0就可以了。 如果将这个数减去1后会发现,仅有的那个1会变为0,而原来的那n个0会变为1;因此将原来的数与去减去1后的数字进行与运算后会发现为零。 最快速的方法
2021-06-29 22:59:31
166
原创 Python实现图像质量评价准则PSNR
本文引用自:https://blog.csdn.net/u010886794/article/details/84784453计算PSNR的Python代码,网上有下面两种:import cv2import numpy as npimport mathdef psnr1(img1, img2): mse = np.mean((img1 - img2) ** 2 ) if mse < 1.0e-10: return 100 return 10 * math...
2020-05-18 19:08:20
1346
原创 小米Redmi Airdots无线蓝牙耳机无法串联问题解决
针对问题: 小米Redmi Airdots无线蓝牙耳机左右耳无法串联!(出现这种情况一般有三种情况吧,1.使用两个耳机分别连接了不同的设备使用后,发现无法串联;2.突发异常情况,莫名其妙出现这种情况;3.其中一个丢失,重新购买了丢失的那只,需要重新串联两只耳机。)解决方法: 出现以上情况时,我们需要重置两只耳机,让他们恢复到最初的状态,就可以重新串联了。重...
2020-02-24 13:27:18
96356
14
原创 《Crowd Counting via Adversarial Cross-Scale Consistency PursuitZan》 论文翻译
摘要 由于大规模变化,视角扭曲和严重遮挡等原因,人群计数或密度估计在计算机视觉中具有挑战性。现有方法通常存在两个问题:1)由多尺度CNN引起的模型av-eraging效应 广泛采用的l2回归损失; 2)不同比例输入的估计不一致。 为了明确地解决这些问题,我们提出了一种新的人群计数(密度估计)框架,称为Adversarial Cross-Scale Consisten-cy Pursu...
2019-10-24 15:14:03
991
原创 CSRNet: Dilated Convolutional Neural Networks for Understanding the HighlyCongested Scenes
csrnet:用于理解高度拥挤场景的扩张卷积神经网络 针对复杂场景的拥挤场景理解我们提出了一个 CSRNet 网络,该网络主要包括两个部分,前端使用一个 卷积网络用于 2D 特征提取,后端用一个 dilated CNN。 该网络在几个常用的公开人群密度估计数据库上取得了不错的效果。 我们提出了一种用于拥塞场景识别的网络,称为CSRNet,以提供一种数据驱动的...
2019-10-20 14:06:25
613
原创 Single-Image Crowd Counting via Multi-Column Convolutional Neural Network
摘要 本文旨在开发一种方法,该方法可以从具有任意人群密度和任意视角的单个图像准确估计人群数。 为此,我们提出了一种简单但有效的多列卷积神经网络(MCNN)架构,以将图像映射到其人群密度图。本文旨在开发一种方法,该方法可以从具有任意人群密度和任意视角的单个图像准确估计人群数。 为此,我们提出了一种简单但有效的多列卷积神经网络(MCNN)架构,以将图像映射到其人群密度图。 所提出的MC...
2019-10-17 20:17:43
269
原创 Towards Perspective-Free Object Counting with Deep Learning论文翻译
https://blog.csdn.net/zhangjunhit/article/details/78140091上述链接给出了改论文的翻译和笔记摘要 本文讨论图像中对象实例的计数问题。我们的模型能够精确地估计出交通拥挤时的车辆数量,或者计算出拥挤场景中的人。我们的第一个贡献是提出了一种新的卷积神经网络解决方案,称为计数cnn(ccnn)。本质上,ccnn是一个回归模...
2019-10-12 15:14:34
108
原创 Windows下编译安装boost库并使用VS2017测试
在windows下安装编译boost库,并在VS2017上测试使用boost库 本人在第一次使用boost库时在网上搜索了很多安装的教程,但是由于以前的博客版本老旧,所以编译安装的方法有点繁琐,而且可能让人折腾半天还没搞好,经过多次踩坑实践并阅读了官方安装文档终于摸索出了正确的道路,特此分享出来。注意:安装boost库需要依赖VS集成开发环境,因此需要电脑上有vs软件,而且尽量...
2019-07-05 17:29:22
1229
原创 Linux下安装编译boost库,并在Qt5.6中运行测试程序
一.在ubuntu12.04下安装和编译boost库1.在windows中下载boost,下面给出的是1.50.0版本的,我们下载unix版本boost_1_50_0.tar.gz。由于我使用的是vmware虚拟机,所有在windows中下载了安装包。 https://www.boost.org/users/history/version_1_50_0.h...
2019-03-07 22:28:27
1129
原创 ubuntu12.04下Qt5.6设置命令行启动方式
本菜鸟由于不精通ubuntu,但是需要做项目使用qt,而将qt安装好后想再次打开时候却找不到qt的图标,
2019-03-06 15:52:02
1607
原创 C++实现将彩色BMP格式图转化为不同灰度级图
本人在学习图像处理时使用vs2017中MFC框架编写了相关的图像处理程序,使用的编程语言是c++,而且没有使用Openvc。 接着上一篇博文(图像降质)今天写一下将图像转化为不同灰度级的图像。关于在MFC上如何新建菜单选项、修改ID以及添加消息处理函数的步骤请参看上一篇文章,而关于将一副彩色图像转化为不同灰度级的图的思想,其实很简单,就是先将彩色图转化为256级灰度图,然后再对他进行灰度分...
2019-01-20 16:23:09
2510
1
原创 C++实现降低一幅图像的空间分辨率
本人在学习图像处理时使用vs2017中MFC框架编写了相关的图像处理程序,使用的编程语言是c++,而且没有使用Openvc。关于MFC框架的使用请在网上搜索相关视频或者博客学习,下面给出MFC框架,基本的框架已经搭建好,只需要自己添加程序。附上框架百度云盘资源:链接:https://pan.baidu.com/s/1naem-uRNQLVhfF-FwY4kmA注意:使用VS2...
2019-01-18 15:57:07
4649
4
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人