- 博客(25)
- 资源 (8)
- 收藏
- 关注
原创 关于Linux下C++程序内存dump的分析和工具
Google breakpad是一个非常实用的跨平台的崩溃转储和分析模块,支持Linux、mac、solaris、windows。可以借助Google breakpad来捕捉程序程序崩溃的错误报告。即在程序崩溃时会生成dump文件。
2024-10-12 18:42:36
1198
1
原创 FFmpeg的一些命令集
上面的命令会把当前目录下的图片(名字如:image1.jpg. image2.jpg. 等…)合并成 video.mpg。支持的图片格式有:PGM. PPM. PAM. PGMYUV. JPEG. GIF. PNG. TIFF. SGI。ffmpeg -i video_origine.avi video_finale.mpg将.mpg 转成.avi。上面的命令会生成 image1.jpg. image2.jpg. …将.avi 视频转成.mpg。
2023-06-29 10:35:39
1030
原创 FFmpeg一些结构体
第四章 数据结构1. AVCodec 结构体2. AVCodecContext 结构体3. AVInputFormat 结构体4. AVFormatContext 结构体5. MovContext 结构体6. URLProtocol 结构体7. URLContext 结构体8. AVIOContext 结构体(老版本为:ByteIOContext)9. AVStream 结构体10. MOVStreamContext 结构体11. AVPacket 结构体12
2021-09-18 19:49:02
931
原创 Qt乱码问题
1. 之前QT4版本中文乱码解决办法是在main.cpp文件加入:#include <QTextCodec>int main(int argc, char **argv){ ...... // 以下部分解决中文乱码 QTextCodec *codec = QTextCodec::codecForName("utf8"); //Linux QTextCodec::setCodecForTr(codec); QTextCodec::setCodecFor
2021-02-08 18:10:00
1859
原创 C++的三种输入输出
C++的输入输出分为三种:1.基于控制台的I/O2.基于文件的I/O3.基于字符串的I/O一、基于控制台的I/O我们所熟悉的输入输出操作分别是istream(输入流)和ostream(输出流)这两个类提供的,为了允许双向的输入/输出,有istream和ostream派生出了iostream类。cin是 istream的实例,cout是ostream的实例。二、基于文件的I/O三、基于...
2020-12-18 22:09:50
1481
1
原创 C++拷贝构造
一. 什么是拷贝构造函数首先对于普通类型的对象来说,它们之间的复制是很简单的,例如:int a = 100;int b = a;而类对象与普通对象不同,类对象内部结构一般较为复杂,存在各种成员变量。下面看一个类对象拷贝的简单例子。#include <iostream>using namespace std;class CExample {private: int a;public: //构造函数 CExample(int b) {
2020-12-16 21:08:30
252
原创 C++11实现高精度定时器、计时器
C++11实现高精度定时器、计时器直接上代码#pragma once#ifndef _TIMER_H_#define _TIMER_H_#include <functional>#include <chrono>#include <thread>#include <atomic>#include <memory>#include <mutex>#include <condition_variable>
2020-08-20 15:20:48
2017
1
原创 STL底层数据结构实现
STL底层数据结构实现C++ STL 的实现:1.vector:底层数据结构为数组 ,支持快速随机访问2.list底层数据结构为双向链表,支持快速增删3.deque底层数据结构为一个中央控制器和多个缓冲区,详细见STL源码剖析P146,支持首尾(中间不能)快速增删,也支持随机访问deque是一个双端队列(double-ended queue),也是在堆中保存内容的.它的保存形式如下:[堆1] --> [堆2] -->[堆3] --> …每个堆保存好几个元素,然后堆和堆之
2020-05-27 15:42:26
313
原创 多线程、线程池实现方式整理
最近有感而发,工作中用到的各种环境的多线程解决方案多之又多,再此先进行一些简单的整理以备不时之需。如果有不当之处敬请指正。 各种环境下的线程处理CreateThread Win32提供的创建线程APImfc下提供的CWinThread类,和AfxBeginThread等等函数QT中的QThreadLinux中Fork、exec簇函数、pthread库等。boost::thre...
2020-04-27 14:24:21
257
原创 C++编码规范
综述C++ 是一门十分复杂并且威力强大的语言,使用这门语言的时候我们应该有所节制,绝对的自由意味着混乱。我十分清楚每个人对怎么编写代码都有自己的偏好。这里定下的规范,某些地方可能会跟个人原来熟悉的习惯相违背,并引起不满。但多人协作的时候,需要有一定规范。定下一些规范,当大家面对某些情况,有所分歧的时候,容易达成共识。另外通过一定规范,加强代码的一致性,从团队中某人的代码切换到另一个人的代码...
2020-01-20 14:47:54
664
原创 不同版本的Linux防火墙关闭和开启
1、Ubuntu 的防火墙关闭与启动。ufw enbale 开启防火墙ufw disable 关闭防火墙ufw status 查看防火墙状态2、redhat系列包括redhat ,centos 和 fedora不同版本关闭防火墙的方式并不一样redhat,centos6及fedora旧的版本关闭防火墙方式service iptables st...
2019-11-29 15:29:57
433
原创 Linux各挂载点的作用,以及简单的分区方案
Linux 下各个目录的作用及内容在 Linux 下,我们看到的是文件夹(目录):在早期的 UNIX 系统中,各个厂家各自定义了自己的 UNIX 系统文件目录,比较混乱。Linux 面世不久后,对文件目录进行了标准化,于1994年对根文件目录做了统一的规范,推出 FHS ( Filesystem Hierarchy Standard ) 的 Linux 文件系统层次结构标准。FH...
2019-10-29 17:18:07
5189
原创 g++ 编程初窥门径
1、gcc和g++的区别https://www.cnblogs.com/liushui-sky/p/7729838.htmlhttps://zhidao.baidu.com/question/1861085479773134907.html2、安装g++在debian下直接apt-get install gcc g++就可以了。而在Fedora下yum install gcc g++ 报...
2019-10-24 14:45:27
376
1
原创 QT5 qDebug 输出到文件
QT4的做法和QT5有差异, QT5中已经废除了qInstallMsgHandler .具体实现:#include "mainwindow.h"#include <QApplication>#include <QFile>#include <QTextStream>#include <QDebug>#include <QDateT...
2019-10-22 18:52:38
624
原创 一个C++单例模板类
一个C++单例模板类#include <mutex>using namespace std;template<class T>class CSingleton{private: CSingleton();//防止构造函数 CSingleton(const CSingleton<T> &);//防止拷贝构造函数 CSi...
2019-09-26 15:10:23
198
原创 循环利用内存、环形缓冲区
备份两种重复利用内存,避免频繁申请内存的方法。方法一:重复利用一块线性内存DataBuffer.h#ifndef DATABUFFER_H#define DATABUFFER_H#define BUFFER_SIZE 1024 //初始缓冲区大小class DataBuffer{public: char *m_pBuffer; //缓冲区 int m...
2019-08-16 17:52:47
722
原创 error LNK2005 原理及解决办法
error LNK2005,解决办法错误信息:testLib.lib : error LNK2005: 已经在 msvcprtd.lib(MSVCP90D.dll) 中定义libcpmtd.lib: error LNK2005: 已经在 msvcprtd.lib(MSVCP90D.dll) 中定义发生情况:test.exe调用静态库json_vc71_libmtd.lib时。tes...
2019-08-07 11:12:13
6476
原创 Jrtp的简单应用,以及内存泄漏的问题。
工程发生了内存泄漏,排查许久发现是jrtp传输的问题。 在此备份一下,以共勉。接收端代码段:int main(void){#ifdef RTP_SOCKETTYPE_WINSOCK WSADATA dat; WSAStartup(MAKEWORD(2, 2), &dat);#endif // RTP_SOCKETTYPE_WINSOCK RTPSession sess;...
2019-08-02 12:16:22
551
原创 共享内存
定义:共享内存是映射一段能被其他进程所访问的内存,这段共享内存由一个进程创建,但多个进程都可以访问。共享内存是最快的 IPC 方式,它是针对其他进程间通信方式运行效率低而专门设计的。它往往与其他通信机制,如信号两,配合使用,来实现进程间的同步和通信。一、同一程序多个实例的共享内存是不是同一程序的多个实例就没办法共享数据了呢,有时这是很有用的!答案是可以共享,通过共享数据段可以很容易的在同一程...
2019-08-02 09:21:15
178
原创 protobuf优缺点、编译与使用
protof的描述首先 protobuf是一个开源项目,是goole内部久经考验的一个东西。主要用于结构化数据串行化的灵活、高效、自动的方法,有如XML,不过他更小,更快,也更简单。你可以定义自己的数据结构,然后使用代码生成器生成的代码来读写这个数据结构。甚至可以在无需重新部署程序的情况下更新数据结构。一、protobuf的优点:1、性能好/效率高时间开销: XML格式化(序列化)的开销还...
2019-08-01 17:50:20
4832
原创 ADO连接数据库出现错误码 0x80004003
有一天客户现场连接数据库时反馈报错误码0x80004003。 一看是无效的指针,然后定位到在创建实例时全部都失败了。m_ptrCommand.CreateInstance(__uuidof(Command)); m_ptrRecordset.CreateInstance(__uuidof(Recordset)); m_ptrConnection.CreateInstanc...
2018-06-29 15:22:01
2545
原创 SQL各个服务的作用。
各个服务的作用SQL Active Directory Helper : 服务支持与 Active Directory 的集成SQL Full-text Filter Daemon Launcher (MSSQLSERVER) : 用于启动全文筛选器后台程序进程的服务,该进程将为 SQL Server 全文搜索执行文档筛选和断字。禁用此服务将使 SQL Server 的全文搜索功能不可用。...
2018-06-21 10:47:19
3653
原创 char数组和指针的区别
一个简单的字符分割函数引发的思考。char * SegStr1(const char * pSrc,int n){ int nLen = strlen(pSrc); char ptrSrc[256] = {0}; char *pSeg = ptrSrc; for (int n = 0;n<nLen;n++) { *pSeg++ = pSrc[n]; if ((n...
2018-05-31 18:35:51
439
baseclasses.zip
2019-08-06
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人