自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

万事亨通

好记性不如烂博客

  • 博客(56)
  • 收藏
  • 关注

原创 二叉树遍历(代码,分析,汇编)

代码:BTree.hBTree.c二叉树(多路平衡搜索树)LinkQueue.h#ifndef _LINKQUEUE_H_#define _LINKQUEUE_H_typedef void LinkQueue;//定义队列类型LinkQueue* LinkQueue_Create();//声明创建队列函数void LinkQueue_Destroy(LinkQueue* queue);//声明销毁队列函数void LinkQueue_Clear(LinkQueue* queue)

2020-12-31 17:30:41 370

原创 二叉树(多路平衡搜索树)-(代码、分析、汇编)

目录:代码:分析:汇编:代码:BTree.h#ifndef _BTREE_H_#define _BTREE_H_#define BT_LEFT 0 //定义左子节点标识#define BT_RIGHT 1 //定义右子节点标识typedef void BTree;//定义树类型typedef unsigned long long BTPos;//定义树位置类型typedef struct _tag_BTreeNode BTreeNode;//定义树节点类型struct _tag_B

2020-12-31 16:58:33 291

原创 树存储结构(代码、分析、汇编)

目录:代码:分析:汇编:代码:LinkList.hLinkList.c线性表GTree.h#ifndef _GTREE_H_#define _GTREE_H_typedef void GTree;//定义树类型typedef void GTreeData;//定义节点中存放数据的类型typedef void (GTree_Printf)(GTreeData*);//定义一个参数是一个节点中存放数据的类型指针并且无返回值的函数类型GTree* GTree_Create();//声明创

2020-12-31 16:14:54 170

原创 N Queen(代码、分析、汇编)

目录:代码:分析:汇编:代码:main.c#include <stdio.h>/*程序描述: 输出N*N中符合左右对角线与上下左右方向都没被使用的位置在每一行的所有情况 使用检测左上角,正上角,右上角 三个方向有没有被使用来判断该行该位置是否可以使用 当检测行大于N时,表示完成一种情况,按下回车键。从大于N行的这次find函数调用出栈。 返回调用(使用大于N行的参数调用了find函数的)处。就是N行调用find函数的地方 执行将N行原本选用好的位置重置

2020-12-31 15:29:09 160

原创 ffmpeg-从flv文件中提取AAC音频数据保存为文件

AAC ADTS格式协议:从flv文件中提取AAC音频数据保存为文件。如果需要详细了解AAC ADTS格式,可以查询文档。main.c#include <stdio.h>#include <libavutil/log.h>>#include <libavformat/avio.h>#include <libavformat/avformat.h>#define ADTS_HEADER_LEN 7;const i

2020-12-31 13:31:54 884

原创 递归-计算字符串长度(代码、分析、汇编)

目录:代码:分析:汇编:代码:main.c#include <stdio.h>//该程序用递归计算字符串长度int strlen(const char* s){ if( s == NULL ) { return -1; } else if( *s == '\0' ) { return 0; } else { return strlen(s+1) + 1; }}

2020-12-30 14:36:57 465

原创 递归-输出字符串所有的组合情况(代码、分析、汇编)

目录:代码:分析:汇编:代码:#include <stdio.h>/* 程序描述: 输出字符串所有的组合情况 使用permutation函数进行将指定的下标值,与最大下标值这个范围的每个下标值进行交换 每调用一次permutation函数表示只处理指定下标的值,每次指定位置交换后,再调用b+1 进行后面一个位置的交换,直到要交换的位置的与最大下标值相等时,表示没得交换了 输出该字符串,这次的函数出栈返回调用处(就是处理前一个字符的地方),将前一

2020-12-30 14:33:28 321

原创 递归-汉诺塔(代码、分析、汇编)

代码:#include <stdio.h>void hanoi(int n, char a, char b, char c){ if( n > 0 ) { if( n == 1 ) { printf("%c -> %c\n", a, c); } else { hanoi(n-1, a, c, b);

2020-12-30 14:22:41 390

原创 递归-裴波那契数列(代码、分析、汇编)

目录:代码:分析:汇编:代码:main.c#include <stdio.h>//该程序输出裴波那契数列 int fibonacci(int n){ if( n > 1 ) { return fibonacci(n-1) + fibonacci(n-2);//注意:这里调用是一直调用左边函数返回后才调用右边函数的 } else if( n == 1 ) { return 1; } el

2020-12-30 14:15:30 536

原创 递归问题(代码、分析、汇编)

目录:代码:分析:汇编:代码:main.c#include <stdio.h>//该程序使用递归将字符串从后往前依次输出void reverse(char* s){ if( (s != NULL) && (*s != '\0') ) { reverse(s + 1); printf("%c", *s); //输出54321 }}int main(){ reverse("123

2020-12-30 11:12:26 130

原创 栈应用_将算式转成按运算符优先级分布(代码、分析、汇编)

目录:代码:分析:汇编:代码:LinkList.hLinkList.cLinkStack.hLinkStack.c栈-线性表main.c#include <stdio.h>#include "LinkStack.h"/*该程序将 正常的算式 转换成按照运算符优先分布的算式比如:9+(3-1)*5+8/2 转换成 931-5*+82/+注意:正常算式 只能是一位数*/int isNumber(char c)//定义检测是否数字函数{ return

2020-12-30 10:38:52 234

原创 栈应用_计算按运算符优先级分布的算式(代码、分析、汇编)

目录:代码:分析:汇编:代码:LinkList.hLinkList.cLinkStack.hLinkStack.c栈-线性表main.c#include <stdio.h>#include "LinkStack.h"//该程序用栈来计算算式 /* 比如:1*5+6/(5-3) 可以转换成 15*653-/+ 字符串进行运算 注意:每个数只能是一位数 */ int isNumber(char c)//检测是否是数字{ return ('0' &lt

2020-12-30 10:18:44 326

原创 ffmpeg-AVFrame分配内存问题

目录:1、格式:交错式2、格式:平坦式3、总结:1、格式:交错式LRLRRLRLRLRLRLRLRLR2、格式:平坦式LLLLLLRRRRRR3、总结:两种方式的内存排列在AVFrame中分配是有区别的交错式在一个buf中平坦式左右声道分两个buf...

2020-12-30 08:54:50 374

原创 ffmpeg - AVPacket内存问题分析(AVFrame一样的)

目录:1、av_packet_alloc()和av_packet_free()2、av_init_packet()的问题3、av_packet_move_ref()的问题4、av_packet_clone()的问题5、AVPacket的引用计数问题1、av_packet_alloc()和av_packet_free()源码中av_packet_unref()调用av_buffer_unref()进行去引用bufav_buffer_unref()中就判断是否为空才进行操作,所以可以多次调用。

2020-12-29 22:54:00 1279

原创 栈应用_检测成对符号是否正确使用(代码、分析、汇编)

目录:代码:分析:汇编:代码:LinkList.hLinkList.cLinkStack.hLinkStack.c栈-线性表main.c#include <stdio.h>#include <stdlib.h>#include "LinkStack.h"//该程序是检查字符串中的出现一对符号时,有没有出现交叉错误使用/*比如: < ( > ) 这种情况检测失败 < > ( ) 这种情况检测成功 <

2020-12-29 17:20:01 139

原创 栈-顺序表(代码、分析、汇编)

代码:SeqList.h#ifndef _SEQLIST_H_#define _SEQLIST_H_typedef void SeqList;//定义顺序表类型typedef void SeqListNode;//定义顺序表节点类型SeqList* SeqList_Create(int capacity);void SeqList_Destroy(SeqList* list);void SeqList_Clear(SeqList* list);int SeqList_Length

2020-12-29 15:11:02 168

原创 栈-线性表(代码、分析、汇编)

目录:代码:分析:汇编:代码:LinkList.h#ifndef _LINKLIST_H_#define _LINKLIST_H_typedef void LinkList; //定义链表类型typedef struct _tag_LinkListNode LinkListNode;//定义链表节点类型struct _tag_LinkListNode{ LinkListNode* next;};LinkList* LinkList_Create();void LinkL

2020-12-29 14:59:45 132 1

原创 双向链表(代码、分析、汇编)

目录:代码:分析:汇编:代码:DLinkList.h#ifndef _DLINKLIST_H_#define _DLINKLIST_H_typedef void DLinkList;typedef struct _tag_DLinkListNode DLinkListNode;struct _tag_DLinkListNode{ DLinkListNode* next;//指向下节点 DLinkListNode* pre;//前节点};DLinkList* DLink

2020-12-29 14:45:04 175

原创 循环链表(代码、分析、汇编)

代码:CircleList.h#ifndef _CIRCLELIST_H_#define _CIRCLELIST_H_typedef void CircleList;typedef struct _tag_CircleListNode CircleListNode; struct _tag_CircleListNode{ CircleListNode *next; };CircleList * CircleList_Create();void CircleList_Destr

2020-12-29 10:51:49 180

原创 静态链表(代码、分析、汇编)

目录:代码:分析:汇编:代码:StaticList.h#ifndef _STATICLIST_H_#define _STATICLIST_H_typedef void StaticList; //空类型静态表类型可以接收任何类型的静态表类型typedef void StaticListNode;//空类型节点类型可以接收任何类型的节点类型StaticList * StaticList_Create(int capacity);//声明静态表生成函数void StaticList_Des

2020-12-28 18:00:18 177

原创 线性表(代码、分析、汇编)

目录:代码:分析:汇编:代码:LinkList.h#ifndef _LINKLIST_H_#define _LINKLIST_H_typedef void LinkList; //定义线性表类型typedef struct _tag_LinkListNode LinkListNode;//定义线性表节点类型struct _tag_LinkListNode{ LinkListNode* next;//节点指针指向下一个节点};LinkList* LinkList_Create(

2020-12-28 14:32:53 154

原创 顺序表(代码、分析、汇编)

目录:代码:分析:汇编:代码:SeqList.h#ifndef _SEQLIST_H_ #define _SEQLIST_H_ typedef void SeqList; //定义链表数据类型,void因为要适用不同链表数据类型 typedef void SeqListNode; //定义链表节点类型 void因为要适用不同节点类型 SeqList* SeqList_Create(int capacity);//声明创建链表函数void SeqList_Destroy(SeqList

2020-12-28 11:10:33 183

原创 汇编语言-019(汇编程序与c\c++相互调用)

1:在C++程序中使用__asm块插入汇编代码程序(不能用LENGTHOF与SIZEOF运算符,而是LENGTH和SIZE)struct Package{ long originZip; //4 long destinationzip;//4 float shippingPrice; //4};int main(int argcount,char* args[]){ char myChar; bool myBool; short myShort; int myInt; lon

2020-12-27 10:42:42 1155 1

原创 汇编语言-018(FLD 、FST、FSTP、FCHS、FABS 、浮点运算符、浮点比较 )

1:FLD : FPU(浮点处理器)的加载浮点数到堆栈指令.386.model flat,stdcall.stack 4096ExitProcess PROTO,dwExitCode:DWORD.dataarray REAL8 10 DUP(?)dblOne REAL8 234.56dblTwo REAL8 10.1.codemain PROC fld array ;直接寻址 fld [array+16]

2020-12-27 10:07:37 6061 1

原创 汇编语言-017(SCASW 、STRUCT 、STRUCT_ALLPOINTS 、STRUCT_ALIGN 、SYSTEMTIME、UNION 、 STRUCTTEST )

1:SCASW : 在wordArray中扫描16位数值0100h,将匹配元素的偏移量复制到EAX.386.model flat,stdcall.stack 4096ExitProcess PROTO,dwExitCode:DWORD.datawordArray WORD 0500h,0400h,0300h,0200h,0100h.codemain PROC mov ax,0100h mov edi,OFFSET wordArray mov ecx,LENGTHOF wor

2020-12-27 09:50:05 658

原创 汇编语言-016(SCASB 、STOSB 、LODSD 、数组中的取值、二维数组操作、冒泡排序和二分查找、CMPSW )

1: SCASB : (字节)将AL的值与EDI寻址的一个字比较。进行在一个字符串检索特定的字符.386.model flat,stdcall.stack 4096ExitProcess PROTO,dwExitCode:DWORD.data alpha BYTE "ABCDEFGH",0.codemain PROC mov edi,OFFSET alpha ;EDI指向字符串 mov al,'F' ;检索字符F mov ecx,LENGTHO

2020-12-27 09:38:40 2002

原创 汇编语言-015(PROC伪指令定义参数方式、EXTERNDEF、INCLUDE 、EXTERN 、INVOKE、PROC、PROTO 、MOVSB 、MOVSD 、CMPSD )

1:使用PROC伪指令定义参数方式不通过寄存器传参,计算数组之和.386.model flat,stdcall.stack 4096ExitProcess PROTO,dwExitCode:DWORD.data array DWORD 10000h,20000h,30000h,40000h,50000htheSum DWORD ?.codeArraySum PROC USES esi ecx, ptrArray:PTR DWORD, szArray:DWORD

2020-12-26 23:12:34 1513

原创 汇编语言-014(编写过程的应用、伪指令LEA、ENTER、LEAVE、LOCAL、递归函数、INVOKE、ADDR、PROC伪指令声明过程)

1:编写过程,仅用移位和加法,实现任意32位符号数与EAX相乘include Irvine32.inc.stack 4096ExitProcess PROTO,dwExitCode:DWORD.codemain PROC mov eax,80 mov ebx,53 call BitwiseMultiply call WriteDec INVOKE ExitProcess,0main ENDP;EAX=被乘数,EBX=乘数BitwiseMultiply P

2020-12-26 22:52:49 999 1

原创 汇编语言-013(DAS 、DAA与DAS、QWORD类型用SBB借位减法、编写指令将AX符号扩展到EAX,不能使用CWD、用SHR和条件判断指令将AL循环右移一位、SHLD、压缩十进制转换)

1:DAS : SUB或SBB在AL中生成二进制结果,DAS(减法后的十进制调整)转压缩十进制格式.386.model flat,stdcall.stack 4096ExitProcess PROTO,dwExitCode:DWORD.codemain PROC ;计算85-48 mov bl,48h mov al,85h sub al,bl ;AL=3Dh das ;AL = 37h(调整后的结果) INVOKE ExitProce

2020-12-26 22:41:12 1468

原创 汇编语言-012(扩展加法指令ADC、带借位减法指令SBB、执行加法后进行ASCII调整指令、AAS 、AAM、AAD 、DAA指令将和数转成压缩十进制格式)

1:ADC : 扩展加法指令ADC.386.model flat,stdcall.stack 4096ExitProcess PROTO,dwExitCode:DWORD.codemain PROC mov dl,0 mov al,0FFh add al,0FFh ;AL=FEh adc dl,0 ;DL:AL = 01FEh mov edx,0 mov eax,0FFFFFFFFh add eax,0FFFFFFFFh ;EAX =

2020-12-26 21:57:44 1302

原创 汇编语言-011(无符号乘法指令MUL、有符号乘法指令IMUL、对比MUL乘法指令与SHL移位方式、符号位扩展指令,CBW,CWD,CDQ、DIV 无符号除法指令、IDIV 有符号除法指令)

1:无符号乘法指令MUL.386.model flat,stdcall.stack 4096ExitProcess PROTO,dwExitCode:DWORD.dataval1 WORD 2000hval2 WORD 0100h.codemain PROC ;8位乘法 mov al,5h ;被乘数 mov bl,10h mul bl ;AX = 0050h ,CF,OF = 0 ;16位乘法 mov ax,val1 mul

2020-12-26 21:21:43 1495

原创 ffmpeg 命令画中画效果

ffmpeg 命令画中画效果

2020-12-26 19:20:31 1366

原创 ffmpeg 命令添加图片水印

ffmpeg 命令添加图片水印

2020-12-26 19:18:00 1510

原创 SDL_main导致main找不到入口

SDL main的错误引用SDL.h就会报这个错误因为SDL 将main 宏定义为 SDL_main,所以会找不到main入口可以使用#undef main取消这个宏定义

2020-12-26 19:02:43 1422 1

原创 ffmpeg 命令添加文字水印

ffmpeg 命令添加文字水印

2020-12-26 18:08:29 3085 1

原创 提示丢失libgcc_s_dw2-1.dll问题

QT使用MinGW编译器编译中的的执行文件,执行问题将qt中安装的mingw编码器的路径添加到环境变量path(D:\Qt\Qt5.10.1\5.10.1\mingw53_32\bin)

2020-12-26 18:06:42 1347

原创 汇编语言-010(循环移位ROL,ROR 、进位循环进位RCL,RCR 、有符号数溢出 、双精度移位SHLD,SHRD、SHL和ADD计算 、位运算应用)

1 :循环移位ROL,ROR,带进位循环进位RCL,RCR.386.model flat,stdcall.stack 4096ExitProcess PROTO,dwExitCode:DWORD.codemain PROC ;循环左移 mov al,40h ;AL = 010000000b rol al,1 ;AL = 100000000b ,CF = 0 rol al,1 ;AL = 000000001b ,CF = 1 rol al,1 ;A

2020-12-25 17:38:16 4938

原创 ffmpeg 命令过滤器裁剪

ffmpeg 命令过滤器裁剪

2020-12-25 16:29:26 198

原创 ffmpeg命令 拉流

ffmpeg命令 拉流

2020-12-25 16:14:18 9832

原创 ffmpeg 命令图片和视频相互转换

ffmpeg 命令图片和视频相互转换

2020-12-25 16:07:24 2181

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除