5 小桥流水人家_

尚未进行身份认证

我要认证

暂无相关简介

等级
TA的排名 4w+

h264和aac封装flv

flv格式解析FLV是一个二进制文件,简单来说,其是由一个文件头(FLV header)和很多tag组成(FLV body)。tag又可以分成三类:audio,video,script,分别代表音频流(0x8),视频流(0x9),脚本流(0x12),而每个tag又由tag header和tag data组成。flv官方标准文档分析之前推荐一个flv分析工具:flv分析工具工具的使用说明和出...

2020-02-03 15:29:53

git 常见问题总结(持续更新中)

关于Git无法提交 index.lock的解决办法今天提交代码时,在一次提交,莫名其妙没成功后,再次用git commit -a命令时,出现以下错误,无论是用git还是TortoiseGit都会出现以下这个问题。。$ git commit -afatal: Unable to create 'e:/git/Android/XXXXXX/.git/index.lock': File exis...

2019-12-29 17:08:55

cmake用法及常用命令总结(全)

CMakeLists.txt 的语法比较简单,由命令、注释和空格组成,其中命令是不区分大小写的。指令是大小写无关的,参数和变量是大小写相关的。但推荐全部使用大写指令。符号 # 后面的内容被认为是注释。命令由命令名称、小括号和参数组成,参数之间使用空格进行间隔。自己写了一个小例子,包含了静态库和动态库以及基本的依赖关系。按照目录结构加入文件(筛选器)#按目录结构加入文件macro(cre...

2019-07-23 16:53:36

C/C++读写文件的几种方法fstream fopen、fwrite()、fread()操作

C中采用的主要是文件指针的办法,C++中对文件的操作主要运用了“文件流”(即非标准的输入输出)的思想c读写文件fopenC 库函数FILE *fopen(const char *filename, const char *mode)使用给定的模式 mode 打开 filename 所指向的文件。包含头文件:#include<stdio.h>fopen() 函数的声明...

2019-07-13 20:25:41

关于Git无法提交 index.lock的解决办法

今天提交代码时,在一次提交,莫名其妙没成功后,再次用git commit -a命令时,出现以下错误,无论是用git还是TortoiseGit都会出现以下这个问题。。$ git commit -afatal: Unable to create 'e:/git/Android/XXXXXX/.git/index.lock': File exists.If no other git proce...

2019-07-12 19:42:43

git回滚到任意版本

git回滚先显示提交的log$ git log -3commit 4dc08bb8996a6ee02fAuthor: Mark <xxx@xx.com>Date: Wed Sep 7 08:08:53 2016 +0800 xxxxxcommit 9cac9ba76574da2167Author: xxx<xx@qq.com>Date: ...

2019-07-12 19:33:45

jsoncpp 构造空数组

创建json格式的数据时,为了保证数据为空,字段也要存在的情况,需要构造空数组。类似下面这种形式:{"FurnitureItemObject":[],"FurniturePlaceItemObject":[],"RoomNum":0}解决方案:可以用 resize 解决这个问题:Json::Value root;root["FurniturePlaceItemObject"].resi...

2019-07-11 19:37:44

Git Submodule管理项目子模块

使用场景当项目越来越庞大之后,不可避免的要拆分成多个子模块,我们希望各个子模块有独立的版本管理,并且由专门的人去维护,这时候我们就要用到git的submodule功能。常用命令git clone <repository> --recursive 递归的方式克隆整个项目git submodule add <repository> <path> 添加子模块...

2019-05-18 16:38:17

VS 编译错误【error C4996: 'scanf': This function or variable may be unsafe. 】的解决方案

在VS中编译 C 语言项目,如果使用了 scanf 函数,编译时便会提示如下错误:error C4996: ‘scanf’: This function or variable may be unsafe. Consider using scanf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See onlin...

2019-04-12 13:47:23

C++ 获取Unix时间戳

什么是Unix时间戳?Unix时间戳(Unix timestamp),或称Unix时间(Unix time)、POSIX时间(POSIX time),是一种时间表示方式,定义为从格林威治时间1970年01月01日00时00分00秒起至现在的总秒数。Unix时间戳不仅被使用在Unix系统、类Unix系统中,也在许多其他操作系统中被广泛采用2038年1月19日会发生什么?在2038年1月1...

2019-04-11 20:44:33

VS的工作目录和输出目录

C+ +项目,解决方案总文件夹下就只包含解决方案配置文件sln和一个项目总文件夹和一个Debug文件夹以及一个Release文件夹(共四个东东,其中Debug和Release文件夹中存放最终生成的结果exe或dll,要注意如果不使用Release生成,则不存在Release文件夹),而项目总文件夹下包含C++源文件头文件、项目配置文件和一个Debug文件夹以及一个Release文件夹(一定要注意,...

2019-04-09 13:46:24

VC++调试错误的解决方案

这篇文章主要用来记录使用Visual Studio过程中,出现的各种error,并提供自己当时解决的方案。但是,一个error可能由不用原因引起的,文中案例仅供大家参考。 nafxcwd.lib(thrdcore.obj) : error LNK2001: unresolved external symbol __endthreadex 解决:将工程设置为Using MFC in sta...

2019-04-07 20:14:48

#pragma once与 #ifndef的区别

为了避免同一个文件被include多次可以用以下两种方法:1 #ifndef方式2 #pragma once方式在能够支持这两种方式的编译器上,二者并没有太大的区别,但是两者仍然还是有一些细微的区别。方式一:#ifndef __SOMEFILE_H__#define __SOMEFILE_H__... ... // 一些声明语句#endif方式二:#pragma on...

2019-04-07 19:49:24

strcmp()字符串比较函数用法

函数原型:int strcmp(const char *s1, const char *s2);头文件:#include <string.h>功能: 用来比较两个字符串参数: s1、s2为两个进行比较的字符串返回值: 若s1、s2字符串相等,则返回零;若s1大于s2,则返回大于零的数;否则,则返回小于零的数。说明: strcmp()函数是根据ACSII码的值来比较两个...

2019-04-04 13:26:16

C、C++中的static和extern关键字

1.首先,关于声明和定义的区别这种写法(函数原型后加;号表示结束的写法)只能叫函数声明而不能叫函数定义,只有带函数体的声明才叫定义,比如下面只有分配存储空间的变量声明才叫变量定义,其实函数也是一样,编译器只有见到函数定义才会生成指令,而指令在程序运行时当然也要占存储空间。那么没有函数体的函数声明有什么用呢?它为编译器提供了有用的信息,编译器在翻译代码的过程中,只有见到函数原型(不管带不带函数...

2019-04-03 19:45:08

error LNK1169 找到一个或多个多重定义的符号的解决方法

问题描述如下:有 三个源文件,A.h、B.cpp、C.cpp。A.h是头文件,其中声明了三个变量a1、a2、 a3。B.cpp是A.h中所声明的类的实现源代码,C.cpp是主程序文件。B.cpp和C.cpp中均包含头文件 A.h。在编译时,编译能够通过,但链接时出了问题,出现”error LNK1169: 找到一个或多个多重定义的符号“的错误。经过分析,确定了这是由于两个实现文件...

2019-04-03 14:56:49

vs2013编译obs源码

obs源码下载一种是在GitHub上下载最新的代码git clone --recursive https://github.com/jp9000/obs-studio.git–recursive命令可以将其依赖的子模块一块clone下来而不用之后再单独下载了。另外一种可以在GitHub下载以前的源码直接进行编译,官网上也有其地址,由于我cmake的最新的代码一直有问题,所以下载以前的版本...

2019-04-02 14:20:13

Qt线程—QThread的使用--run和movetoThread的用法

Qt使用线程主要有两种方法:方法一:继承qthread,重写run()的方法QThread是一个非常便利的跨平台的对平台原生线程的抽象。启动一个线程是很简单的。让我们看一个简短的代码:生成一个在线程内输出"hello"并退出的线程。 // hellothread/hellothread.h class HelloThread : public QThread { Q_OBJEC...

2019-04-01 15:18:15

Qt信号和槽机制

概述信号和槽机制是QT的核心机制,要精通QT编程就必须对信号和槽有所了解。信号和槽是一种高级接口,应用于对象之间的通信,他是QT的核心特性,也是QT差别于其他工具包的重要地方。信号和槽是QT自行定义的一种通信机制,他独立于标准的C/C+ +语言,因此要正确的处理信号和槽,必须借助一个称为moc(Meta Object Compiler)的QT工具,该工具是个C++预处理程式,他为高层次的事件处理...

2019-04-01 14:47:00

Qt 中用QProcess调用cmd命令

项目做到一定阶段,常常须要在原来的project上调用外部程序。Qt为此提供了QProcess类,QProcess可用于完毕启动外部程序,并与之交互通信。基本用法: QProcess p(0); p.start("cmd", QStringList()<<"/c"<<"ping www.baidu.com"); p.waitForStarted(...

2019-03-31 21:55:06

查看更多

勋章 我的勋章
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。