自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Could not load the Qt platform plugin “xcb“ in ““ even though it was found.

ubuntu 16.04系统安装qt死活运行不了,提示Could not load the Qt platform plugin "xcb" in "" even though it was found.最后发现是有些库没有安装sudo apt-get install "^libxcb.*" libx11-xcb-dev libglu1-mesa-dev libxrender-dev解决问题...

2020-10-12 20:15:56 895 2

原创 Linux中使用GitHub Desktop

官方并没有提供linux版的GitHub Desktop,但是有第三方已经做了linux版的了,毕竟是开源的。第三方仓库:https://github.com/shiftkey/desktopubuntu下安装方法:$ wget -qO - https://packagecloud.io/shiftkey/desktop/gpgkey | sudo apt-key add -$ sudo sh -c 'echo "deb [arch=amd64] https://packagecl.

2020-09-25 18:15:45 2509

原创 C++20 协程(coroutine)

C++20加入协程,其实是为了以后加入网络库而准备的。协程也是异步执行的,那么它跟std::thread有什么区别呢?区别在于协程是用户调度的,线程则是系统调度的。由于是用户态的,所以协程数量是不受限制的,想要多少就创建多少。同时C++20的协程是无栈协程,在调度切换时性能比线程快很多。基于协程的特点,基本上协程就是为了网络库而服务的了。应用开发者不建议使用协程,除非你明确知道协程的优势所在,否则不建议使用协程(std::async不香吗)。 传统异步调用 协程出现以前,异步函数也许是这么写的

2020-08-29 20:19:04 3346

原创 C++20 新增库功能(Library Features)

std::osyncstream现在可以使用std::osyncstream来实现输出流的多线程同步了: std::osyncstream{std::cout} << "The value of x is:" << x << std::endl; gcc 10.1未实装std::osyncstream,先记录一下 std::span std::span用法类似于std::array,数据存储方式类似于std::string_view,本身并...

2020-08-26 20:56:41 668

原创 C++20 指定初始值设定项(designated initializers)

struct A { int x; int y; int z = 123;};A a {.x = 1, .z = 2}; // a.x == 1, a.y == 0, a.z == 2当使用c风格指定初始值时,没有被指定的成员变量将使用默认初始化(default-initialized)。C++11的时候增加了default-initialized概念,数值的默认初始化值被设为0。如:int i{}; // i 将被初始化为0int i2; // i2 将被初始化为未知的一.

2020-08-26 19:15:18 3309

原创 C++20 Concepts 模版约束概念

C++20以前,模版类型约束只能通过std::enable_if、std::enable_if_t来实现。然而,std::enable_if真的是又臭又长,而且每新定义一个都要重写一遍。直接给予模版编写者极差的使用体验。Concepts引入之后,完美解决了std::enable_if又臭又长还得反复编写的问题。先看下新引入的关键字: concept C++20以前,当你想定义只针对整形的模版函数,你也许会这么写:template <typename T>auto ...

2020-08-26 18:53:24 893

原创 C++20 新关键字consteval,即时函数(Immediate functions)

constexpr修饰函数时其实只是告诉编译器该函数可以按常量值的表达式去优化,但是如果函数本身不是常量值的表达式的话依然能够编译通过。C++20新增了consteval关键字,用来修饰函数时常量值的表达式,而且是强制性的。如果函数本身不是常量值的表达式的话则会编译失败。constexpr int add100_constexpr(int n) { return n + 100;}consteval int add100_consteval(int n) { return n +.

2020-08-26 13:00:21 3394

原创 C++20 using enum

C++20新标准可以支持using enum XXX,如:enum class rgba_color_channel { red, green, blue, alpha };using enum rgba_color_channel;我实际在gcc 10.1测试中还是不支持,这里记录一下。个人观点上说,using enum其实是一种倒退。enum class就是为了枚举能有前缀,再新增using enum感觉加快编码速度有限。无论如何,using enum必须只能写在源文件中,千万.

2020-08-26 12:05:21 954

原创 C++20 Lambda表达式捕获模版不定实参(Lambda capture of parameter pack)

C++20之前Lambda表达式只能捕获固定实参,如:template <typename T>auto fun(T&& t){ return [t = std::forward<T>(t)] { };}C++20现在可以捕获模版不定长实参了:template <typename... Args>auto funs(Args&&... args){ // 传值捕获 return [...

2020-08-26 11:49:02 705

原创 ffmpeg历史版本下载

http://www.ffmpeg.org/releases/ 通过上面的链接可以下载ffmpeg的所有版本,记录一下 

2018-11-15 13:59:40 3471 2

原创 Android Studio配置CMakeLists.txt来加载第三方SO库

要使用第三方库首先当然是加载第三方库的头文件使用include_directories来包含第三方头文件,多个路径用空格隔开,添加在cmake_minimum_required的下面include_directories(xxx/include ../xxx) 例如include_directories(../../../ThirdParty/ffmpeg/include .....

2018-11-12 14:59:45 2535

原创 ios编译ffmpeg出现xcrun -sdk iphoneos clang is unable to create an executable file的解决方法

使用https://github.com/kewlbear/FFmpeg-iOS-build-script的脚本一键编译ffmpeg。出现building arm64...xcrun -sdk iphoneos clang is unable to create an executable file. 输入xcodebuild -showsdks  如果出现er...

2018-11-12 14:40:15 1623

空空如也

空空如也

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

TA关注的人

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