
C++
文章平均质量分 59
天色微凉
这个作者很懒,什么都没留下…
展开
-
记一次cuda程序printf没输出的问题
占用的大小是 1048576*4/1024/1024=4 MB,根据网上资料,运行时的栈大小被限定了,生成可执行程序时, 链接器可以指定运行时栈大小, 超过这个尺寸就发生栈溢出。我记录一下怎么查这个问题的,采用增量法,只写第一行代码,有输出,写前三行,有输出,直到` const int ARRAY_SIZE = 1 << 20;天呐,cuda c++连个提示都没有吗,爆栈了就给我一片寂静是吧,好人谁能想到这啊……好的,这里使用了nvcc,内部调用了MSVC编译器,这里应该是爆栈了。原创 2025-02-04 20:51:42 · 372 阅读 · 0 评论 -
abseil中的微操
各种和底层相关的微操原创 2024-01-15 18:57:07 · 1111 阅读 · 0 评论 -
openal中使用现代C++智能指针管理ffmpeg中裸指针的用法
【代码】openal中使用现代C++智能指针管理ffmpeg中裸指针的用法。原创 2024-01-12 13:50:54 · 762 阅读 · 0 评论 -
fmt中几个技法
是一个 C 风格的函数,可以用于处理任意类型的内存块,而不仅限于字符数据。这种技术通常用于编译时的条件编程,通过在模板实例化期间进行类型检查和分支选择,从而根据类型特性实现不同的行为。,这意味着需要将其转换为适当的类型才能访问所找到的字节。的位置,并输出结果。是一个类型特性,用于检查给定的类型是否可以通过特定的参数列表进行构造。是 C++ 标准库中的一个函数,它用于在一段内存中搜索指定的字节值。或将其转换为其他类型的指针,以便进行进一步的操作。的不同,我们可以看到不同的构造函数被调用。原创 2024-01-12 11:46:41 · 459 阅读 · 0 评论 -
稀奇古怪的优化技巧
C++程序性能优化原创 2024-01-09 19:28:05 · 421 阅读 · 0 评论 -
谈谈 UTF-8 标准和解码的实现
unicode + utf-8 + Cpp implement原创 2024-01-09 15:43:30 · 3249 阅读 · 4 评论 -
利用std::package_task完成一个带返回值的线程池
【代码】利用std::package_task完成一个带返回值的线程池。原创 2024-01-09 13:42:55 · 571 阅读 · 0 评论 -
使用 std::forward 的作用---完美转发
std::forward原创 2024-01-09 11:49:33 · 1353 阅读 · 0 评论 -
fmt中uint128_fallback的实现分析
fmt中uint128_fallback的实现分析原创 2024-01-08 17:15:12 · 430 阅读 · 0 评论 -
C++中几个模板技巧(有点诡异的那种)
这个太多例子了,不细说。原创 2024-01-05 17:03:50 · 419 阅读 · 0 评论 -
C++中几个常用的类型选择模板函数
如果编译期满足B,那么返回类型T,否则编译报错。原创 2024-01-05 15:33:51 · 1631 阅读 · 0 评论 -
C++11 中引入的几个属性
C++11 中引入的这几个属性平常项目不常见,突然见到可能有点陌生,我挨个列举一下。是 C++11 中引入的一个属性(attribute),用于向编译器发出警告,以确保编译器在某些情况下对函数的返回值进行检查,以避免出现可能导致错误或潜在问题的情况。当你在函数声明之前使用属性时,它会告诉编译器在调用该函数后,如果忽略了带有属性的函数的返回值,编译器会发出警告或错误。例如,考虑以下示例代码:在上面的代码中,函数被标记为,意味着它的返回值不应该被忽略。在main函数中,我们没有使用。原创 2024-01-05 15:21:29 · 1759 阅读 · 0 评论 -
basic_string_view的设计分析
basic_string_view分析原创 2024-01-05 15:55:24 · 407 阅读 · 0 评论 -
负数除法的定义
负数除法的定义原创 2022-12-28 16:55:55 · 728 阅读 · 0 评论 -
随手格式化C++代码
格式化C++代码原创 2022-12-14 16:12:51 · 117 阅读 · 0 评论 -
多子对象初始化的坑
多对象初始化的坑原创 2022-11-11 12:23:06 · 134 阅读 · 0 评论 -
jwtpp里面的各种代码小技巧
各种常用代码原创 2022-11-10 17:44:09 · 273 阅读 · 0 评论 -
vector和string的奇怪构造与转换过程
裸指针转换vector,vector转换string原创 2022-11-10 17:14:33 · 1426 阅读 · 0 评论 -
如何编译期标记一个标识符是一个类
class和typename的作用原创 2022-11-10 15:42:26 · 178 阅读 · 0 评论 -
活用C++17的编译器提示信息提升代码质量
C++17关键词对于代码质量的提升原创 2022-11-10 15:12:28 · 871 阅读 · 0 评论 -
繁琐的事情应该工具化
读写文件原创 2022-10-14 16:29:34 · 93 阅读 · 0 评论 -
C++模板元编程 --- 第二章 习题答案
C++模板中的类型识别,C++模板元编程原创 2020-12-23 17:03:59 · 829 阅读 · 10 评论 -
程序防crash大法好——信号处理程序中的siglongjmp
siglongjmp的作用,siglongjmp和信号处理程序直接结束的区别,常见防止crash的用法原创 2022-09-05 17:30:33 · 1001 阅读 · 0 评论 -
brpc中侵入式双链表的高性能分析
brpc中butil::LinkedList的高性能分析原创 2022-09-03 15:14:11 · 359 阅读 · 0 评论 -
c++ R是干啥的(R是原生字符串)
说白了,就是转义字符不需要转义:比如:string str1 = "D:\\workdataDJ\\code\\vas_pgg_proj"; (有转义字符\)string str2 = R"(D:\workdataDJ\code\vas_pgg_proj)"; (不需要转义)比如这个R就会让秘钥中的换行不会打乱编译过程。...原创 2022-03-25 17:12:33 · 2642 阅读 · 0 评论 -
inline的作用
1、引入 inline 关键字的原因在 c/c++ 中,为了解决一些频繁调用的小函数大量消耗栈空间(栈内存)的问题,特别的引入了 inline 修饰符,表示为内联函数。inline 只适合涵数体内代码简单的涵数使用,不能包含复杂的结构控制语句例如 while、switch,并且不能内联函数本身不能是直接递归函数(即,自己内部还调用自己的函数)。#include <stdio.h> inline const char *num_check(int v){ return (v原创 2022-01-07 17:38:00 · 10003 阅读 · 0 评论