编程
文章平均质量分 88
回顾
伴君
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
cmake、vcpkg工具使用介绍
然后在项目里找到ALL build,分别在debug和release下编译(选中ALL build,右键点击生成)(或者采取批生成方式,结果如下图),直到全部编译成功为止。vcpkg是c++第三方库管理工具,可以帮C++程序员快速的获取编译第三方库,一般C++第三方库需要手动编译,配置各种环境,例如OpenMVS,很多人基本编译不了。,cd到vcpkg目录,执行脚本bootstrap-vcpkg.bat得到vcpkg.exe,然后就可以使用vcpkg安装各种库了(哎,最近用这个没以前好使了)。原创 2023-03-31 22:51:28 · 1785 阅读 · 0 评论 -
C++操作.json文件
1.JSON简介1.1 什么是JSON:JSON是一种纯字符串形式的数据,它本身不提供任何方法(函数),非常适合在网络中进行传输。JavaScript、PHP、Java、Python、C++等编程语言都内置了处理JSON数据的方法。JSON 是基于 JavaScript(Standard ECMA-262 3rd Edition - December 1999)的一个子集,是一种开放的、轻量级的数据交换格式,采用独立于编程语言的文本格式来存储和表示数据,易于程序员阅读与编写,同时也易于计算机解析和生成原创 2022-05-02 22:15:04 · 12701 阅读 · 3 评论 -
uint8_t图像数据类型介绍
0. C++基础类型介绍名称字节长度取值范围bool1false, truechar1-128 ~ 127signed char1-128 ~ 127unsigned char10 ~ 255short(signed short)2-215 ~ 215- 1unsigned short20 ~ 216- 1int(signed int)4-231 ~ 231- 1unsigned int40 ~ 232 - 1原创 2022-04-09 15:26:32 · 12336 阅读 · 0 评论 -
SIMD指令集分析(C/C++)
阅读代码的时候遇到了__m128i、_mm_set1_epi8、_mm_loadu_si128、_mm_max_epu8、_mm_min_epu8、_mm_store_si128、_mm_unpackhi_epi8、_mm_adds_epi16、_mm_srli_si128等SIMD指令集,所以想着作一个总结。0. SIMD基础知识SIMD是单指令多数据技术,目前Intel处理器支持的SIMD技术包括MMX、SSE以及AVX。MMX是MultiMedia eXtensions(多媒体扩展)的缩写,是原创 2022-04-06 15:41:26 · 12864 阅读 · 0 评论 -
Make与CMake
1.Make与CMake首先先来了解一下gcc,gcc是GNU Compiler Collection(就是GNU编译器套件),也可以简单认为是编译器,它可以编译很多种编程语言(包括C、C++、Objective-C、Fortran、Java等等)。当我们的程序只有一个源文件时,直接就可以用gcc命令编译它。但是当程序包含很多源文件时,用gcc命令逐个去编译时,就很容易混乱而且工作量大。所以就出现了Make工具。它是一个自动化编译工具,我们可以使用一条命令实现完全编译,但是需要编写一个规则文件,Make原创 2022-04-04 18:48:58 · 13379 阅读 · 3 评论 -
MPI学习
前段时间学习了OpenMP,并且很容易地将其用到了实际应用中,但OpenMP也有很多缺点:所有线程共享内存空间,硬件制约较大;目前主要针对循环并行化。为了进一步了解并行计算,MPI是一个不得不接触的东西。它的优点有:无论硬件是否共享内存空间,都可以使用;与OpenMP相比,可以处理规模更大的问题;每个线程都有自己的内存和变量,这样不用担心冲突问题。MPI的缺点有:算法上经常有较大改动;较难使用;性能上会受到通信网络的影响。1.MPI简介MPI是一个跨语言的通讯协议,用于编写并行计算机,其支持点对点和原创 2022-04-02 10:29:29 · 4423 阅读 · 0 评论 -
异常处理总结
程序有时会遇到运行阶段错误,导致程序无法正常的运行下去。如下图所示:遇到这种问题我们一般都是断点调试或者单步调试。但是,如果有一个较大的循环,将会导致断点调试或单步调试很复杂,因此,学习必要的异常处理找出问题所在还是很有必要的。assert()函数编写代码时,我们总是会做出一些假设,断言assert就是用于在代码中捕捉这些假设,可以将断言看作是异常处理的一种高级形式。使用断言可以创建更稳定,品质更好且不易出错的代码。当需要一个值为FALSE时中断操作的话,可以使用断言。assert宏的原型定义在&原创 2022-03-25 16:32:54 · 766 阅读 · 0 评论 -
OpenMP并行编程
1.总览 OpenMP(Open Multi-Processing)是一种用于共享内存并行系统的多线程程序设计方案,支持的编程语言包括C、C++和Fortran。OpenMP提供了对并行算法的高层抽象描述,通过线程实现并行化,特别适合在多核CPU机器上的并行程序设计。编译器根据程序中添加的pragma指令,自动将程序并行处理,使用OpenMP降低了并行编程的难度和复杂度。当编译器不支持OpenMP时,程序会退化成普通(串行)程序。程序中已有的OpenMP指令不会影响程序的正常编译运行。OpenMP与P原创 2022-03-23 17:27:07 · 14451 阅读 · 3 评论 -
tif、png、jpeg、以及opencv的配置
文章目录前言一、tif 库的配置二、png 库的配置1.引入库2.读入数据三、jpeg库的配置四、opencv库的配置前言最近一段时间因为要处理的影像数据有点大,换着使用了一些图像库,所以在这里记录一下这些库的配置,网上的步骤算是参考了很多,多多少少还是有点不同,所以详细记录一下,希望能帮到一些人。提示:以下编译配置的库都是64位的,用的是VS2015…一、tif 库的配置1)下载libtiff(我是下载的tiff-4.0.10),当然,如果只用32位的,可以直接下载相应的.exe,安装好可.原创 2021-08-02 23:59:24 · 2392 阅读 · 0 评论
分享