c++
文章平均质量分 88
longji
39539883@qq.com
展开
-
c++ dlopen demo
dlopen 使用demo,可在msys2下编译原创 2023-02-01 09:11:54 · 506 阅读 · 0 评论 -
libreoffice 01 windows 版本编译
01 基本信息目前office开源版本主流是 libreoffice。其前身是openoffice。官网:https://zh-cn.libreoffice.org/wiki: https://wiki.documentfoundation.org/windows 版编译说明: https://wiki.documentfoundation.org/Development/BuildingOnWindows发布版本下载地址: https://www.libreoffice.org/download原创 2021-07-04 14:41:39 · 2251 阅读 · 29 评论 -
IncrediBuild 联合编译
01 基本信息官网: https://www.incredibuild.com要使用IncrediBuild,必须有License,可以免费申请试用版本的license。可以到 https://www.incredibuild.com/free-trial-2 去申请30天免费 的 license,申请时需要手机号码和邮件。申请后可以下载安装包。也可以直接使用 visual studio 2019 安装包中的 incredibuild。01.01 安装方法01.01.01 使用独立安装包的安装截原创 2021-06-25 13:35:08 · 6442 阅读 · 2 评论 -
vs2019 调试远程Linux主机配置
vs2019 调试远程LInux主机配置01 参考官网介绍:在 Visual Studio 中创建 CMake Linux 项目在 Visual Studio 中配置 Linux CMake 项目在远程 Windows 计算机上调试 CMake 项目02 操作步骤1 win10、CentOS6.9,vs2019 按装Linux组件,win10 按照 ssh 客户端, Linux 按照sshd、gdb、gdb-gdbserver。win10 上面可以ssh连接到CentOS,CentOS中可以正原创 2021-02-19 10:52:00 · 858 阅读 · 0 评论 -
rippled win10 vs2019编译 rippled 1.6.0
win10 vs2019 编译rippled 1.6.001 必备资源rippled官方提高的编译文档一直都是vs2017的 boost1.70.0的说明。最近抽空尝试win10下面 使用 vs2019社区版本编译rippled。参考 官网vs2017编译说明:https://github.com/5455945/rippled/blob/develop/Builds/VisualStudio2017/README.md工具版本Visual Studio 201916.8.4原创 2021-02-15 20:36:03 · 1775 阅读 · 0 评论 -
Linux下coredump使用
01 什么coredump当程序运行的过程中异常终止或崩溃,操作系统会将程序当时的内存状态记录下来,保存在一个文件中(core文件),这种行为就叫做 Core Dump 或者叫做"核心转储",利用 coredump 可以帮助我们快速定位程序崩溃位置。通常情况下,core文件会包含了程序运行时的内存,寄存器状态,堆栈指针,内存管理信息还有各种函数调用堆栈信息等,我们可以理解为是程序工作当前状态存储生成的一个文件,许多的程序出错的时候都会产生一个core文件,通过工具分析这个文件,我们可以定位到程序异常退出原创 2020-07-16 16:44:13 · 1141 阅读 · 0 评论 -
linux错误码 errno对应错误内容
01 Linux错误码 | errnoLinux中系统调用的错误都存储于 errno中,errno由操作系统维护,存储就近发生的错误,即下一次的错误码会覆盖掉上一次的错误。查看系统中所有的errno所代表的含义,可以采用如下的代码:#include <stdio.h>#include <string.h> //for strerror()//#include <errno.h>int main(){ int tmp = 0; for(原创 2020-05-31 20:17:45 · 889 阅读 · 0 评论 -
C++20 中 atomic_wait、binary_semaphore、latch、barrier 的一个示例实现
C++20 中的原子操作库增加了std::atomic_wait,阻塞线程直至被提醒且原子值更改。github上面发现一个 C++20 中 binary_semaphore、latch、barrier 的一个示例实现https://github.com/ogiroux/atomic_wait这个实现是在c++17的基础上完成的。结合cppreference上面的: atomic1 、at...原创 2020-04-06 21:47:01 · 1328 阅读 · 0 评论 -
C++20 to_address remove_cvref bind_front
C++20 to_address 等01 to_address02 remove_cvref03 bind_front01 to_address<memory>template< class Ptr >constexpr auto to_address(const Ptr& p) noexcept;template< class T >con...原创 2020-03-29 22:56:30 · 536 阅读 · 0 评论 -
C++20 bit 位操作函数
C++20 bit 位操作函数02 std::lerp 和 std::midpointC++20 增加了<bit>头文件, <bit> 提供数个访问、操作及处理单独位和位序列的函数模板。1方法作用bit_cast将一个类型的对象表示重解释为另一类型的对象表示has_single_bit检查一个数是否为二的整数次幂bit_ceil寻找...原创 2020-03-19 19:50:43 · 2789 阅读 · 0 评论 -
C++20 numbers 数学常数
C++20 numbers 数学常数01 C++20 numbers 数学常数02 测试01 C++20 numbers 数学常数c++20 在 <numbers> 头文件中增加了一些数学常数。1数学常数 (C++20 起)定义于头文件 ,定义于命名空间 std::numbers。内联常函数常函数定义数学常数常数的值inline constexpr do...原创 2020-03-18 19:45:52 · 2964 阅读 · 0 评论 -
C++20 semaphore
C++20 semaphore01 C++20 semaphore01 C++20 semaphore下面是在 www.open-std.org 对 C++20 semaphore 的一点介绍内容。(semaphores、latch、barrier)http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p1135r2.html1c...原创 2020-03-15 13:32:09 · 4499 阅读 · 0 评论 -
C++20 barrier
C++20 barrier01 C++20 barrier01 C++20 barrier下面是在 www.open-std.org 对 C++20 barrier 的一点介绍内容。(semaphores、latch、barrier)http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p1135r2.html1barrier屏...原创 2020-03-12 09:30:43 · 1512 阅读 · 0 评论 -
C++20 latch
vs2019 C++20 latch01 latch02 latch的一个实现01 latch<latch> 闩:单次使用的线程屏障。latch 是 ptrdiff_t 类型的向下计数器,它能用于同步线程。在创建时初始化计数器的值。线程可能在 latch 上阻塞直至计数器减少到零。没有可能增加或重置计数器,这使得 latch 为单次使用的屏障。同时调用 latch 的成员函数...原创 2020-03-09 12:01:45 · 1362 阅读 · 0 评论 -
C++20 jthread
vs2019 C++20 jthread01 jthread的一个实现02 jthread用法02.01 cppreference上面的介绍02.02 可协作中断的用法02.03 NICOLAI JOSUTTIS提供了大量测试用例jthread是有自动合并和取消支持的 std::thread。jthread包装了一下thread,提供了线程运行中停止的接口。jthread定义在<threa...原创 2020-02-28 16:23:49 · 3577 阅读 · 0 评论 -
C++20 source_location
C++20 source_locationsource_location头文件source_location用法使用source_location类可以减少代码中出现__FILE__,FUNCTION,__LINE__宏的次数。https://zh.cppreference.com/w/cpp/utility/source_locationsource_location头文件source_...原创 2020-02-01 19:18:28 · 3139 阅读 · 0 评论 -
C++20 标准属性
01 C++ 标准属性C++11后引入了C++ 标准属性1。。在 C++ 11 中,属性提供一种标准化的方法添加批注的其他信息,也可能不是特定于供应商的 C++ 构造 (包括但不是限于类、 函数、 变量和块)。 用于生成信息性消息,或应用特殊逻辑,编译特性化的代码时,编译器可以使用此信息。 编译器将忽略无法识别,任何属性这意味着你不能定义自己自定义属性,使用此语法。 属性将由双方括号标明。下面...原创 2020-01-25 20:30:15 · 4660 阅读 · 0 评论 -
C++20三路比较运算符
C++20的三路比较运算符 operator<=>01 默认比较01.01 默认比较01.02 定制比较强序弱序偏序02 C++20的关系运算符与比较接口03 参考三路比较运算符 <=> 通常被称为宇宙飞船运算符(spaceship operator)。可以执行字典序比较,它按照基类从左到右的顺序,并按字段声明顺序对非静态成员进行比较。在类ClassName中预置 &l...原创 2020-01-17 16:58:07 · 5910 阅读 · 2 评论 -
C++20 span
C++20的span01 范围检查:span02 span demo01 范围检查:span对象的连续序列上的无所有权视图。1类模板 span 所描述的对象能指代对象的相接序列,序列的首元素在零位置。 span 能拥有静态长度,该情况下序列中的元素数已知并编码于类型中,或拥有动态长度。典型实现只保有二个成员:指向 T 的指针和大小。2到2020年1月16日前,有3个span的开源版本。...原创 2020-01-16 19:42:40 · 9501 阅读 · 0 评论 -
VSCode C++开发环境配置
VSCode C++开发环境配置01 ubuntu18.04 配置vscode01.01 安装code包01.02 安装C/C++扩展1.安装C / C ++语言扩展2.安装中文扩展插件3.安装CMake扩展插件01 ubuntu18.04 配置vscode参考官网 https://code.visualstudio.com/docs/setup/linux01.01 安装code包为基于...原创 2020-01-06 16:21:06 · 837 阅读 · 0 评论 -
C++20 Ranges
VS2019 C++20的Ranges01 引入范围的动机02 范围(ranges)03 range-v3库04 C++20 range demo01 引入范围的动机C++17以前的标准库中大多数通用算法(如std::sort)采用一对迭代器操作数据。如:要对std::vector v进行排序,使用std::sort(v.begin(), v.end())而不是std::sort(v)。1这...原创 2020-01-02 11:52:49 · 5356 阅读 · 1 评论 -
C++20 Concepts
vs2019 C++20 Concepts01 concepts及concepts库函数02 Concepts demo01 concepts及concepts库函数什么是C ++概念?概念(concepts)提供基础语言概念的定义,它们能用于进行模板实参的编译时校验,以及基于类型属性的函数派发。这些概念在程序中提供等式推理的基础。1通过使用concepts,传统的模板元编程方面关于编译错...原创 2019-12-27 14:59:46 · 4220 阅读 · 2 评论 -
C++20 Coroutines 协程
VS2019 C++20的coroutine原创 2019-12-26 22:42:22 · 10041 阅读 · 1 评论 -
c++20 module
C++20开始的module是一个工程化特性,头文件中的信息现在分成导出的部分和不导出的部分,可以有效减少实现细节影响的范围,带来一个非常有用的特性——重新编译速度变快。vs2019已经支持部分module功能。原创 2019-12-17 20:36:35 · 9377 阅读 · 1 评论 -
微软并行模式库(PPL)
PPL官网文档:https://docs.microsoft.com/zh-cn/cpp/parallel/concrt/concurrency-runtime?view=vs-2019并发运行时体系结构PPL库组件:组件头文件并行模式库 (PPL)ppl.hconcurrent_queue.hconcurrent_vector.h异步代理库agents.h...原创 2019-11-28 13:46:51 · 3284 阅读 · 0 评论 -
黑苹果 macOS 10.14 编译 obs-studio 22.0.3
01 安装 brew/usr/bin/ruby -e &amp;amp;amp;amp;amp;amp;quot;$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)&amp;amp;amp;amp;amp;amp;quot;这个安装过程会要求回车2次,同时安装Xcode Command Line Tools执行过程如下:softdeMac:~ soft$ /原创 2018-10-24 08:23:06 · 1451 阅读 · 0 评论 -
OpenMP简介
01 OpenMP简介OpenMP(开放式多处理)是一种应用程序编程接口(API),支持C,C ++和Fortran中的多平台共享内存 多处理(CPU){\color{blue}多处理(CPU)}多处理(CPU)编程,适用于大多数平台,指令集架构和操作系统,包括Solaris,AIX,HP-UX,Linux,macOS和Windows。它由一组编译器指令,库例程和影响运行时行为的环境变量。共享内...原创 2019-07-08 17:27:54 · 7752 阅读 · 0 评论 -
pybind11 库
pybind11原创 2018-05-07 22:20:30 · 6073 阅读 · 0 评论 -
windows10 vs2015编译 带nginx-rtmp-module 模块的32位nginx
1 下载必要软件 从 http://xhmikosr.1f0.de/tools/msys/下载msys:http://xhmikosr.1f0.de/tools/msys/MSYS_MinGW-w64_GCC_610_x86-x64_Full.7z。 把MSYS_MinGW-w64_GCC_610_x86-x64_Full.7z压缩包里面的MSYS解压到C盘根目录。原创 2016-08-30 15:21:58 · 5610 阅读 · 1 评论 -
libwebsockets win10 vs2017编译
01 环境及依赖源码地址:https://github.com/warmcat/libwebsockets 依赖: openssl/zlib openssl编译参考:https://blog.csdn.net/longji/article/details/53573173 zlib编译参考:https://blog.csdn.net/longji/article/details/5358...原创 2018-09-05 21:12:21 · 3688 阅读 · 1 评论 -
websocketpp库 windows版本编译
01 websocketpp代码库:https://github.com/zaphoyd/websocketpp 编译依赖:boost/openssl/zlib 参考: boost库编译:https://blog.csdn.net/longji/article/details/82422770 win10 vs2015 openssl-1.0.2j编译:https://blog.csd...原创 2018-09-05 19:17:13 · 6006 阅读 · 0 评论 -
win10 vs2015 libyuv编译,支持xp
01 libyuv编译环境10 企业版本(10.0.14393) vs2015、git、python2.7.6、vpn(下载源码需要翻墙)。02 下载源码 注意:开启vpn。D:\git>git clone https://chromium.googlesource.com/libyuv/libyuvCloning into 'libyuv'...remote: Total 16062 (delt原创 2017-01-01 01:10:43 · 2144 阅读 · 0 评论 -
win10 vs2015 freetype2编译
01 FreeTypeFreeType库是一个完全免费(开源)的、高质量的且可移植的字体引擎,它提供统一的接口来访问多种字体格式文件,包括TrueType, OpenType, Type1, CID, CFF, Windows FON/FNT, X11 PCF等。支持单色位图、反走样位图的渲染。FreeType库是高度模块化的程序库,虽然它是使用ANSI C开发,但是采用面向对象的思想,因此,Fre原创 2017-01-08 23:21:59 · 3887 阅读 · 3 评论 -
libuv 在win10 vs各个版本编译静态库
01 环境libuv使用git管理代码,使用gyp管理工程文件。git、python2.x必须。 环境描述: win10x64企业版本(10.0.14393), vs2005–vs2015, python2.7.6, git(version 1.9.5.chromium.6)。 git和python建议使用更高版本。 因为下载gyp管理工具需求翻墙,需要vpn。自己有美国的vps,可以原创 2016-12-31 12:36:48 · 7243 阅读 · 0 评论 -
win10 vs2015 编译 wxSqlite3
01 环境信息win10 企业版,vs2015企业版。 git version 2.10.0.windows.1 wxSqlite3官网:http://wxcode.sourceforge.net/components/wxsqlite3 github网址:https://github.com/utelle/wxsqlite302 源码下载# 从github下载源码,迁出最新代码v3.4.1原创 2017-01-08 13:51:39 · 3569 阅读 · 0 评论 -
win10 vs2015 wxWidgets编译
wxwidgets官网: http://www.wxwidgets.org 官网下载源码包: http://www.wxwidgets.org/downloads/ https://github.com/wxWidgets/wxWidgets/releases/download/v3.1.0/wxWidgets-3.1.0.7z 官网的zip包、7z包、安装包都是源码包。从github下载原创 2017-01-04 11:41:49 · 2139 阅读 · 0 评论 -
用inno setup制作管理员权限启动的安装包
inno setup制作的安装包,默认是不需要管理员权限启动的。我们制作安装包,往往需要做一些设置工作,这些设置工作可能用到管理员权限。使用Resource Hacker修改inno setup资源,使inno settup生成的安装包以管理员权限启动。用inno setup制作管理员权限启动的安装包原创 2016-12-08 20:25:00 · 13327 阅读 · 2 评论 -
obs 0.15.4 编译
OBS(Open Broadcaster Software)是一个广泛使用的视频录制直播软件。利用该软件可以实现桌面窗口、游戏、网页、RTMP流、图像等的录制直播。OBS也是一个开放源代码的软件,因此我们可以在源代码的基础上进行修改,来实现我们自己的定制功能。OBS Studio是当前正在维护的版本,老版本叫做OBS Classic。相对老版本而言,OBS Studio在架构上进行...原创 2016-08-27 16:44:53 · 1652 阅读 · 0 评论 -
win10 zlib编译
1 zlib基本信息1.1 zlib官网从http://www.zlib.net/下载http://zlib.net/zlib-1.2.8.tar.gz。 解压后得到源码。需要自己修改zconf.h.in文件为zconf.h。1.2 github上zlib源码库github下载源码,不需要对zconf.h.in改名。github代码库网址:https://github.com/madler/zli原创 2016-12-12 22:16:01 · 7200 阅读 · 0 评论 -
使用DirectShow捕获视频,并截图保存
direct showISampleGrabberISampleGrabberCBdshow视频捕获 摄像头捕获 视频流截图 视像头截图原创 2016-12-04 16:45:24 · 4860 阅读 · 4 评论