
cpp
黑色低级高中生
我是一个一个一个垃圾人哼哼哼啊啊(QQ1264625484)
展开
-
SIMD TestCases
Env使用 intrinsics 需要的 cxxflagsset(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -msse4.1 -march=native -mfma")Case1通过计算 向量乘法 演示了Intel AVX intrinsics 的显式使用Class Declaration#include <utils.hpp>#include <vector>#include <random>#include <a原创 2021-10-18 11:48:54 · 205 阅读 · 0 评论 -
懂的自然懂
function <- prefix returnType functionName template* '(' (',' / parameter)* ')' suffixsymbol <- < [a-zA-Z_&*][0-9a-zA-Z_:]+ >prefix <- < 'inline'? 'static'? 'explicit'? 'virtual'? >suffix <-原创 2021-08-11 11:23:55 · 167 阅读 · 0 评论 -
结合LeetCode多线程专区例举c++异步编程(c++11~17)
目录前言说明效率环境题目1114. 按序打印题目描述题目分析before codingFoo v1测试与分析不要在condition_variable::wait中无条件等待Foo v2前言本博文将通过对力扣平台上多线程专区中的几道例题进行解析,通过使用不同的异步模型求解问题来对c++语言所支持的异步编程方式作一通览说明效率基本不考虑探究最优解法这一过程,仅考虑使用符合第一直觉的方法并尽量雨露均沾环境msvc 16.0clion 2021.1.2code space Github Rep原创 2021-07-18 01:35:57 · 1032 阅读 · 1 评论 -
Simple LeetCode Utils at local IDE (c++)
做力扣还是习惯用本地IDE,对某些过长的输入数据在本地复现起来太麻烦了,所以写了个初步的小工具来支持一些类型的leetcode式输入串解析…扔到.hpp中开盒即用当前只实现了二维string vector的获取且存在一定缺陷,后续待补充/**------------------------------------------------------------------------------ * @brief LeetCode 输入解析器 * @author DFW * @date .原创 2021-07-06 17:35:40 · 276 阅读 · 0 评论 -
解决CMAKE项目 无法连接到入口位点main
如果出现以下错误信息MSVCRTD.lib(exe_winmain.obj) : error LNK2019: unresolved external symbol WinMain referenced in function “int __cdecl invoke_main(void)” (?invoke_main@@YAHXZ)test-test.exe : fatal error LNK1120: 1 unresolved externalsLINK Pass 1 failed. with 1原创 2021-06-19 16:25:33 · 980 阅读 · 0 评论 -
Windows MinGW64 输出stackTrace信息
Hi分析编译实现某测试结果分析待补充 傻B MinGW编译-lDbgHelp -g || add_compile_options(-g) add_ target_link_libraries(... DbgHelp)实现util.h#ifndef UTIL_H#define UTIL_Hclass Util { Util() = delete; ~Util() = delete;public: static void printStackTrace(); };原创 2021-04-14 11:41:22 · 550 阅读 · 0 评论 -
CMAKE 批量获取目录下指定类型文件并转换为相对路径
# 使用GLOB_RECURSE递归遍历子目录file(GLOB_RECURSE ICON_PATH *.png)set(REL_ICON_PATH "")# 生成的单个相对路径为rel_path, 存入REL_ICON_PATH中foreach(path ${ICON_PATH}) string(REPLACE "${CMAKE_CURRENT_SOURCE_DIR}/" "" rel_path ${path}) set(REL_ICON_PATH "${REL_ICON_PATH}$.原创 2021-03-28 15:51:09 · 1300 阅读 · 0 评论 -
操作系统实验 多线程并发实现归并排序 c++ atomic
P话不多说,上代码main.cppresultnoticemain.cpp#include <random>#include <chrono>#include <thread>#include <atomic>#include <iostream>using namespace std;// 排序数据大小constexpr int n = 10000000;// 最大并发单位实际数量static atomi原创 2020-11-09 15:39:32 · 599 阅读 · 0 评论 -
Leetcode No.17 电话号码的字母组合 迭代解法
#include <stack>#include <string>#include <vector>#include <algorithm>#include <iostream>using namespace std;#define PRINT_VAR(__var) \ cout << #__var ":" << __var << " "; // 需要看debug信原创 2020-08-27 01:06:05 · 181 阅读 · 0 评论 -
北京邮电大学 面向对象程序设计与实践 C++基础题目
《面向对象程序设计实践(C++)》课程基础实验WATCH OUT下载地址项目结构目录结构CmakeLists.txt内容例:实验一、C++基础知识实验(编写简单矩阵类)$${PWD}/src/matrix/Matrix.hMatrix.cppTestMatrix.hppWATCH OUT以第一个实验为例,$${PWD}/src 中的每个文件夹包含一个实验所需要用到的代码需要进行测试时在main.cpp中调用各模块对应Test文件内的函数即可下载地址提取码:xxqz项目结构CmakeLis原创 2020-07-24 00:30:55 · 1851 阅读 · 4 评论 -
c++——qt项目中使用Android ndk编译 armeabi-v7可用的protobuf v3.12.3 静态库
啊啊啊啊交叉编译啊啊啊,用.mk生成的静态库文件懒得链接其他标准std异常库,导致编译报114甚至514个错经测试,使用ndkr19-c中的make工具编译生成的静态库不能被使用同版本ndk的qt程序链接,但是可被r21b版本ndk成功链接,所以我尝试的最后一个可用组合是r19c生成库+r21b编译apk,后续会尝试全部使用r21b(看见某stderr和一堆exception爆红相关就反胃啊嗯)先执行下面的bash命令,位置随意\color{red}{先执行下面的bash命令,位置随意}先执行下面的.原创 2020-07-07 21:30:43 · 740 阅读 · 0 评论 -
C++17 Qt 使用标准库绑定可变参数包的sql query语句
主要思路是使用std::forward_as_tuple将参数包保存到元组中,然后利用std::apply遍历元组中的数据这里需要用到auto类型推断,如果参数中有自定义类型还需要注册元对象template<typename... Args> /*static*/ void prepare(std::string _query, Args&&... args) { QSqlQuery query(m_db); query.prepa.原创 2020-06-15 11:17:08 · 710 阅读 · 0 评论 -
不知对性能有多大影响的简易c++ reflect尝试
大作业中的部分残废代码片demoReflect.hppPokemonSkill.hPokemonSkill.cpp不太会看powershell的ps命令结果,要是有能拿到进程使用的精确到字节的内存大小的办法的话再测试一下要不要换boost的reflect,,,Reflect.hpp#ifndef REFLECT_H#define REFLECT_H#include <PreCompile.h>template<typename ClassName, typename K原创 2020-05-24 01:15:50 · 470 阅读 · 0 评论 -
记录Qt5.14.1+VS2019配置mysql驱动和protobuf的一点坑
带作业要用,故踩坑MySQL驱动添加Protobuf依赖MySQL驱动 当重新装了最新的mysql-8.0.20-winx64后准备写代码,发现QSqlDatabase抛出错误信息:驱动未加载,判断是plugins文件夹下的mysqldriver内缺少了对应的dll 解决方法是打开Qt源码 [略]Qt\Qt5.14原创 2020-05-18 00:29:54 · 879 阅读 · 0 评论 -
在QtQuick中使用Vulkan API绘制三角形Demo
项目结构QQuickView做主窗体,加载QML资源使用继承自QQuickItem的QVulkanScene来绘制自定义内容为QVulkanScene设置内置的VkRenderer类,提供渲染操作通过链接SceneGraph发送的信号来调用每一次的绘制流程使用QQuickWindow->begin/endexternalCommands结合获取的绘图commandBuffer执行自定义ren...原创 2020-04-25 00:38:04 · 1308 阅读 · 2 评论 -
CPP杂记——开始做点基础题
一些杂题LeetCode两数之和三数之和正则表达式匹配LeetCode两数之和内存100% 耗时43% 回头看看题解(难道要哈希?内存++)#include <map>#include <vector>using std::map;using std::vector;class Solution {public: vector<int&...原创 2020-04-08 01:01:32 · 423 阅读 · 0 评论 -
计算机网络 c++17+ 基于asio2的protocol6(选择重传)udp异步模拟通信样例 [废弃,原模板工程实现请看《计算机网络 数据链路层 选择重传协议 c语言实现》]
开发环境 vs2019 c++"latest" with asio2config.htimer.hmain.cppProtocolApp.hprotocolApp.cppconfig.h#pragma once#include <array>#include <memory>#include <vector>#include <random&...原创 2020-03-31 15:58:39 · 845 阅读 · 2 评论 -
CPP杂记——Lambda整理
Lambda简介用法注意1.lambda在使用拷贝捕获后修改外部变量时,需要添加mutable来修饰2.为了内存的安全性(?瞎猜的)lambda相互之间无法赋值,但是可以利用已有的lambda来初始化其他的lambda3.效率问题,最好不要使用[=],[&]来一次性大量捕获变量4.Lambda在满足要求的情况下会隐式转换为constexpr(after c++17)5.(稀有问题)lamb...原创 2020-03-23 19:36:28 · 1935 阅读 · 0 评论 -
CPP杂记——使用RAII机制管理实体资源
起初接触到RAII机制是在使用std中的lock_guard()方法时对于其只需一行的加锁方式感到好奇。其实所谓RAII就是利用C++中构造的临时对象一定会被析构的原理构造一个临时对象,在构造时获取需要纳入管理的资源,并在其生命周期结束后随析构函数的调用而释放。要注意的是,生成的RAII风格管理类最好禁用拷贝构造函数和operator=\color{red}{要注意的是,生成的RAII风格...原创 2020-03-22 20:13:10 · 349 阅读 · 1 评论 -
CPP杂记——移动构造函数中需要注意的问题
首先提一下为什么要使用拷贝构造函数:在多次使用传值做参数的方法时,不可避免的会产生临时对象从而调用拷贝构造函数。.默认的浅拷贝构造函数在临时变量被析构时还会释放其中的动态元素内存,这时便会对其他部分产生影响,c++11前未仔细优化的代码大都直接编写深拷贝构造函数,但由于作为参数的临时性,这种行为是无必要的。.这时的优化方法为使用“右值引用”,通过直接取得传入临时变量的所有权,可令如pu...原创 2020-03-21 18:28:20 · 1167 阅读 · 1 评论