• 等级
  • 30788 访问
  • 46 原创
  • 11 转发
  • 84565 排名
  • 5 评论
  • 25 获赞

C/C++学习笔记-CMake教程(2)-CMakelists通用模板

CMake是一个用来管理项目工程的一个工具,使用CMake来编译项目,可以避免使用一些集成环境所带来的麻烦,但是作为入门级选手编写CMake还是有点吃力的。所以选择了一个比较通用的CMakelists.txt模板,大多数项目都可以在上面修改和扩展。这是一个rtmpDownload项目的CMakelists.txt,因此需要修改的工程名,如果增加了so库,在最后还需要连接so库(这里连接的是rt...

2019-02-16 17:05:27

GitHub本地仓库的建立与远程仓库的上传(同步)

github是一个很实用的代码管理工具,代码的管理我们不仅限于本地代码的管理,为了做好备份与下载,我们还需要将本地代码上传到远程仓库进行备份管理。在代码的上传前提是你已经进行sshkey绑定了,具体绑定方法见博客GitHub的SSH的绑定。第一步:git服务器上建立远程仓库。我们如果想要把本地代码上传到远程,那么远程就必须有一个与之相同的仓库。所以,我们首先要在远程建立一个远程仓库。下...

2019-02-16 15:22:31

GitHub的SSH的绑定

github是一个基于git的高效的代码管理平台,方便我们下载和上传代码。那么,这样就会有一个问题:我们自己的远程仓库别人是不是同样可以上传修改代码,显然是不行的。于是就有本节的SSHKey的绑定,通俗的讲,每台机器都可以生成自己的sshkey,然后将生成的sshkey绑定到远程的git服务器(可以理解为git页面上)。这样一来,就是有绑定了sshkey的本地机器才能够上传修改代码。绑...

2019-02-16 14:29:39

心得-C/C++学习过程的小技巧

C/C++学习小技巧在码代码过程中,会遇到很多问题,在此记录自己在学习过程中遇到的“坑”。1、不要在函数中返回局部变量a.C/C++能返回static修饰的局部变量(因为在静态存储区)b.C/C++能返回用new创建的局部变量(因为在堆空间)c.C/C++能返回指向常量的指针,但不能返回指向普通局部变量的指针,否则返回的是乱码(因为后者创建在栈空间)d.C/C++能返回...

2018-12-09 22:49:16

音视频学习-h264裸流的解析

 h264的解析代码,来自雷神的博客//============================================================================//Name:H264PARSER.cpp//Author:ss//Version://Copyright:Yourcopyright...

2018-11-29 05:51:59

音视频学习-annexb与MP4之间的转换

 Annexb转MP4目前感觉上,annexb转MP4的场景似乎不太多,但不排除某些特定场景。所以贴出下面代码。/*annexbBuf:输入annexb类型的数据AvccBuffer:输出MP4或者AVCC的数据length:输入数据的总长度*/intAnnexbToMp4(char*annexbBuf,char*AvccBuffer,intlength){ int...

2018-11-29 03:35:19

音视频学习-h264的NALU结构分析

h264码流结构:h264码流也称之为“裸流”,其数据是由一个个NAL单元(NALU)连接起来的,因此要想解析h264就得弄明白NALU的结构。                       NALU标准:forbidden_zero_bit:禁止位,初始为0,当网络发现NAL单元有比特错误时可设置该比特为1,以便接收方纠错或丢掉该单元。nal_ref_idc:重要级别,...

2018-11-29 03:13:34

音视频学习-总述

音视频学习目录这段时间,在公司里面主要接触了关于处理直播时移的问题,遇到很多困难和问题,目前仍在学习和解决中。但是,我觉得还是应该多多总结自己的问题,才会有收获。目录:视频:1、h264的NALU结构分析2、h264裸流的解析3、h265的NALU结构分析4、h265裸流的解析音频:1、AAC帧结构2、AAC的流解析...各种格式的封装:1、封装...

2018-11-29 02:21:57

音视频编解码之h264码流封装flv

//TODO

2018-10-01 17:13:35

Eclipse-导入带makefile或者Cmakelists工程

目前很多的项目都有cmakelists来对项目进行管理,掌握如何导入CMakelists工程在日常的开发中还是很有必要的。 这是一个CMakeLists工程,然后新建一个build文件夹,在build文件夹里面cmake..这个工程,生成makefile。在eclipse中新建工程,File->new->MakefileProjectwithExistingCod...

2018-09-20 18:46:55

心得-工程结构规范

在刚入职的时间里面,接触到了很多以前前辈写得代码,有十分规范的代码,也有结构比较混乱的项目,当然大部分的代码都是极其规范的,作为一个局外人来看这份代码的时候,深刻地知道,规范代码对自己和对他人的重要性。1、目录结构工程结构是十分重要的,清晰明确的工程结构能够让你对整个项目有个整体的认识。以下便是我自己在写项目的时候经常用到结构目录。 ...

2018-09-20 18:15:34

Linux-shell

//TODO

2018-09-20 18:13:33

Linux-基本命令(持续不定期记录)

kill //TODO

2018-09-20 18:10:38

Linux-vim的使用

什么是vim?Vim是从vi发展出来的一个文本编辑器。代码补完、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。简单的来说,vi是老式的字处理器,不过功能已经很齐全了,但是还是有可以进步的地方。vim则可以说是程序开发者的一项很好用的工具。连vim的官方网站(http://www.vim.org)自己也说vim是一个程序开发工具而不是文字处理软件。vim...

2018-09-18 19:09:00

C/C++学习笔记-rapidjson的简单使用

rapidjson是什么,为什么选择rapidjson? Answer:rapidjson 是一个C++的JSON解析器及生成器。rapidjson不依赖第三方库,而且只包含头文件,使用方便简单。rapidjson如何安装?Answer:rapidjson的安装很简单,因为只包含头文件可用,且不依赖第三方库因此。我们只需把头文件下载下来就可以用。文件下载地址:https://...

2018-09-13 17:00:38

每天一句git

当远程没有对应的分支时,在local创建分支,并push到远程。 [root@localhostXX]#gitpushoriginnewbranchesname/*如果仅仅使用gitpush的话在远程是看不到该分支的,因为远程本来就没有这个分支。所以需要origin/newbranchesname*/   ...

2018-09-03 09:48:06

C/C++学习笔记-移位操作获取字节

//TODO

2018-08-28 15:04:49

golang学习-安装环境

go下载地址:https://golang.google.cn/dl/ 下载完毕后,将压缩包进行解压,解压到usr/local文件夹下面。tar-C/usr/local-xzfgo1.4.linux-amd64.tar.gz 配置环境:通过修改.bashrc文件:vim~/.bashrc //在最后一行添上:exportPATH=$PATH:/usr/loc...

2018-08-20 18:33:07

C/C++学习笔记-linux下tree命令

├──Debug│  ├──makefile│  ├──objects.mk│  ├──sources.mk│  ├──src│  │  ├──subdir.mk│  │  ├──testcases.d│  │  ├──testcases.o│  │  ├──test.d│  │  └──test.o│  └──test├─...

2018-08-17 15:07:32

C/C++学习笔记-CMake教程

在Linux的开发环境下,大多数个的就是CMake和make来对编译继进行管理。但是对于很多像我这样的新手来说。makefile规则过于复杂。有个同事说,这两个的关系就像是汇编语言和C++语言一样,我觉得比喻得十分贴切。本文就CMake的学习做一个笔记。简单的helloworld首先我们在工作目录上新建一个helloworld.cpp的文件,然后再新建一个CMakeLists.txt的文件...

2018-08-17 09:12:20

叔叵谩

躲了一辈子的雨,雨会不会难过
关注
  • 通信(设备·运营·增值服务)
  • 中国 重庆 南岸区
奖章
  • 持之以恒