
C/C++
liyubao160
iOS ,oc ,swift ,java,android,html5,nodejs
展开
-
ffmpeg之api实现、ios集成和使用ffmpeg、iOS集成和使用SDL、MacOS使用FFmpeg
参考:https://blog.youkuaiyun.com/zwz1984/article/details/82824524原创 2020-10-16 09:55:09 · 2493 阅读 · 0 评论 -
FFmpeg之命令行操作、音视频同步的原理
FFmpeg概要:https://blog.youkuaiyun.com/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 · 1619 阅读 · 0 评论 -
c++之linux操作系统函数
linux操作系统函数内核:虚拟文件系统、内存管理、设备管理、进程管理(pcb进程控制块 文件表述符表)open 打开文件 创建文件read 读取文件close 关闭文件write 写入文件lseek 移动文件位置 计算文件大小 拓展文件fcntl 设置非阻塞stat 得到文件属性信息 ,会穿透追朔到源文件;lstat 不会穿透linux文件存储的原理:目录项中的inode(节点索引)指向外部索引节点位置,索引节点中的块位...原创 2020-09-08 15:56:47 · 342 阅读 · 0 评论 -
PHP之LAMP、linux终端命令
linnux命令行操作:ls [-al] 目录 //查看指定目录底下的文件信息cd ~ 或者cd //直接切换到自己的家目录cd / //直接切换到根目录7.查看指令或文件的位置:which 指令或文件8.直接打印文件信息到终端:cat 文件分区原理:根目录:~表示该用户处于自己的家目录;linux历史:目录的相关操作:相对路径和绝对路径:文件操作:用户和组的操作:给用户设...原创 2017-11-29 21:53:48 · 368 阅读 · 0 评论 -
iOS之ffmpeg开发音视频编解码概要、SDL
官网:http://ffmpeg.org/documentation.html简介:https://blog.youkuaiyun.com/qq_36688143/article/details/79162121ffmpeg中文网站:http://www.ffmpeg.clubffmpeg论坛:http://bbs.chinaffmpeg.com/forum.phpffmpeg:腾讯云社区:h...原创 2020-09-17 15:05:17 · 926 阅读 · 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 · 5057 阅读 · 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 · 568 阅读 · 0 评论 -
C++之内存分区、基础知引用、重载、封装、继承、多态、文件操作、模板、容器
https://blog.youkuaiyun.com/u011146511/article/details/64920969https://blog.youkuaiyun.com/u011146511/article/details/51297474https://blog.youkuaiyun.com/u011146511/article/details/80709016***C++在程序执行时,将内存分成四个区域:代码区:存放函数体的二进制代码,有系统进行管理;对于频繁执行的代码,只有一份,数据共享;代码不可以修改;原创 2020-08-27 10:25:47 · 298 阅读 · 0 评论 -
VScode开发C++简单的步骤、及cmake的使用
参考:https://blog.youkuaiyun.com/qq_33973359/article/details/105720511vscode c++配置指南:;https://blog.youkuaiyun.com/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 · 985 阅读 · 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 · 8060 阅读 · 0 评论 -
C语言之水仙花数、计算数字的位数、递归
水仙花数:10的n次方:计算数字的位数:原创 2018-06-15 15:09:06 · 1545 阅读 · 0 评论 -
C语言之二分查找法、利用时间创建随机数、冒泡、选择、快速排序
获取随机数:二分查找法必须查找有序的数组;原创 2018-06-23 09:45:33 · 375 阅读 · 0 评论 -
C语言之原码补码、劫持、位运算
静态库lib只能用于编译的时候,动态库dll可以在程序运行的时候使用;在项目中引入静态库:#pragma comment(lib,"lib.lb") "lib.lib"是静态库的名称原码=补码取反+1;*********劫持*ollydbg劫持工具;detours是微软亚洲研究院的劫持软件;黑名单的原理就用劫持:劫持自己,劫持别人,劫持系统;应用层劫持;**********位运算*****低位...原创 2018-06-23 09:45:41 · 325 阅读 · 0 评论 -
C语言之复合类型结构:结构体、联合共用体、枚举、typedef
结构体、联合共用体、枚举、typedef原创 2018-06-01 23:51:27 · 525 阅读 · 0 评论 -
C语言之五种循环、打开应用、关闭应用窗口
spy工具---查找窗口的相关信息窗口工具OD;原创 2018-06-14 10:00:54 · 2567 阅读 · 0 评论 -
C语言之文件操作
stream流文件;设备文件:chuan原创 2018-06-10 22:38:02 · 713 阅读 · 0 评论 -
C语言之指针指针数组、数组指针、函数指针、二重指针、泛型函数
指针数组:数组里面的每个元素都是指针;char* array[]={"hello","world","ooo"};理解:数组中有三个元素,每个元素都是char*类型,数组中保存的是三个字符串的首地址;注意:指针中的数据是存储在只读数据区,数组中数据是存储在栈区;数组指针:二重指针:保存指针地址的指针;...原创 2018-05-31 23:17:57 · 680 阅读 · 0 评论 -
android之全局变量、局部变量、生命周期、存储布局、常量
------------------全局变量的生命周期----------整个程序运行开始到结束,不同的文件间的全局变量的引用,可以通过extern关键字,不会重新编译,只是申明一下;-----------------局部变量的生命周期--------------函数内部;------------------------static关键字-------------------1.限制作用域:仅限当...原创 2018-05-29 22:46:22 · 2492 阅读 · 0 评论 -
C语言数据结构之链表
-------------栈------------先进后出;约定了数据的存储规则;-------------------队列----------------------先进先出;-----------链表------------------------原创 2018-06-16 07:18:36 · 322 阅读 · 0 评论 -
C语言之linux、shell、vim、gcc、makefile、gdb调试
教程http://www.runoob.com/linux/linux-tutorial.htmlPHP之linux使用:https://blog.youkuaiyun.com/u011146511/article/details/78408477在Windows上安装linux;首先安装virtualbox创建虚拟机(新建---下一步-----给虚拟机分配内寸-----分配硬盘大小---),然后在v...原创 2020-09-08 10:19:11 · 637 阅读 · 0 评论 -
C语言之内存检索
DLL注入工具;黑客工具---xuetr.exe原创 2018-06-15 18:17:21 · 1773 阅读 · 0 评论 -
C语言socket编程(十)a'c'cept()
头文件:#include <sys/types.h> #include <sys/socket.h>定义函数:int accept(int s, struct sockaddr * addr, int * addrlen);函数说明:accept()用来接受参数s 的socket 连线. 参数s 的socket 必需先经bind()、listen()函数处理过, 当有连...转载 2016-07-12 14:40:46 · 587 阅读 · 0 评论 -
C语言基础知识和注意事项
1.数组作为函数的参数会默认转换为指针,形参接收到的是数组的首地址。如果是字符数组作为参数,必须同时吧数组的长度传过去;如果是字符串,则可以不传长度,字符串有'\0'结尾,可以计算出字符串的长度;2.static修饰的静态常量只能在当前文件中使用,全局变量可以在整个文件中使用,通过extern声明。extern不能和static一起用。3.n级指针,就有n个*,n级指针的值 = n个*加指...原创 2019-01-08 23:35:03 · 970 阅读 · 0 评论 -
宏定义
***********#if和#ifdef的区别:https://blog.youkuaiyun.com/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 · 982 阅读 · 0 评论 -
socket多线程、一个服务器多客户端的实现
鉴于ServerSocket的accept方法是阻塞的,那么只能通过多线程的方式实现多客户端连接与服务器连接基本步骤:1,服务端创建ServerSocket绑定端口号,循环调用accept()方法2,客户端创建一个socket并请求和服务器端连接3,服务器端接受客户端请求,创建socket与该客户建立连接4,两个socket在一个单独的线程上通话5,服务器端继续等待新的连接...转载 2018-10-14 21:39:34 · 11374 阅读 · 0 评论 -
C语言运行原理
c语言运行原理:原创 2018-06-10 22:41:30 · 6385 阅读 · 1 评论 -
C语言之动态内存malloc、realloc、calloc、数组增删改查、深拷贝浅拷贝
C语言之动态内存malloc原创 2018-06-04 00:08:21 · 596 阅读 · 0 评论 -
C语言之队列、堆栈、内存映射、多线程
吧原代码编译成汇编语言(机器语言):RadSam工具;队列:先近先出;栈:先近后出;栈的大小是由编译器决定的,默认大小是1M,可以更改,但是一般不建议修改,每个exe都有一个栈,无法利用较大内存,用完立刻回收;栈是自动回收内存;堆必须手动释放;栈区存放的是变量;堆区:动态开辟内存;CPU是用于运算和控制的,只能赋中间临时的值,不能保存结果;内存是用来保存结果的,只能对保存结果的内存赋值;regis...原创 2018-06-16 09:15:57 · 1031 阅读 · 0 评论 -
C语言之整数和字符串转、自定义简单的IDE、注入dll、bat批处理
GCC编译器是linux上的版本,在windows上的版本就是MinGW;编译成.exe还用VC++编译器是Vistualstudio上自带的;.bat是批处理文件,里面直接写上要执行的代码,可以直接一次性执行;整数和字符串转换:...原创 2018-06-15 19:03:07 · 240 阅读 · 0 评论 -
C语言之数据类型、原码、反码、补码、运算符、条件、循环、格式控制
内存地址从0x0000开始编号,每一个字节对应一个内存地址;计算机最小的单位是位,但是最小的管理单位是字节;如果一个变量有多个字节;一般&c取的是首地址;%x和%p都可以打印内存地址;...原创 2018-05-24 23:00:10 · 273 阅读 · 0 评论 -
C语言之数组\函数、字符数组
数组名的本质是地址(数组的首地址);数组的地址就是第一个元素的地址;int a[5]={1,2,3,4,5};//定义了一个5个元素的数组;a表示数组的地址(也是第一个元素的地址),a+1表示数组第二个元素的地址,依次类推;*a表示取第一个元素的值,*(a+1)表示取第二个元素的值,依次类推;--------------------------函数-------------------------...原创 2018-05-27 22:13:19 · 307 阅读 · 0 评论 -
C语言socket多线程
-----------这是客户端程序-------------- #include "stdio.h"#include "winsock2.h"#include "stdlib.h" #pragma comment(lib,"ws2_32") void main(){ WSADATA wsaData;转载 2017-02-21 10:45:30 · 10573 阅读 · 1 评论 -
C语言socket服务端和客户端代码 /缓冲区/阻塞
服务端:#include #include #pragma comment (lib, "ws2_32.lib") //加载 ws2_32.dll#define BUF_SIZE 100int main(){ WSADATA wsaData; WSAStartup( MAKEWORD(2, 2), &wsaData); //创建套接字 SOCKET ser原创 2017-02-20 14:01:12 · 3593 阅读 · 0 评论 -
C语言socket设置超时/setsockopt函数
//=======================在Windows下似乎操作比较简单,直接调用winsock2.h和ws2_32.lib编程#include"stdafx.h"#include"stdio.h"#include "winsock2.h"#pragmacomment(lib, "ws2_32.lib") 设置接收超时为 nNetTimeout转载 2017-02-21 09:38:50 · 11892 阅读 · 0 评论 -
C语言socket设置超时的几种方法
1.建立socket2.将该socket设置为非阻塞模式3.调用connect()4.使用select()检查该socket描述符是否可写(注意,是可写)5.根据select()返回的结果判断connect()结果6.将socket设置为阻塞模式(如果你的程序不需要用阻塞模式的,这步就省了,一般情况下都是用阻塞模式的)#include #include #define TIME_OUT_TIME ...转载 2017-02-20 17:19:14 · 13877 阅读 · 1 评论 -
C语言socket长链接与短连接
长链接------------------心跳: socket模拟网页的报文连接某个网站,创建tcp的socket后,当我socket.connect后,如果在5到7秒钟不socket.send,那么这个链接就失效了。 请问如何长时间的保持这个链接 这是在服务器端的设置的,客户端没法设置,可以发送心跳包。 socket.connect后,每3-4秒用socket.send发送一字节数据(内容随便)...转载 2017-02-20 15:29:46 · 6854 阅读 · 0 评论 -
C语言socket编程(十一)CFNetworking框架/CFSocket////CFStream属于CoreFoundation
socket编程的几中方法:C语言底层socket----BSD socket--CFSocket可以代替他的所有工作;----C语言CFSocket;------c语言;CFStream输入输出流socket通信;----OC的Corefoundation框架中GCDSocket;-------第三方的框架1.CFSocket;------c语言;////////////////////////...原创 2016-07-12 15:39:18 · 3747 阅读 · 0 评论 -
iOS 输出指定位数
%f 指输出实型常量默认输出6位小数 有效数字7位%m.nf m表示总的位数 n表示小数点后面的位数%7f 表示输出7位有效数字%.7f 表示输出小数点后7位 如果小数点前还有有效数字 结果可能不准确#include <stdio.h>int main(int argc, const char * argv[]) { printf("%.7f\n"...原创 2016-12-08 15:57:12 · 1087 阅读 · 0 评论 -
C 语言socket编程基础/memset()
memset()的函数, 它可以一字节一字节地把整个数组设置为一个指定的值。 memset()函数在mem.h头文件中声明,它把数组的起始地址作为其第一个参数,第二个参数是设置数组每个字节的值,第三个参数是数组的长度(字节数,不是元素个数)。其函数原型为: void *memset(void*,int,unsigned); 其中void*表示地址。 例如,下面的代码用数...转载 2016-07-13 08:59:48 · 1466 阅读 · 0 评论 -
C语言socket编程(九)listen()
头文件:#include <sys/socket.h>定义函数:int listen(int s, int backlog);函数说明:listen()用来等待参数s 的socket 连线. 参数backlog 指定同时能处理的最大连接要求, 如果连接数目达此上限则client 端将收到ECONNREFUSED 的错误. Listen()并未开始接收连线, 只是设置socket 为li...原创 2016-07-12 14:36:19 · 3950 阅读 · 0 评论