C/C++
liyubao160
iOS ,oc ,swift ,java,android,html5,nodejs
展开
-
ffmpeg之api实现、ios集成和使用ffmpeg、iOS集成和使用SDL、MacOS使用FFmpeg
参考:https://blog.csdn.net/zwz1984/article/details/82824524原创 2020-10-16 09:55:09 · 2543 阅读 · 0 评论 -
FFmpeg之命令行操作、音视频同步的原理
FFmpeg概要:https://blog.csdn.net/u011146511/article/details/85229288设置好FFmpeg的环境变量,就可以在命令行直接使用ffmpeg、ffprobe、ffplay命令;ffmpeg:ffmpeg的主要用途是编码、解码、转码、媒体格式转换、转封装。帮助基础信息:ffmpeg --help高级信息:ffmpeg --help long全部信息:ffmpeg --help full查看支持的视频格式:ffmpeg -forma原创 2020-09-18 17:28:36 · 1658 阅读 · 0 评论 -
iOS之ffmpeg开发音视频编解码概要、SDL
官网:http://ffmpeg.org/documentation.html简介:https://blog.csdn.net/qq_36688143/article/details/79162121ffmpeg中文网站:http://www.ffmpeg.clubffmpeg论坛:http://bbs.chinaffmpeg.com/forum.phpffmpeg:腾讯云社区:h...原创 2020-09-17 15:05:17 · 943 阅读 · 0 评论 -
c++之linux操作系统函数
linux操作系统函数内核:虚拟文件系统、内存管理、设备管理、进程管理(pcb进程控制块 文件表述符表)open 打开文件 创建文件read 读取文件close 关闭文件write 写入文件lseek 移动文件位置 计算文件大小 拓展文件fcntl 设置非阻塞stat 得到文件属性信息 ,会穿透追朔到源文件;lstat 不会穿透linux文件存储的原理:目录项中的inode(节点索引)指向外部索引节点位置,索引节点中的块位...原创 2020-09-08 15:56:47 · 350 阅读 · 0 评论 -
C语言之linux、shell、vim、gcc、makefile、gdb调试
教程http://www.runoob.com/linux/linux-tutorial.htmlPHP之linux使用:https://blog.csdn.net/u011146511/article/details/78408477在Windows上安装linux;首先安装virtualbox创建虚拟机(新建---下一步-----给虚拟机分配内寸-----分配硬盘大小---),然后在v...原创 2020-09-08 10:19:11 · 656 阅读 · 0 评论 -
c++之QT的使用
Qt5.12下载网址:http://download.qt.io/archive/qt/5.12/5.12.2/父类QWidget:子类QmainWindow和Qdialog;QWidget类是所有用户界面对象的基类。 窗口部件是用户界面的一个基本单元:它从窗口系统接收鼠标、键盘和其它事件,并且在屏幕上绘制自己。每一个窗口部件都是矩形的,并且它们按Z轴顺序排列。一个窗口部件可以被它的父窗口部件或者它前面的窗口部件盖住一部分。 QMainWindow 类提供一个有菜单条、锚接窗口...原创 2020-09-04 10:01:25 · 5067 阅读 · 0 评论 -
c++常用算法
#include<algorithm> <numeric> <functional>遍历算法for_each:vector<int>v;v.push_back(1);v.push_back(2);v.push_back(3);for_each(v.begin(),v.end(),普通函数);for_each(v.begin(),v.end(),仿函数);transform:搬运容器到另外一个容器;transform(v.begin原创 2020-08-27 14:39:20 · 574 阅读 · 0 评论 -
C++之内存分区、基础知引用、重载、封装、继承、多态、文件操作、模板、容器
https://blog.csdn.net/u011146511/article/details/64920969https://blog.csdn.net/u011146511/article/details/51297474https://blog.csdn.net/u011146511/article/details/80709016***C++在程序执行时,将内存分成四个区域:代码区:存放函数体的二进制代码,有系统进行管理;对于频繁执行的代码,只有一份,数据共享;代码不可以修改;原创 2020-08-27 10:25:47 · 316 阅读 · 0 评论 -
VScode开发C++简单的步骤、及cmake的使用
参考:https://blog.csdn.net/qq_33973359/article/details/105720511vscode c++配置指南:;https://blog.csdn.net/qq_35793285/article/details/100546205文档:https://code.visualstudio.com/docs/cpp/config-clang-maccommand + shift +p 打开命令窗口;c_cpp_properties.json(编译...原创 2020-08-19 11:08:32 · 995 阅读 · 0 评论 -
C语言基础知识和注意事项
1.数组作为函数的参数会默认转换为指针,形参接收到的是数组的首地址。如果是字符数组作为参数,必须同时吧数组的长度传过去;如果是字符串,则可以不传长度,字符串有'\0'结尾,可以计算出字符串的长度;2.static修饰的静态常量只能在当前文件中使用,全局变量可以在整个文件中使用,通过extern声明。extern不能和static一起用。3.n级指针,就有n个*,n级指针的值 = n个*加指...原创 2019-01-08 23:35:03 · 977 阅读 · 0 评论 -
宏定义
***********#if和#ifdef的区别:https://blog.csdn.net/chenyong05314/article/details/80138599#if !TEST_DEFINBE //该宏没有定义与宏值定义为 0的执行结果是一样的 printf("if !TEST_DEFINE\n\r"); // TEST_DEFINE未define或#define TES...原创 2018-11-23 09:39:32 · 988 阅读 · 0 评论 -
socket多线程、一个服务器多客户端的实现
鉴于ServerSocket的accept方法是阻塞的,那么只能通过多线程的方式实现多客户端连接与服务器连接基本步骤:1,服务端创建ServerSocket绑定端口号,循环调用accept()方法2,客户端创建一个socket并请求和服务器端连接3,服务器端接受客户端请求,创建socket与该客户建立连接4,两个socket在一个单独的线程上通话5,服务器端继续等待新的连接...转载 2018-10-14 21:39:34 · 11387 阅读 · 0 评论 -
C语言之原码补码、劫持、位运算
静态库lib只能用于编译的时候,动态库dll可以在程序运行的时候使用;在项目中引入静态库:#pragma comment(lib,"lib.lb") "lib.lib"是静态库的名称原码=补码取反+1;*********劫持*ollydbg劫持工具;detours是微软亚洲研究院的劫持软件;黑名单的原理就用劫持:劫持自己,劫持别人,劫持系统;应用层劫持;**********位运算*****低位...原创 2018-06-23 09:45:41 · 331 阅读 · 0 评论 -
C语言之二分查找法、利用时间创建随机数、冒泡、选择、快速排序
获取随机数:二分查找法必须查找有序的数组;原创 2018-06-23 09:45:33 · 381 阅读 · 0 评论 -
C语言之队列、堆栈、内存映射、多线程
吧原代码编译成汇编语言(机器语言):RadSam工具;队列:先近先出;栈:先近后出;栈的大小是由编译器决定的,默认大小是1M,可以更改,但是一般不建议修改,每个exe都有一个栈,无法利用较大内存,用完立刻回收;栈是自动回收内存;堆必须手动释放;栈区存放的是变量;堆区:动态开辟内存;CPU是用于运算和控制的,只能赋中间临时的值,不能保存结果;内存是用来保存结果的,只能对保存结果的内存赋值;regis...原创 2018-06-16 09:15:57 · 1043 阅读 · 0 评论 -
C语言数据结构之链表
-------------栈------------先进后出;约定了数据的存储规则;-------------------队列----------------------先进先出;-----------链表------------------------原创 2018-06-16 07:18:36 · 327 阅读 · 0 评论 -
C语言之整数和字符串转、自定义简单的IDE、注入dll、bat批处理
GCC编译器是linux上的版本,在windows上的版本就是MinGW;编译成.exe还用VC++编译器是Vistualstudio上自带的;.bat是批处理文件,里面直接写上要执行的代码,可以直接一次性执行;整数和字符串转换:...原创 2018-06-15 19:03:07 · 244 阅读 · 0 评论 -
C语言之内存检索
DLL注入工具;黑客工具---xuetr.exe原创 2018-06-15 18:17:21 · 1783 阅读 · 0 评论 -
C语言之水仙花数、计算数字的位数、递归
水仙花数:10的n次方:计算数字的位数:原创 2018-06-15 15:09:06 · 1556 阅读 · 0 评论 -
C语言之五种循环、打开应用、关闭应用窗口
spy工具---查找窗口的相关信息窗口工具OD;原创 2018-06-14 10:00:54 · 2572 阅读 · 0 评论 -
C语言运行原理
c语言运行原理:原创 2018-06-10 22:41:30 · 6442 阅读 · 1 评论 -
C语言之文件操作
stream流文件;设备文件:chuan原创 2018-06-10 22:38:02 · 717 阅读 · 0 评论 -
C语言之动态内存malloc、realloc、calloc、数组增删改查、深拷贝浅拷贝
C语言之动态内存malloc原创 2018-06-04 00:08:21 · 601 阅读 · 0 评论 -
C语言之复合类型结构:结构体、联合共用体、枚举、typedef
结构体、联合共用体、枚举、typedef原创 2018-06-01 23:51:27 · 538 阅读 · 0 评论 -
C语言之指针指针数组、数组指针、函数指针、二重指针、泛型函数
指针数组:数组里面的每个元素都是指针;char* array[]={"hello","world","ooo"};理解:数组中有三个元素,每个元素都是char*类型,数组中保存的是三个字符串的首地址;注意:指针中的数据是存储在只读数据区,数组中数据是存储在栈区;数组指针:二重指针:保存指针地址的指针;...原创 2018-05-31 23:17:57 · 697 阅读 · 0 评论 -
android之全局变量、局部变量、生命周期、存储布局、常量
------------------全局变量的生命周期----------整个程序运行开始到结束,不同的文件间的全局变量的引用,可以通过extern关键字,不会重新编译,只是申明一下;-----------------局部变量的生命周期--------------函数内部;------------------------static关键字-------------------1.限制作用域:仅限当...原创 2018-05-29 22:46:22 · 2505 阅读 · 0 评论 -
C语言值指针\字符串、字符串查找
隐式转换的原则:向表示范围大的方向转换;有符号向无符号转,小字节向多字节转,整数向实数(float、double)转;每一个字节都有一个内存地址与之对应;数组名,也就是首地址,是一个常量;所有字符串都是以\0结束;字符串可以用char *a="hello";char str[6]="hello",char str[]="hello";char str[6]={‘h’,‘e’,‘l’,‘l’,‘o...原创 2018-05-29 21:01:46 · 8083 阅读 · 0 评论 -
C语言之数组\函数、字符数组
数组名的本质是地址(数组的首地址);数组的地址就是第一个元素的地址;int a[5]={1,2,3,4,5};//定义了一个5个元素的数组;a表示数组的地址(也是第一个元素的地址),a+1表示数组第二个元素的地址,依次类推;*a表示取第一个元素的值,*(a+1)表示取第二个元素的值,依次类推;--------------------------函数-------------------------...原创 2018-05-27 22:13:19 · 316 阅读 · 0 评论 -
C语言之数据类型、原码、反码、补码、运算符、条件、循环、格式控制
内存地址从0x0000开始编号,每一个字节对应一个内存地址;计算机最小的单位是位,但是最小的管理单位是字节;如果一个变量有多个字节;一般&c取的是首地址;%x和%p都可以打印内存地址;...原创 2018-05-24 23:00:10 · 282 阅读 · 0 评论 -
C之编译原理、命名、基础、进制转换
******************编译原理******************************************命名*********************变量名:字母数字下划线,只能以字母和下划线开始;变量名中不能有#,可以有$;区分大小写;不能用C语言中的关键字;有符号二进制溢出的运算:https://www.cnblogs.com/Jam...原创 2018-05-22 22:08:24 · 270 阅读 · 0 评论 -
C++之配置eclipseC++环境
参考配置环境:https://www.cnblogs.com/zhchoutai/p/6852908.html原创 2018-05-20 20:25:19 · 3542 阅读 · 0 评论 -
PHP之LAMP、linux终端命令
linnux命令行操作:ls [-al] 目录 //查看指定目录底下的文件信息cd ~ 或者cd //直接切换到自己的家目录cd / //直接切换到根目录7.查看指令或文件的位置:which 指令或文件8.直接打印文件信息到终端:cat 文件分区原理:根目录:~表示该用户处于自己的家目录;linux历史:目录的相关操作:相对路径和绝对路径:文件操作:用户和组的操作:给用户设...原创 2017-11-29 21:53:48 · 374 阅读 · 0 评论 -
C语言之字符串、字符数组,字符串函数
============1.字符数组:用来存放字符的数组称为字符数组,例如:char a[10]; //一维字符数组char b[5][10]; //二维字符数组char c[20]={'c', ' ', 'p', 'r', 'o', 'g', 'r', 'a','m'}; // 给部分数组元素赋值char d[]={'c', ' ',转载 2017-04-13 12:19:37 · 3269 阅读 · 0 评论 -
C语言之数组的使用
要想把数据放入内存,必须先要分配内存空间。放入4个整数,就得分配4个int类型的内存空间:定义数组 int a[length];数组名叫a。这样的一组数据的集合称为数组(Array),它所包含的每一个数据叫做数组元素(Element),所包含的数据的个数称为数组长度(Length),例如int a[4];就定义了一个长度为4的整型数组,名字是a。转载 2017-04-13 11:20:58 · 42070 阅读 · 0 评论 -
C语言之位运算/原码/反码/补码、进制间的转换、常规应用
所谓位运算,就是对一个比特(Bit)位进行操作。比特(Bit)是一个电子元器件,8个比特构成一个字节(Byte),它已经是粒度最小的可操作单元了。C语言提供了六种位运算符:运算符& | ^ ~ >>说明按位与按位或按位异或取反左移右移*****************按位与运算(&)一个比特(Bit原创 2017-04-13 10:58:53 · 8187 阅读 · 1 评论 -
C 语言之枚举类型Enum
枚举类型的定义形式为:enum typeName{ valueName1, valueName2, valueName3, ...... };enum是一个新的关键字,专门用来定义枚举类型,这也是它在C语言中的唯一用途;typeName是枚举类型的名字;valueName1, valueName2, valueName3, ......是每个值对应的名字的列表。注意最后的;不能原创 2017-04-13 10:26:59 · 425 阅读 · 0 评论 -
C语言之结构体struct
============1.结构体定义结构体也是一种数据类型,它由程序员自己定义,可以包含多个其他类型的数据;使用结构体(Struct)来存放一组不同类型的数据。结构体的定义形式为:struct 结构体名{ 结构体所包含的变量或数组};结构体是一种集合,它里面包含了多个变量或数组,它们的类型可以相同,也可以不同,每个这样的变量或数组都称为结构体的成员。例如原创 2017-04-13 10:17:24 · 1183 阅读 · 0 评论 -
C语言之函数使用
==============1.普通函数******无参无返回值:voidfunc(){printf("Hello world!\n");}**********无参有返回值:一旦遇到 return语句,不管后面有没有代码,函数立即运行结束,将值返回。例如:int func(){ int a=100, b=200, c;原创 2017-04-13 09:48:36 · 431 阅读 · 0 评论 -
C语言socket编程的分包和粘包的有关问题解决
粘包----------------socket缓冲区和数据的传递过程,可以看到数据的接收和发送是无关的,read()/recv() 函数不管数据发送了多少次,都会尽可能多的接收数据。也就是说,read()/recv() 和 write()/send() 的执行次数可能不同。例如,write()/send() 重复执行三次,每次都发送字符串"abc",那么目标机器上的 read()转载 2017-04-12 14:02:34 · 4895 阅读 · 1 评论 -
C语言socket中select函数
nfds: 本参数忽略,仅起到兼容作用,设为0即可; readfds: (可选)指针,指向一组等待可读性检查的套接口; writefds: (可选)指针,指向一组等待可写性检查的套接口; exceptfds:(可选)指针,指向一组等待错误检查的套接口; timeout: 本函数最多等待时间,对阻塞操作则为NULL。Select的函数格式:int select(int...转载 2017-04-10 15:26:51 · 946 阅读 · 0 评论
分享