- 博客(25)
- 资源 (3)
- 收藏
- 关注
原创 share_ptr和make_share 的使用
shared_ptr和make_share 的使用智能指针的使用可以让我们省去很多自动释放的功夫,保持内存的干净整洁。智能智能所管理的内存是如何自动释放的呢?我们写个简单的例子来测试一下。#include <iostream>using namespace std;class test {public: test() { cout << "构造函数" << endl; }> 这里是引用 ~test() { cout <<
2021-08-11 21:43:54 1034
原创 C++ string 类型对非字符数据的处理
对于C++中的string类型,是否可以赋值为一个含有非字符的数据呢,如果可以,那在处理的时候,有哪些需要注意的事项呢,接下来,我们通过代码来进行探索。#include <iostream>#include <string>using namespace std;int main(){ char data[] = { 'a', 'b', 'c', 0, 2, 3, 4, 5, 6, 7, 8, 9, 1 }; printf("size of = %d \n",s.
2021-08-09 22:15:06 637
原创 线程同步-条件变量和信号量
介绍很详细的文章 ---》条件变量详解主要的函数有如下几个 pthread_cond_init (pthread_cond_t *cond, const pthread_condattr_t *attr); 进行初始化的函数 初始化的方式有两种,可以直接使用宏直接对变量进行定义可以用宏PTHREAD_COND_INITIALIZER来初始化静态定义的条件...
2018-12-03 14:36:44 176
原创 互斥量-简单解析
在线程中对资源的访问,很多时候要遵循院子操作,这时候就需要用互斥锁了。int x; // 进程中的全局变量 pthread_mutex_t mutex; pthread_mutex_init(&mutex, NULL); //按缺省的属性初始化互斥体变量mutex pthread_mutex_lock(&mutex); // 给互斥体变量加锁 … //对变量x 的...
2018-12-03 11:05:57 247
原创 线程终止的两种方式及注意事项
感觉介绍很全的一篇文章,可以详细看一下,我主要写一下我在工作中遇到的问题 ——> 关于终止线程的文章 1.问题背景: 在线程中进行图像处理,而处理函数出现不可控的死循环情况,概率很低,当前没有什么好的解决办法,使用取消线程,然后再重新启动的方式,强使运行正常。2.线程的取消函数pthread_cancel int pthread_cancel(pthread_t th...
2018-12-03 10:15:21 656
原创 编程小技巧 一
工作中的一些小的调试bug,日常记录到此处1.对system调用产生的打印信息进行屏蔽 在程序内部进行调用system时是很方便的一件事情,比如想建立一个多层目录 ,使用mkdir()函数只能一层一层的建立,使用命令行mkdir -p 就可以一次性建立多层目录。使用char * str[10];sprintf(str,"data/path/test/%s","name")...
2018-11-30 14:12:37 174
原创 opencv中Mat的初始化
对于Mat变量的初始化,构造函数给出了各种各样的方法,可以查看路径https://blog.csdn.net/u014310328/article/details/46381105敲黑板:Mat::Mat(int rows, int cols, int type) 创建行数为 rows,列数为 col,类型为 type 的图像; 需要提一点的是对于rows ...
2018-11-01 10:16:47 1605
原创 关于C语言double free
一些简单的问题,但是却没有意识到。关于代码中double free的错误。 伪代码: char * str = NULL; str = (char *)malloc(sizeof (char)*num); //申请内存 free(str); 在一些循环函数中,我们经常会通过判断str是否为NULL,来判断数据的有效性,那么问题就来了 接上...
2018-11-01 09:59:41 2574
原创 linux下获取路由器IP地址
现有一个视频监控,无线传输的项目。希望通过板子连接笔记本的热点,然后通过wifi将本地文件传输到笔记本。但是需要获取路由器的地址,也就是笔记本的ip,才能进行通信。通过百度搜索,得知gateway就是路由器的地址。通过route指令可以得到现在,我们需要从这些信息中得到 ip地址的信息,通过grep,搜索到第二行然后,我们通过awk '{print $2}' 打印出
2017-10-11 17:21:48 5893
原创 交叉编译搜索不到指定文件的解决办法
对于很多刚入门linux的新手来说,交叉编译是一个很头疼的问题。因为常常会出现缺少这个头文件和编译环境不完全的问题。我在编译一个现有的工程时,发现一个问题,在linux下用gcc编译,编译成功,但是使用arm-linux-gcc编译则找不到头文件。我把该头文件的路径加到PATH环境变量下,也不能解决该问题。后来,百度找到以下帖子。现在立flag,以供以后查阅交叉编译头文件搜素路径
2017-10-11 17:13:56 1003
原创 段错误的解决办法
今天调试程序,在一个文件读的时候出现一个段错误,检查几遍没有发现任何问题。最后,把部分代码抠出来,单独调试,发现了一个很可笑的问题,也是很马虎的一个问题,导致了这次的断错误 printf("ret = %s \n",ret);注意了,这个ret是int类型的。但是我在printf中引用的时候,用的是%s而不是%d。所以导致了断错误。对%s的类型,会将ret认为是一个地址,而ret指向
2017-09-25 16:34:18 2605
原创 A33上AP6210 ap和sta无法自由切换的问题
公司一个视频监控的项目,需要在全志A33上实现wifi作为ap和sta进行视频的传输和控制。作为sta的话,一开始用wpa_supplicant交叉编译,然后移植到板子上就能正常启动了,可以连接wifi并且可以和外网www.baidu.com ping通。如果作为AP端的话(如果网卡支持的话,我的板子上用的是wifi和蓝牙二合一的ap6210)那就需要hostapd来启动热点作为AP端。
2017-09-21 17:00:35 2146 2
原创 关于V4L2编程中获取视频流的误区
最近在做视频流的采集,然后保存成图片的形式,网上找的例程对映射缓存区的读取是这样的struct v4l2_buffer buf;ioctl(fd, VIDIOC_DQBUF,&buf);process_image(usr_buf[buf.index].start, usr_buf[buf.index].length);//保存成图片的函数ioctl(fd, VIDIOC_QBUF,&
2017-09-21 16:07:39 1766
原创 全志A33交叉编译环境搭建-64位编译问题
在进行交叉编译时,出现以下问题error while loading shared libraries: libstdc++.so.6: cannot open shared obj 一系列问题环境变量的设置没有问题,问题是出现在64位操作系统的原因上。安装以下apt-get install lib32z1 lib32ncurses5apt-get install
2017-08-02 16:29:53 1416
原创 关于函数指针的个人理解,uboot中二重函数指针的实例分析
函数指针,顾名思义,指向函数的指针。下面是百度百科对函数的声明过程函数指针的声明方法为:返回值类型 ( * 指针变量名) ([形参列表]);注1:“返回值类型”说明函数的返回类型,“(指针变量名 )”中的括号不能省,括号改变了运算符的优先级。若省略整体则成为一个函数说明,说明了一个返回的数据类型是指针的函数,后面的“形参列表”表示指针变量指向的函数所带的参数列表。例
2017-06-05 09:43:57 401
转载 LINUX 命令 SED
1. Sed简介sed 是一种在线编辑器,它一次处理一行内容。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。接着处理下一行,这样不断重复,直到文件末尾。文件内容并没有 改变,除非你使用重定向存储输出。Sed主要用来自动编辑一个或多个文件;简化对文件的反复操作;编写转换程序等。以下
2017-05-22 21:52:53 165
转载 gcc 编译选项
1.1 常规选项1、没有任何选项:gcc helloworld.c结果会在与helloworld.c相同的目录下产生一个a.out的可执行文件。2、-o选项,指定输出文件名:gcc -o helloworld helloworld.c-o意思是Output即需要指定输出的可执行文件的名称。这里的名称为helloworld。3、-c选项,只编译,不汇编连接:gcc -c he
2017-05-22 13:47:19 319
原创 VMware共享文件无法查看的问题,ubuntu 虚拟机
在安装完成vmware-tool后,启用共享文件夹,然后在/mnt/hgfs 下却没有共享的文件。解决方案:1、sudo vmhgfs-fuse .host:/ /mnt/hgfs 如果没有安装open vm tools,系统会提示安装该工具2、ls /mnt/hgfs
2017-05-19 16:15:15 468
转载 Ubuntu16.04安装32位支持库
buntu16.04版本已不支持ia32-libs的软件包,而是使用了lib32ncurses5、lib32z1软件包做为替代,所以在Ubuntu16.04版本当中应该安装执行:apt-get install lib32ncurses5 apt-get install lib32z1详细说明如下:Ubuntu Linux 解决 bash ./ 没有那个文件或目录
2017-05-18 22:12:56 2558 1
linux下TCP,UDP的C代码
2017-09-15
使用hostapd 制作soft ap
2017-09-15
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人