其它
文章平均质量分 64
sculida
这个作者很懒,什么都没留下…
展开
-
visualstudio下zlib和protobuf编译环境备忘
这里写自定义目录标题前置准备编译zlib写一个zlib的demo编译protobuf写一个demo前置准备安装visual studio安装cmake编译zlib下载zlib的源代码,并解压运行cmake。source code打开zlib-1.2.11/,build binaries选择zlib-1.2.11/cmake/build。这里默认会生成visualstudio工程,位于build目录下。打开工程,编译install项目,则会把zlib的include和lib等复制到C:\Pr原创 2020-08-18 14:47:05 · 1113 阅读 · 0 评论 -
c++实现超大整数的乘法
这里写自定义目录标题c++实现超大整数的乘法代码c++实现超大整数的乘法c++已实现因数不大于UINT32_MAX(42949 67295)的乘法,故而可以将超大整数每9位分成一段,然后循环分段相乘,再在末尾填零,然后再做加和。这里就仅需要实现超长整数的加法。代码#include <iostream>#include <string>#include <v...原创 2020-04-02 21:22:50 · 2571 阅读 · 3 评论 -
c语言用尾递归实现单向链表的逆向排列
c++的stl很好用,c语言的简单链表最近几年几乎不用了。最近一次笔试,遇到了这题,就十分捉急。当时想到似乎得用递归。现在算是完成了。以下以简单的单向链表(链表头结点跟普通结点一致)为例。#include typedef struct Node { int i; struct Node *pNext;} Node;Node *createList(const int *dat原创 2017-02-09 10:32:10 · 777 阅读 · 0 评论 -
log4cplus将日志文件名按日期创建
日志文件一般会带上日期,或者创建以日期命名名的文件夹,将日志文件创建于其中。log4cplus网上有不少教程,但是似乎没有人说这种方案。事实上源码里有这个类TimeBasedRollingFileAppender,就满足此需求。#include #include #include #include #include #include #include using namespa原创 2017-02-09 11:02:20 · 9564 阅读 · 5 评论 -
windows下boost库的选择
windows下boost使用完全编译(b2 --build-type=complete)(这条命令只能编出win32的,编不出x64的),能得到三种boost库。每一种都有debug版(文件名带-gd-的)1. boost_atomic-vc141-mt-1_65.lib boost_atomic-vc141-mt-1_65.dll这个明显是动态库。欲使用此,则vcxproj的预原创 2017-07-15 17:10:41 · 919 阅读 · 0 评论 -
一种基于copy-on-write的多生产者消费者模型
#ifndef _CREATEONCOSUME#define _CREATEONCOSUME#include <vector>#include <memory>#include <mutex>#include <queue>using namespace std;template<typename T>class Cre...原创 2018-03-14 12:11:16 · 191 阅读 · 0 评论 -
_snprintf_s系列备忘
微软的_snprintf_s总是记不清n的作用。现整理如下。_snprintf_s有两个版本。一个是带参数模板的,使用于数组,另一个需要指明可操作空间的,适用于堆区变量或数组。#include <cstdio>#include <cstring>#include <cstdlib>#include <cassert>#define LEN...原创 2018-05-30 16:46:25 · 3127 阅读 · 0 评论