自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(94)
  • 资源 (12)
  • 收藏
  • 关注

原创 x86/ARM架构下的Ubuntu系统换国内源

Ubuntu系统本身的源使用的是Ubuntu官方的源,下载速度比较慢,所以建议选择更换成国内的源。1 source.list的构成下面是一个X86 主机上 ubuntu18.04 的中科大源,是由一个国内源镜像url、ubuntu版本代号、软件属性组成。最后的四个词条就是软件的属性。deb https://mirrors.ustc.edu.cn/ubuntu/ bionic main restricted universe multiversedeb-src https://mirrors.ustc

2020-07-25 09:03:48 364

原创 c语言定义函数时形参定义的位置

今天在读Zlib库源码中第三方contrib/minizip文件时,发现一个有意思的东西:定义函数时,其形参的类型放在函数()后面,()里只放了形参名虽然这样最终用编译器(如gcc等)编译时是可以通过的,但是在IDE中,却会提示语法错误。而通常我们在定义函数时,形参的定义是放在函数的()中的。那么上面的那种做法,是不是只是方便对形参进行注释?...

2020-04-02 20:00:14 321

原创 将视频文件旋转90°的方法

VLC播放器旋转FFmpegVLC播放器旋转step1:打开VLC播放器,打开要播放的视频文件;step2:选择【工具】->【效果及滤镜】step3:在“调节与效果”窗口中,选择【视频效果】->【几何】->【变换】->【保存】step4: 效果旋转前旋转后FFmpegVLC播放器只是在播放视频文件时旋转了画面,但是需要保存旋转后的视频,上述...

2020-03-23 19:57:30 812

转载 【glib】GMainLoop的实现原理和代码模型

本文主要通过Glib中的GMainloop介绍事件循环(event loop)

2020-03-11 18:29:50 120

原创 【Qt】撤销/恢复的快捷键

使用Qt的时候,有时需要撤销修改的代码,但可能回撤过头了,又不知道前一步修改了什么,这时候就比较麻烦了。下面提供2个快捷键,当撤销过头时,可恢复撤销内容。撤销的快捷键是 Ctrl+Z恢复/向前的快捷键是 Ctrl+Shift+Z...

2020-03-10 13:26:16 2977

原创 【Qt】如何在.pro文件中添加预编译宏定义

在Makefile文件中定义预编译宏定义 PLATFORM_TYPE 方法如下:CFLAGS:= -DPLATFORM_TYPE而在qt的 .pro文件中添加方法如下:DEFINES += PLATFORM_TYPE结束????

2020-01-03 19:42:50 2589

原创 Ubuntu18.04 自带桌面共享配置

本人PC上安装的Ubuntu为18.04.3,具体桌面共享配置步骤如下。Step1: 安装dconf-editorsudo apt install dconf-editorStep2: dconf-editor配置dconf write /org/gnome/desktop/remote-access/require-encryption falseStep3: 重启屏幕共享:se...

2019-12-05 09:24:10 7879 1

原创 ubuntu-18.04 启用 rc.local 设置开机启动脚本

在Ubuntu14.04 /16.04 系统上,其用initd管理系统,之前也写的一篇文章《在Linux中利用Service命令添加系统服务及开机自启动》,介绍如何在 rc.local 脚本中开启启动自己编写的脚本、程序或者服务等。而现在Ubuntu18.04不再使用initd管理系统,改用systemd。下面介绍一种方法,通过下列简单设置后,可以使rc.local重新发挥作用。1 机制sys...

2019-11-07 13:21:14 1175

原创 【Qt】添加自定义注释

注释的原则是有助于对程序的阅读理解,不宜太多,也不能太少(一般情况下,源代码有效注释量必须在 20% 以上)。那么,如何在 Qt Creator 中自动补全注释呢?基本配置打开 Qt Creator,菜单选择:Tools -> Options -> Text Editor -> Snippets。点击“Add”按钮,编辑自定义的“Trigger”。例如,触发:“hea...

2019-11-03 14:57:09 212

原创 【Linux】C/C++/Shell 改变终端程序输出的字的颜色

之前在写shell脚本的时候,尝试了改变终端程序中输出的字的颜色,大致格式如下:echo "\033[字背景颜色;字体颜色m字符串\033[0m"例如:echo "\033[41;36m something here \033[0m"其中41的位置代表底色, 36的位置是代表字的颜色。今天发现C/C++程序中改变终端程序输出的字的颜色的方法和Shell脚本中的基本类似,现在来总结一下...

2019-10-31 09:55:01 124

原创 【glib】g_timeout_add ()

在Gstreamer中,如果您要定时让程序去作某件事,则可以使用g_timeout_add()或g_timeout_add_full().示例本示例改编自:Gstreamer Basic tutorial 3: Dynamic pipelines#include <gst/gst.h>/* Structure to contain all our information, s...

2019-10-12 09:20:12 679 1

原创 Linux Qt下报/usr/include/c++/7/cstdlib:75:15: fatal error: stdlib.h: No such file or directory 错误

现象最近在Ubuntu下写了个小程序,运行后老是报如下错误:/usr/include/c++/7/cstdlib:75:15: fatal error: stdlib.h: No such file or directory #include_next <stdlib.h>原因:查找资料了解到:这是由于gcc7已经吧stdlib.h纳入了libstdc++以进行更好的优...

2019-09-09 09:13:01 2578

原创 【Gstreamer】如何生成pipeline构件图

1 命令行 中产生2 应用程序中产生本文参考:How to generate a Gstreamer pipeline diagram (graph)1 命令行 中产生步骤1:安装 dot sudo apt-get install graphviz“graphviz”包中提供了“dot”命令。步骤2:在目标中,运行:export GST_DEBUG_DUMP_DOT_DIR=/t...

2019-08-01 18:31:25 856

原创 【glib】Key-value文件解析器

1 头文件2 描述3 API4 实例4.1 本文Key-value文件解析器如下:4.2 在准备一个Key-value文件示例文件 tt.txt4.3 编译:4.4 运行:4.5 运行结果输出如下:glib源码glib帮助文档本文主要参考:glib-Key-value-file-parser本节主要讲解Key-value文件解析器,可以轻松的帮我们实现配置文件的解析,类似于.ini文件...

2019-07-27 22:12:53 515

原创 【glib】标准化程序的命令行解析 GOptionEntry

最近发现了一个好东东,glib 库中的 GOptionEntry,用于解析应用程序的命令行参数话不多说,先上个栗子:// test.c#include <glib.h>#include <locale.h>static gint repeats = 2;static gint max_size = 8;static gboolean verbos...

2019-07-27 16:45:28 508

原创 Linux系统 core dump 介绍

1 前言2 基本概念3 开启core dump1 前言一直在从事linux下后台开发,经常与core文件打交道。还记得刚开始从事linux下开发时,程序突然崩溃了,也没有任何日志。我不知所措,同事叫我看看core,我却问什么是core,怎么看。同事鄙视的眼神,我依然在目。后来学会了从core文件中分析原因,通过gdb看出程序挂再哪里,分析前后的变量,找出问题的原因。当时就觉得很神奇,core...

2019-07-15 20:05:50 425

转载 Ubuntu系统中 build-essential 的作用

Ubuntu缺省情况下,并没有提供C/C++的编译环境,因此还需要手动安装。但是如果单独安装gcc以及g++比较麻烦,幸运的是,Ubuntu提供了一个build-essential软件包。查看该软件包的依赖关系:$ apt-cache depends build-essential结果如下图:也就是说,安装了该软件包,编译c/c++所需要的软件包也都会被安装。因此如果想在Ubuntu...

2019-07-11 08:37:36 413

转载 Nginx 相关介绍(Nginx是什么?能干嘛?)

原文: https://www.cnblogs.com/wcwnina/p/8728391.html文章目录Nginx的产生Nginx的用武之地关于代理正向代理反向代理项目场景二者区别负载均衡几种常用web服务器对比Nginx的产生没有听过Nginx?那么一定听过它的"同行"Apache吧!Nginx同Apache一样都是一种WEB服务器。基于REST架构风格,以统一资源描述符(Unifo...

2019-06-16 16:37:16 94

原创 加速Linux程序编译make的方法

昨天在PC上配置了Nvidia TX2的交叉编译环境,make编译了qt-everywhere-opensource-src-5.8.0源码,用时1.5小时,等的黄花菜都凉了。于是在网上搜索是否有提升Linux程序编译速度的方法。这里做个笔记。以下引用自:李凡希的Blog《加速Linux程序编译》 make -j 部分CPU是一个影响编译速度的重要因素。用make -j带一个参数,可以...

2019-05-08 19:12:59 281

原创 EGL 介绍和使用

原文:https://blog.csdn.net/afei__/article/details/84867104 一、简介二、功能三、使用3.1 首先介绍一下检查错误的方法:3.2 创建,建立本地系统和 OpenGL ES 的连接3.3 初始化3.4 确定可用的 Surface 的配置3.5 创建渲染区域 Surface3.6 创建上下文3.7 关联上下文3.8 使用 OpenGL 相关 API...

2019-05-01 22:04:00 1737 2

原创 对颜色空间YUV、RGB的理解

原文:https://blog.csdn.net/asahinokawa/article/details/80596655 什么是RGB什么是BGR什么是YCbCrYUV分类与意义存储方式YUVY 格式 (属于YUV422)UYVY 格式 (属于YUV422)YUV422P(属于YUV422)YV12,YU12格式(属于YUV420)NV12、NV21(属于YUV420)YUV文件大小计算4 :...

2019-04-24 09:52:58 705

转载 【IO多路复用】 epoll总结

原文: 1、基本知识2、epoll接口3、工作模式4、测试程序1、基本知识epoll是在2.6内核中提出的,是之前的select和poll的增强版本。相对于select和poll来说,epoll更加灵活,没有描述符限制。epoll使用一个文件描述符管理多个描述符,将用户关系的文件描述符的事件存放到内核的一个事件表中,这样在用户空间和内核空间的copy只需一次。2、epoll接口epoll...

2019-04-23 21:23:46 143

转载 【IO多路复用】 poll总结

原文:http://www.cnblogs.com/Anker/archive/2013/08/15/3261006.html 1、基本知识2、poll函数3、测出程序1、基本知识poll的机制与select类似,与select在本质上没有多大差别,管理多个描述符也是进行轮询,根据描述符的状态进行处理,但是poll没有最大文件描述符数量的限制。poll和select同样存在一个缺点就是,包含...

2019-04-23 20:16:53 107

转载 【IO多路复用】 select总结

原文: http://www.cnblogs.com/Anker/archive/2013/08/14/3258674.html 1、基本概念2、select函数3、测试程序1、基本概念IO多路复用是指内核一旦发现进程指定的一个或者多个IO条件准备读取,它就通知该进程。IO多路复用适用如下场合:(1)当客户处理多个描述字时(一般是交互式输入和网络套接口),必须使用I/O复用。(2)当一个...

2019-04-23 09:55:58 47

原创 【C语言】S_ISDIR S_ISREG等常见的几个宏

常见的几个宏struct stat数据结构stat函数通过路径通过文件描述符常见的几个宏S_ISLNK(st_mode) // 是否是一个连接.S_ISREG(st_mode) // 是否是一个常规文件.S_ISDIR(st_mode) // 是否是一个目录S_ISCHR(st_mode) // 是否是一个字符设备.S_ISBLK(st_mode) // 是否是一个块设备S_ISF...

2019-04-22 21:17:10 1128

转载 v4l2的学习建议和流程解析

转自: https://www.cnblogs.com/silence-hust/p/4464291.html 一、Video for Linux two二、v4l2结构体介绍1、常用的结构体在内核目录include/linux/videodev2.h中定义2、常用的IOCTL接口命令也在include/linux/videodev2.h中定义三、调用v4l2的工作流程上各种找资料后,才发现其实...

2019-04-22 20:29:40 361

原创 SSH客户端神器--MobaXterm

1 环境2 服务端(Ubantu18.04) 配置3 客户端(Windows 10) 配置3.1 安装MobaXterm3.2 打开本地终端3.3 SSH连接服务器3.4 实例1 执行xclock程序3.5 实例2 执行nautilus命令最近在研究x11协议时,发现一个神器MobaXterm。超好用。在此分享给大家。MobaXterm 是一款开源、免费的、全功能终端软件。它与 PuTTY ...

2019-04-18 00:01:23 2338

转载 std::ostringstream的用法

原文:ostringstream的用法 使用stringstream对象简化类型转换为什么要学习进入stringstream你的编译器支持吗?string到int的转换重复利用stringstream对象在类型转换中使用模板结论一些实例例子一:基本数据类型转换例子 int转string例子二:除了基本类型的转换,也支持char *的转换。例子三:再进行多次转换的时候,必须调用stringstre...

2019-04-09 09:14:02 1966

原创 【C/C++】宏定义中 #、##、__VA_ARGS__和##__VA_ARGS__的作用

#define INFO(fmt, ...) \ if (ctx->enable_verbose) \ printf("INFO: %s(): (line:%d) " fmt "\n", __FUNCTION__, __LINE__, ##__VA_ARGS__);#define WARN(fmt, ...) \ printf("WARN: %s(...

2019-03-27 23:22:57 819

原创 Ubuntu 16.04 中 QT creator 运行CUDA程序的配置

这里写自定义目录标题实验环境实例kernel.cukernel.hmain.cpppro文件的配置运行结果其他实验环境Ubuntu 16.04 + Qt5 + CUDA9.0实例kernel.cu// kernel.cu#include <cuda_runtime.h>#include <stdio.h>extern "C" void runCudaPa...

2019-03-27 22:34:36 1089

转载 【C】pthread_mutex_t 和 pthread_cond_t 配合使用的简要分析

原文:https://blog.csdn.net/chengonghao/article/details/517792791 原理假设有两个线程同时访问一个全局变量 n,这个全局变量的初始值等于0。Int n = 0 ;消费者线程 A 进入临界区,访问 n,A 必须等到 n 大于 0 才能接着往下执行,如果 n== 0,那么 A 将一直等待。...

2019-03-25 22:53:26 325

转载 【C++】拷贝构造函数详解

转自:https://www.cnblogs.com/alantu2018/p/8459250.html1 什么是拷贝构造函数首先对于普通类型的对象来说,它们之间的复制是很简单的,例如:int a=100;int b=a;而类对象与普通对象不同,类对象内部结构一般较为复杂,存在各种成员变量。下面看一个类对象拷贝的简单例子。#include&lt;iostr...

2019-03-06 21:24:48 406

原创 【C++】类的静态成员

静态成员变量在C++中,可以使用static关键字来把类成员定义为静态的。当类的成员被声明为静态时,这意味着无论创建多少个类的对象,静态成员都只有一个副本,静态成员是属于整个类的而不是某个对象。静态成员可以通过双冒号来使用,即&lt;类名&gt;::&lt;静态成员名&gt;。静态成员在类的所有对象中是共享的。如果不存在其他的初始化语句,在创建第一个对象时,所有的静态数据都会被初始化为...

2019-03-05 21:40:22 78

转载 C和C++混合编程 (__cplusplus 与 external "c" 的使用)

转自:http://blog.csdn.net/ljfth/article/details/3965871第一种理解比如说你用C++开发了一个DLL库,为了能够让C语言也能够调用你的DLL输出(Export)的函数,你需要用extern "C"来强制编译器不要修改你的函数名。通常,在C语言的头文件中经常可以看到类似下面这种形式的代码:#ifdef __cplusplusexte...

2019-02-28 18:26:08 361

原创 Windows10下 Nginx + FFmpeg 的 rtmp 视频推流

本人的PC配置:Windows10专业版 64位Intel(R) Core(TM)i5-7400 CPU @3.00GHz 3.00 GHz内存: 8GB1. 下载 Nginx进入Nginx下载页面( http://nginx-win.ecsds.eu/download/ ),选择合适的版本下载。这里以 nginx 1.7.11.3 Gryphon 为例。下载完成后解压,...

2019-02-15 09:56:15 2404 5

原创 Ubuntu 16.04: qt5-default : Depends: qtbase5-dev but it is not going to be installed

建议:Ubuntu系统不能把系统的更新关了,否则无法apt-get。除非你不通过apt-get安装包。今天给我的Nvidia TX2新烧了个 Ubuntu 16.04 系统,按照之前的博文 Qt Creator的安装及创建C项目示例  给TX2安装Qt,结果死活装不上去。显示缺少依赖库。然后又根据提示安装对应的库文件,提示安装不了。然后 apt update 和 apt upgrade 都通不...

2019-01-25 14:11:10 2930 2

原创 Ubuntu中利用 sysv-rc-conf 设置开机自启动

在《在Linux中利用Service命令添加系统服务及开机自启动》中提到,可以使用 chkconfig 把服务加到开机自动启动列表里,开机就能自启动了,但是chkconfig 是Redhat下的程序,而在Ubuntu下有一个更好的程序可以完美“替代”chkconfig,那就是sysv-rc-conf。这里在 Ubuntu16.04上进行演示。第1步:安装sudo apt-get in...

2019-01-21 21:43:13 6124

原创 Shell脚本交互 expect 和send指令

1 概述expect是一个免费的编程工具语言,用来实现自动和交互式任务进行通信,而无需人的干预。expect需要Tcl编程语言的支持,要在系统上运行expect必须首先安装Tcl。2 expect的安装sudo apt-get install expectapt-cache search tclapt install tcl8.6-dev3 例子#!/usr/bin/e...

2019-01-15 08:54:10 5149

原创 SDP协议总结

1 SDP协议介绍   SDP ( Session Description Protocol  )是一种会话描述格式(对应的RFC2327) ,即它定义了会话描述的统一格式。SDP的主要目的就是在媒体会话中,传递媒体流信息,允许会话描述的接收者去参与会话。它不属于传输协议 , 它只使用不同的适当的传输协议,包括会话通知协议(SAP)、会话初始协议(SIP)、实时流协议(RTSP)、MIME 扩...

2018-12-17 19:04:38 438

原创 Ubuntu彻底清除history命令历史记录

在Linux系统的终端中,通常会保存一些敏感的命令记录,使用history -c命令行清除历史命令记录。但在有些系统版本是不会把 .bash_history 里的所有历史命令清除掉的。当再次打开终端时,使用history命令还是会看到历史命令记录,无法彻底清空。这里提出一种方法,可以彻底清空,只需要2步:# 第一步: 删除 .bash_history 文件rm -rf ~...

2018-12-11 14:06:46 15673

win10_build_ffmpeg_tools.zip|win10_build_ffmpeg_tools.zip

本资源包含在windows系统下编译ffmpeg库所需的依赖库和工具,其中含有libx264库源码。

2020-11-20

matlab的语音录入、存储、播放程序

关于matlab的语音录入、存储、播放程序

2014-04-18

标准的TS协议封装流文件

标准的TS协议封装的测试流文件,文件时长3min17sec,画面高清,可用于编解码实验使用。这里分享给大家。

2020-04-08

glib-demo.zip

本代码展示了如何利用glib库解析Key-value文件。本示例采用 Ubuntu18.04 + glib2.0 + Qt +c.

2019-07-27

websocketpp服务端demo

本资源简单介绍websocket的使用,资源中使用websocketpp编写一个服务器,静态页面创建websocket客户端。服务端使用c++,页面端使用H5 + js。

2019-07-20

EGL白皮书 v1.5 August 27, 2014

EGL官方白皮书 v1.5 英文版,August 27, 2014,带目录

2019-04-25

IO多路复用之epoll实例

本示例演示了使用epoll函数处理多路IO复用。本示例在ubuntu + Qt下编译通过的,仅提供学习使用。

2019-04-23

IO多路复用之poll实例

本示例演示了使用poll函数处理多路IO复用。本示例在ubuntu + Qt下编译通过的,仅提供学习使用。

2019-04-23

IO多路复用之select实例

本示例演示了使用select函数处理多路IO复用。本示例在ubuntu + Qt下编译通过的,仅提供学习使用。

2019-04-23

OpenGL编程指南(原书第8版) + OpenGL超级宝典(第5版) -1

OpenGL编程指南(原书第8版) 全书高清扫描,带目录书签;OpenGL超级宝典(第5版)全书高清扫描,带目录书签+源码 注意:下载完此压缩包后,请再下载《OpenGL编程指南(原书第8版) + OpenGL超级宝典(第5版)-2》https://download.csdn.net/download/u013554213/11124898,并将2个压缩包放在一个文件夹下再解压

2019-04-18

OpenGL编程指南(原书第8版) + OpenGL超级宝典(第5版)-2

OpenGL编程指南(原书第8版) 全书高清扫描,带目录书签;OpenGL超级宝典(第5版)全书高清扫描,带目录书签+源码 注意:请先下载《OpenGL编程指南(原书第8版) + OpenGL超级宝典(第5版)-1》,并将2个压缩包放在一个文件夹下再解压

2019-04-18

链表的创建、输出、删除、插入和查找操作

* 本程序展示链表的创建、输出、删除、插入和查找操作。主函数中分别调用 * (1) 建立链表的函数create(), * (2) 输出链表的函数print(), * (3) 删除链表结点的函数del(), * (4) 插入结点的函数insert(), * (5) 查找结点的函数fine(), * 一共5个函数。

2016-08-17

空空如也

空空如也

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

TA关注的人 TA的粉丝

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