刷新
HPX高性能并行编程1:C++标准和标准库

1 C++、C++ 标准和 C++ 标准库 1.1 C++、C++ 标准和并行编程简史 C++ 基于 Dennis Ritchie 在贝尔实验室工作期间于 1969 年至 1973 年创建的编程语言 C。1973 年,Ritchie 的编译器被用于编译 PDP-11 计算机的 Unix 内核。这是第 ...

C/C++与Java混合的JNI编程

博主头像 Java与C++混合编程可以实现两种语言的优势结合,C++的程序性能很高且支持强大的系统调用能力,Java则生态丰富且开发效率较高。JNI是Java与C++进行混合编程的关键桥梁,本章将基于JNI技术讲述Java与C++混合编程的方法和技巧。 1. Java与JNI 1.1. 什么是Java? Ja ...

const char* 指针作为函数参数也能被修改?

博主头像 问题 如下示例程序所示, 首先构建了一个如下所示的Node树,每个节点存有一个数字。程序需要通过node的name返回其数字,即findNodeNumByName,其中name是const char*,表示方法中不会修改其参数。另外这个参数来自于另外一个方法,即findNodeNameByNum,输 ...

pkg-config【Linux包管理工具】

博主头像 PkgConfig(pkg-config)是一个在 Linux/Unix 开发中管理库的编译和链接参数的工具,能自动生成正确的头文件路径(-I)、库路径(-L)和链接库名称(-l)等标志。以下为详细使用指南: pkg-config命令使用 1. 安装 Debian/Ubuntu: sudo apt- ...

Qt | 四种方式实现多线程导出数据功能

前言 在以往的项目开发中,在很多地方用到了多线程。针对不同的业务逻辑,需要使用不同的多线程实现方法,来达到优化项目的目的。本文记录下在Qt开发中用到的多线程技术实现方法,以导出指定范围的数字到txt文件为例,展示多线程不同的实现方式。 示例已上传到gittee,地址:https://gitee.co ...

C++高性能:优化代码运行效率的艺术1 C++简介

1 C++ 简介 本书旨在为您提供编写高效应用程序的坚实基础,并深入了解在现代 C++ 中实现库的策略。我尝试以实用的方法来解释当今 C++ 的工作原理,其中从 C++ 11 到 C++ 20 的现代特性已成为该语言的自然组成部分,而不是从历史的角度来看待 C++。 在本章中,我们将: 介绍一些对于 ...

CMake学习记录

博主头像 CMake学习记录 宏 macro (do_test arg1 arg2 result) add_test (test_${arg1}_${arg2} Demo ${arg1} ${arg2}) set_tests_properties (test_${arg1}_${arg2} PROPERTIE ...

记忆排列题目分析

博主头像 ## 题目概述 给你一个排列 $p$,共有 $n$ 个元素,你可以选择两个数 $i,j$,然后将 $p_i$ 移动到位置 $j$,这个过程需要花费 $i+j$ 的代价,问你通过这些操作过后所能使 $p$ 变为降序的最小代价。 ## 思路 变成降序似乎不是我们所擅长的,我们先转化为变成升序,这个是... ...

使用uint64_t批量比较短字符串

博主头像 记录一下从开源代码里学来的短字符串比较优化。 这个优化只适用于长度在八字节以下的字符串,且只适用于优化相等比较。 原理 想要判断字符串相等,常见的有利用strcmp、利用字符串的hash或者利用正则表达式等。 就速度而言strcmp > hash > 正则,而灵活性上正则 > hash ≈ strc ...

SSE客户端C++实现(使用libcurl)

博主头像 1、SSE数据包格式 如下所示,一条SSE消息中可以有一个或多个message,每个message由\n\n分隔,一个message也可以由一个或多个filed组成,每个filed由\n分隔,filed有data、id、event、retry四种。 data表示消息数据,如"data:value\n ...

各种优化建图、最短路建模技巧

博主头像 直接看题吧,思路有了,但是有些题代码没打。兔子正在加油中。 优化建图 I.(线段树)CF786B Legacy 题目描述 三种连边操作,执行 \(q(1\le n\le10^5)\) 次: \(x\xrightarrow{w}y\) \(x\xrightarrow{w}y,y\in[l,r]\) \ ...

C23和C++26的#embed嵌入资源指南

博主头像 c++26最近刚敲定标准,新增了许多重量级特性。 不过目前能实际上手测试的特性不多,毕竟标准刚刚确定,比较大的变更里只有“资源嵌入”或者用标准文档里英文名“resource inclusion”这个新特性可以尝鲜。 虽然这篇文章标题叫指南,但实际上更像实验记录,而且现在属于早期阶段编译器对资源嵌入的 ...

记一次ADL导致的C++代码编译错误

博主头像 这篇文章主要讲讲c++的ADL,顺便说说为什么很多c++的IDE都会让你尽量不要include用不上的头文件。 和其他c++文章一样,这篇也会有基础回顾环节,所以不用担心看不懂,但读者最好还是得有c++的基础知识并且对c++11之后的内容有所了解。 好了,下面我们进入正题吧。 偶遇报错 最近工作收尾 ...

C++ 习惯RAII思想

博主头像 什么是 RAII RAII(资源获取即初始化,Resource Acquisition Is Initialization),作为 C++ 的一个重要编程范式,已经被贯彻于标准库的各个角落。RAII 的核心思想是将资源与类的生命周期绑定,RAII 类是针对内部资源封装的资源管理类。 RAII 有什么 ...

<1234···10>