随笔分类 - c++
摘要:1,valgrind Valgrind通常用来成分析程序性能及程序中的内存泄露错误 常被安装在ubuntu上,通过使用命令的方式调用 安装 sudo apt-get install valgrind #也可以直接make /make install编译 valgrind的7大模块: 1、memche
阅读全文
摘要:1,文件夹相关操作 判断文件夹是否存在,不存在就创建 string pthOut="../demo/resultimg"; int direxists = access(pthOut.c_str(),0); //参数0表示判断是否存在,存在返回0 cout << direxists << endl;
阅读全文
摘要:1,安装预操作 1,有木有显卡 ##查看有没有显卡 lspci | grep -i nvidia 返回:看不大懂,大意是有的 01:00.0 VGA compatible controller: NVIDIA Corporation Device 1c82 (rev a1) 01:00.1 Audi
阅读全文
摘要:1,安装流媒体服务器nginx: 主要参考教程:https://blog.csdn.net/ansu_wl/article/details/83040674 总结起来就是:下载,源码和rtmp扩展包 解压放到~目录下,让它看起来大约这样: └── nginx-1.15.3 #这个是源码 ├── au
阅读全文
摘要:一,ubuntu源码编译安装 1,如何安装 参考:感谢原作者 基本操作就是:config,make,make install 需要注意的是,如何证明自己安装成功了呢?大约是由于版本升级的原因,并不能按照原作者的方式去证实 2,安装完成以后让pkg-config帮我们管理各种头文件和lib 配置方法:
阅读全文
摘要:1,播放教程playbin #include <gst/gst.h> #include <stdio.h> /* Structure to contain all our information, so we can pass it around */ typedef struct _CustomD
阅读全文
摘要:1,gstream是个啥? GStreamer 是用来构建流媒体应用的开源多媒体框架,实际上就是可以用来解码mp4的一个东东。 2,编译安装 我的开发模块的ubuntu18.04系统自带gstream,并且交由pkg-config管理,灰常方便。就不用编译安装等一通操作了。 gstreamer的各种
阅读全文
摘要:1,计算变量大小 _msize #计算new出来的内存大小,单位是字节 sizeof #计算数据类型大小,比如int是4字节,mat是96字节,vector不管多大都是32字节 strlen #数组中由多少个元素 2,printf的格式化字符串参数 打印double:%f 打印long:ubuntu
阅读全文
摘要:1,vs中头文件,库文件和动态库文件怎么配置 头文件:项目--属性--vc++目录--包含目录 库文件(lib):项目--属性--链接器--输入--附加依赖项 动态库文件(dll):项目--属性--vc++目录--库目录 除此以外,运行exe的时候动态库还需要拷贝到当前文件夹或者添加到环境变量 以上
阅读全文
摘要:1,智能指针是啥? 普通指针基本上就是一个变量,它的的生命周期和变量的作用域有关,局部变量在走出作用域以后就会销毁,全局变量可能程序运行完了就销毁了。 new出来的指针和普通指针的区别在于,new出来的那块内存区域是不会自动被释放的,需要你手动调用delete才能释放,然而由于种种原因,new de
阅读全文
摘要:1,枚举是个啥? c++允许程序员创建自己的数据类型,枚举数据类型是程序员自定义的一种数据类型,其值是一组命名整数常量。 enum day{mon,tue=2,wed,thu,fri,sat,sun}; //定义一个叫day的数据类型,如果没有赋值,默认从0开始,mon=0,tue=1。。。如果赋值
阅读全文
摘要:1,typedef字面意思,自定义一种数据类型 语法:typedef 类型名称 类型标识符; 1),基本用法: (1) 为基本数据类型定义新的类型名。 (2) 为自定义数据类型(结构体、公用体和枚举类型)定义简洁的类型名称。 (3) 为数组定义简洁的类型名称。 (4) 为指针定义简洁的名称。 简单使
阅读全文
摘要:1,c++遍历数组 int数组和char数组不同哦,int占4位,char占1未,同理double也不同。基本遍历方法: int mylist[4] = { 1,2,3,4 }; int mylistlen = sizeof(mylist) / sizeof(mylist[0]); printf("
阅读全文
摘要:1,先说结论: 两个指针指向同一个结构,一个改了结构,另一个也会改掉。 两个指针指向同一个结构,修改了其中一个的指向,并且改了其中的内容,另一个不为所动。 2,看例子 main.cpp #include <iostream> struct ListNode { int val; ListNode *
阅读全文
摘要:1,基本语法 1,定义一个char字符: char hehe='a'; //单引号 2,定义一个由char字符组成的数组: char daqing[] = "abcd"; char daqing[] = { 'a','b','c','d' }; //两个效果一样,这两个都是和字符相关的实体,不是指针
阅读全文
摘要:1,vector是啥? 是具有动态大小的数组,具有顺序。能够存放各种类型的对象。相比于固定长度的数组,运行效率稍微低一些,不过很方便。 2,咋用? 声明: vector <int> vi; //vector<类型>标识符 vector <int> vii(10); //Vector<类型>标识符(容
阅读全文
摘要:1,预编译头文件是个啥? 根本上来说,他是个头文件和cpp文件的合体,cpp文件中的内容是宏定义和:include ”xxx.h" 2,为啥要用预编译头文件? c++头文件是不编译的,只是用来做声明用,按照cpp来编译,所有的cpp都分别一个一个编译好以后再链接起来,include进来的头文件做了什
阅读全文
摘要:1,c++宏定义是干啥的?防止重复引用,如何防止重复引用? //a.h //声明一个类,和其他声明 #include <iostream> class A{ public: static int a; static int b; }; //b.h //需要a.h的类,又还有些其他声明 #includ
阅读全文
摘要:#include using namespace std; int main () { int var = 20; // 实际变量的声明 int* ip; // 指针变量的声明 ip = &var; // 在指针变量中存储 var 的地址 cout << "Value of var variable: "; cou...
阅读全文
摘要:1,内联函数 如果一个函数是内联的,那么在编译时,编译器会把该函数的代码副本放置在每个调用该函数的地方。用inline指定,内联函数通常短小精悍没有while和for循环,能够帮助提升程序执行的速度 2,this指针 3,指向类的指针 上面的例子,返回结果: Constructor called.C
阅读全文

浙公网安备 33010602011771号