随笔分类 -  C++

摘要:依赖项 cmake https://cmake.org/download/ 需要3.16版本以上 perl https://strawberryperl.com 下载后安装,保证命令行环境中可用 ninja https://github.com/ninja-build/ninja/releases 阅读全文
posted @ 2022-03-22 00:41 你好阿汤哥 阅读(2181) 评论(1) 推荐(1) 编辑
摘要:看了题目中的几个函数名是不是有点头晕?为了防止以后总在这样的细节里纠缠不清,今天我们就来好好地辨析一下这几个函数的异同。 实验环境: Windows下使用VS2017Linux下使用gcc4.9.4 为了验证函数的安全性我们设计了如下结构 当我们把数据写到Data.buf字段中去的时候,如果发生了内 阅读全文
posted @ 2019-01-06 19:58 你好阿汤哥 阅读(7188) 评论(0) 推荐(1) 编辑
摘要:#include #include #include #include template typename std::enable_if::value, std::string>::type to_string(const T & val) { return std::to_string(val); } template typename std::enable_if:... 阅读全文
posted @ 2018-07-11 17:23 你好阿汤哥 阅读(1199) 评论(0) 推荐(0) 编辑
摘要:FASTBuild 是一款高性能、开源的构建系统,支持高度可扩展的编译,缓存和网络分发。 以上是FASTBuild官网对其产品的一句话介绍。 FASTBuild 的开源地址:https://github.com/fastbuild/fastbuild 众所周知C/C++语言的一大特色就是需要人为地描 阅读全文
posted @ 2018-03-23 22:22 你好阿汤哥 阅读(12183) 评论(1) 推荐(1) 编辑
摘要:.proto .cpp 运行结果: 注意:当再次插入重复的key的时候,插入操作将会失败. 阅读全文
posted @ 2018-01-19 01:48 你好阿汤哥 阅读(17863) 评论(0) 推荐(0) 编辑
摘要:代码: 在不同的开发环境中,分别编译出x86程序和x64程序,观察执行结果 环境: Win10_64位 + VS2015_32位 在上面的结果中,除了指针的size不一样之外,其它的内置类型是完全相同的. 阅读全文
posted @ 2018-01-15 23:43 你好阿汤哥 阅读(462) 评论(0) 推荐(0) 编辑
摘要:void str_split(const std::string & src, const std::string & sep, std::vector & vec_str) { std::string::size_type start = 0; for(std::string::size_type end = src.find(sep, start); end != std::... 阅读全文
posted @ 2018-01-14 17:24 你好阿汤哥 阅读(2927) 评论(0) 推荐(0) 编辑
摘要:一. SET(EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/../bin) 上面的语句能设置可执行文件的输出目录 在Win + VS环境下,会自动在你所设置的目录后面扩展一层 <CONFIG> 目录,所以最终生成的Debug版本程序会在 ${PROJECT 阅读全文
posted @ 2018-01-14 15:42 你好阿汤哥 阅读(33370) 评论(0) 推荐(0) 编辑
摘要:该函数有两个效果: 1.按照代码文件在磁盘的目录结构来组织VS的筛选器结构 2.如果同一个目录下包含同名的.cpp和.h文件,则会将这两个文件组织到同一个筛选器中. 效果: 阅读全文
posted @ 2017-12-25 16:58 你好阿汤哥 阅读(1496) 评论(0) 推荐(0) 编辑
摘要:运行结果: 阅读全文
posted @ 2017-10-31 11:19 你好阿汤哥 阅读(1979) 评论(0) 推荐(0) 编辑
摘要:效果: 阅读全文
posted @ 2017-09-02 16:24 你好阿汤哥 阅读(3094) 评论(0) 推荐(0) 编辑
摘要:第一句表示开启使用文件夹选项,最好放在CMakeList.txt的开头部分,如果没有这句,第二句将不会生效. 第二句表示具体把哪些项目放在哪个目录下,多级目录用 / 分割. 参考链接:https://cmake.org/cmake/help/v3.3/prop_tgt/FOLDER.html 阅读全文
posted @ 2017-08-24 12:31 你好阿汤哥 阅读(3310) 评论(0) 推荐(0) 编辑
摘要:bool CopyFile(const std::string &src, const std::string &dest) { std::ifstream fin(src.c_str(), std::ios::in | std::ios::binary); if(!fin) { std::cout << "open in file[" << src <<... 阅读全文
posted @ 2017-08-17 16:36 你好阿汤哥 阅读(1125) 评论(0) 推荐(0) 编辑
摘要:利用VS开发C++项目,经常发现修改系统时间后,每次编译过程会变得很慢,其原因就是当你把系统时间调到未来的一个时间点,然后有意或者无意编辑过一些代码文件,那么这些文件的时间戳就停留在未来. 当你把系统时间调到现在后,编译器每次编译的时候,总会判定这些文件是最新的(因为它的时间戳总是大于目标文件的时间 阅读全文
posted @ 2017-08-05 15:44 你好阿汤哥 阅读(2064) 评论(0) 推荐(0) 编辑
摘要:#include #include #include #include // 0 = 黑色 8 = 灰色 // 1 = 蓝色 9 = 淡蓝色 // 2 = 绿色 A = 淡绿色 // 3 = 浅绿色 B = 淡浅绿色 // 4 = 红色 C = 淡红色 // 5 = 紫色 D = 淡紫色 // 6 = ... 阅读全文
posted @ 2017-07-29 20:42 你好阿汤哥 阅读(14971) 评论(0) 推荐(0) 编辑
摘要:#include #include #include #include #include template void Dump(const T &s) { for (T::const_iterator it = s.begin(); it != s.end(); ++it) { printf("%d ", *it); } printf(... 阅读全文
posted @ 2017-05-10 16:15 你好阿汤哥 阅读(876) 评论(0) 推荐(0) 编辑
摘要:思路很简单,先分段排序,存储到临时文件中,然后合并. 使用10000个整数来模拟大数据,每次读取100个到内存中. 阅读全文
posted @ 2017-05-05 18:22 你好阿汤哥 阅读(4752) 评论(0) 推荐(1) 编辑
摘要:参考文章:http://blog.csdn.net/linyt/article/details/53355355 本文参考linux系统中 kfifo缓冲区实现.由于没有涉及到锁,在多线程环境下,只适用于 单生产者 + 单消费者 模型. fifo_buffer.h fifo_buffer.cpp 测 阅读全文
posted @ 2016-12-04 21:25 你好阿汤哥 阅读(4164) 评论(0) 推荐(0) 编辑
摘要:#ifdef WIN32 #include #include #else #include #include #endif #include #include #define MAX_PATH_LEN 256 #ifdef WIN32 #define ACCESS(fileName,accessMode) _access(fileName,accessMode) #define ... 阅读全文
posted @ 2016-11-21 18:12 你好阿汤哥 阅读(13234) 评论(0) 推荐(0) 编辑
摘要:效果图: 阅读全文
posted @ 2016-11-09 11:33 你好阿汤哥 阅读(2064) 评论(1) 推荐(0) 编辑