这是一篇关于讲解shared_ptr使用过程中常见的问题及对应方法的文章 什么是shared_ptr 自行百度。 常见问题 1.多次引用同一数据 { int* p = new int[10]; std::shared_ptr<int> sp1(p); std::shared_ptr<int> sp2(p); } 它会导致两次释放同一块内存,而破坏堆。 2.使用shar
左值是指在内存中有确定位置并且可以被取地址的表达式,它通常指代一个具有持久性(Permanent)和唯一性(Identity)的对象 右值是指表示值的表达式,它通常是一个临时的、没有持久性和唯一性的对象或字面值常量 右值分为:纯右值(字面常量)和将亡值(更侧重于自定义类型的函数的返回值,表达式的返回值)。 当构造传左值,就走拷贝构造,当构造传右值,就走移动构造。 对于左值,我们后续还要使用,所以只
嵌入式环境中,轻量级的 http 客户端 介绍: libghttp 其基本使用如下: ghttp_request *request = ghttp_request_new(); ghttp_set_type(request,ghttp_type_post); ghttp_set_header(request, http_hdr_Connection, "close"); ght
参考:https://zhuanlan.zhihu.com/p/468346396 1、基本概念 ffmpeg中提及时间戳时,一定要明确它所对应的时基(time_base)。为精确描述该其数值,使用以下结构体来描述这一有理数概念。 typedef struct AVRational{ int num; ///< numerator int den; ///< denom
python可以调用c/c++的动态库,前提是c库的函数必须用extern "C" 声明。 首先python 须引入 ctypes 库 以下示例,展示如何加载C库函数,并注册C库中的回调函数: import ctypes from time import sleep libmp4svr = ctypes.cdll.LoadLibrary('./libmp4RtspSer
C++ 中的工厂模式和抽象工厂模式都是为了实现对象的创建和实例化,但它们在设计和使用方式上有一些区别。 工厂模式(Factory Pattern): 工厂模式通过一个工厂类来封装对象的创建逻辑,并将具体对象的创建细节隐藏起来。客户端只需通过工厂类调用相应的方法来获取所需的对象实例。 工厂模式适用于需要创建一组相关对象的场景,工厂类可以根据条件返回不同的具体对象。 工厂模式强调的是创建过程的封装,使
// src 原始数据 是nv12 的YUV数据,直接从手机摄像头采集的数据 // dest 截取的数据 开辟的空间大小为(x1 - x0 + 1) * (y1 - y0 + 1)包含两边的点 // srcW 原始数据的宽 // srcH 原始数据的高 // x0 y0 左上角的坐标点 (必须是偶数) // x1 y1 右下角的坐标点 (必须是奇数) #define CLAMP(a, s, m)
YUV数据上面画线画框 参考:https://blog.csdn.net/u010312436/article/details/101379177 #include <stdio.h> #define READ_MAX (1024) typedef unsigned char uInt8; typedef unsigned short uInt16; typedef unsign
参考: https://codeleading.com/article/66461370741/ 在OnInitDialog()中添加: ::AllocConsole();//打开控件台资源 FILE *fp; freopen_s(&fp,"CONOUT$", "w+t", stdout);//申请写,这个是针对VS2013版本的代码,在VS较为早
1.关于结构体中定义函数 在C++中,结构体中定义函数没问题 在C中, 则不行。会报expected specifier-qualifier-list before... 2.在C++中,结构体与类的区别: 在C++中,结构体是一种特殊形态的类。 结构体和类的唯一区别就是: 结构体和类具有不同的默认访问控制属性。 3.C与C++中结构体的区别: 一、相同之处:结构体中可以包含函数;也可以定义p
对于采集视频的C程序,有时需要知道当前视频的实时码率,可以用以下片段实现打印。 #define SHOW_BITRATE #define FRM_BIT_RATE_TIME 3 #define STREAM_TYPE_NUM 3 static unsigned short frmrate_sp[STREAM_TYPE_NUM] = { 0 }; static unsigned short st
不能用gdb调试的场景下,如果发生崩溃,用 add2line工具也能定位到崩溃的行号。 首先在代码中添加以下代码 int pid = getpid(); printf("bitrate_control_init pid: %d\n",pid); char cmd[128]={0}; snprintf(cmd,128,"cat /proc/%d/maps",
c语言开发过程中,用以下工具检测内存泄露。将以下文件include加在需要检测的.c文件中.通过查看打印的malloc,free是否成对进行排查。 #include <stdio.h> #include <stdlib.h> #include <string.h> #include <malloc.h> #ifndef __MEM_TOOLS_H
1.先用ffmpeg将bmp图片转为argb8888,再将argb8888转为argb1555 ffmpeg.exe -i big.BMP -pix_fmt argb big.rgb ffmpeg.exe -i small.BMP -pix_fmt argb small.rgb 2.argb8888 转 argb1555代码如下: #include <stdio.h> #include
sigmarstar IPC开发总结
51CTO博客开发
char* get_sub_split(char* path,const char* delim,int index){//static const char *delim = "."; int i = 0;char* p = strtok(path, delim);//printf("i=%d,%s\\n", i,p);if(i==index){return p;}i++;while((p =
DEBUG=1CC = gccCXX=g++ifeq ($(DEBUG), 1) OPTS=-O0 -g -DDEBUGendifCFLAGS = -fPIC -I$(COMPILE_DIR) -I$(vesdkdev) -I$(es_common) -I$(vesdk) -I$(vesdk)/boost-153/include -I$(vesdkproject
#include "soapH.h" #include "wsddapi.h"#include <stdio.h>#include <sys/types.h> /* See NOTES */#include <sys/socket.h>#include <unistd.h>
省略:onvif client soapRemoteDiscoveryBindingProxy 由 gsoap C++ 方式生成#include "soapRemoteDiscoveryBindingProxy.h"#include "RemoteDiscoveryBinding.nsmap"#include<string>using namespace std;
void StringSplit(CString source, CStringArray& dest, CString division) { if(source.IsEmpty()) { } else { int pos = source.Find(division); if(pos == -1) { dest.Add(sou
将SD卡插入到winodws电脑上,打开config.txt,修改以下值。# uncomment to force a specific HDMI mode (this will force VGA)hdmi_group=2hdmi_mode=16
在/etc/wpa_supplicant/wpa_supplicant.conf最后追加network={ ssid="network-name" psk="network password"}在/etc/network/interface中修改如下:3.配置完成后要执行 以下命令才能在下次
/*********************************************gsoap onvif 客户端功能开发****************************************************************************************/1.编译ssl ,其中安装目录会被gsoap编译时用到见17行2.gsoapunzip gs
安装openssh 到 am5728 板子上注意:目录不要放到虚拟机与windows的共享目录。准备虚拟机上进到目录 /home/llf/ssh创建目录:zlib.install 和 openssl.install $ cd ssh
本工程代码使用场景:2个webservice client ,1个webservice(本来有2个webservice,但富盛的不由我们管理开发)。FS(富盛) webservice client, ZS(卓视) webservice client. ZS(卓视) webservice.本WebServiceClient 工程将FS(富盛) webservice client, ZS(
/**本文基于LIVE555的嵌入式的RTSP流媒体服务器一个设计文档,个中细节现剖于此,有需者可参考指正,同时也方便后期自己查阅。(本版本是基于2011年的live555)作者:llf_17@qq.com*/RTSP SERVER(基于live555)详细设计 这个server的最终情况如下:性能:D1数据时:1.
MFC OnPaint 不断被调用的解决
First off, it's important to understand that there is no single standard H.264 elementary bitstream format. The specification document does contain an Annex, specifically Annex B, that describes one p
一、使用程序自动生成dump文件。在程序运行崩溃时,会自动生成到程序运行目录。添加以下。#include <DbgHelp.h>#pragma comment(lib, "dbghelp.lib")//注意:动态库dbghelp.dll也要加入到运行目录下。LONG __stdcall ExceptCallBack(EXCEPTION_POINTERS *pExcPointer){ c
Copyright © 2005-2024 51CTO.COM 版权所有 京ICP证060544号