c++11
jnpher
软件工程的初学者!什么都不懂的小混混!
展开
-
grpc vs2019 编译安装及使用
安装前需要的软件cmake,git,asm(choco install nasm),Ninja (choco install ninja)下载生成https://github.com/gmsec/cmsec./proto_install_windows_git_bash.sh原创 2020-12-10 18:58:28 · 3628 阅读 · 3 评论 -
ubuntu 安装 librdkafka
1,git clonegit clone https://github.com/edenhill/librdkafka.git2,cd librdkafka/3,./configure 4,make5,sudo make install 最后链接lib库:-lrdkafka++ otherLink your program with -lrdkafka ...原创 2016-08-17 17:05:43 · 4378 阅读 · 0 评论 -
error while loading shared libraries解决办法
error while loading shared libraries: librdkafka++.so.1: cannot open shared object file: No such file or directory 解决办法 1,cd /etc/ 2,sudo ldconfig ///////////////////////////////////////////...原创 2016-08-17 18:37:20 · 14570 阅读 · 0 评论 -
Linux下C++程序中的内存泄露检查(valgrind)
1:安装wget http://valgrind.org/downloads/valgrind-3.11.0.tar.bz2tar xvf valgrind-3.4.1.tar.bz2cd valgrind-3.4.1/./configure --prefix=/usr/local/webserver/valgrindmakemake install2:vs 2015编译(Deb...原创 2016-08-19 14:17:55 · 1692 阅读 · 0 评论 -
TCMalloc 安装和使用
前面三篇译文《TCMalloc:线程缓冲的Malloc》、《使用TCMalloc的堆栈检查》、《使用TCMalloc进行堆栈分析》介绍了TCMalloc的基本原理,以及堆栈分析和检查工具,TCMalloc优点很多,比glibc 2.3的malloc快、自带的堆栈工具可以轻松找出内存瓶颈和内存泄漏,给服务器开发指明了一条新的道路。 一、下载 google-perftools:http...原创 2016-08-19 15:06:39 · 10822 阅读 · 0 评论 -
Visual Studio 2015编译64位MySQL Connector/C++
Visual Studio 2015编译64位MySQL Connector/C++目前MySQL Connector/C++的binary版本最高只支持VS2008,VS2015需要下载源码自行编译。尽管MySQL手册提供了信息,但在编译过程中还是有不少细节需要注意。 CMAKE到官网下载最新的稳定版本把bin目录添加到环境变量PATH中 Boost同原创 2016-06-20 18:01:58 · 5862 阅读 · 0 评论 -
boost linux 下面部署
编译好的程序要依赖boostlib库,所以真机部署需要安装这些缺省库运行应用程序,看它报的错,依次apt-cache serarch 这些库如:apt-cache search boost-system1.55收到结果:libboost-system1.55-dev - Operating system (e.g. diagnostics support) libr原创 2016-12-01 15:12:30 · 462 阅读 · 0 评论 -
thrift windows vs2015编译
1、首先从官网下载安装包https://thrift.apache.org/download 或者从Git地址中获取:https://github.com/apache/thrift 目前的最新版为thrift-0.9.3 2、解压后用vs2015打开里面的cpp lib 用vs2015打开此路径下的sln文件: thrift-master\lib\cpp 升级一下: ...原创 2016-11-25 12:58:19 · 3688 阅读 · 0 评论 -
vs2015编译protobuf-3.1.0
1、安装vs20152、 安装cmake https://cmake.org/download/3、下载protobuff 3.1.0 https://github.com/google/protobuf/releases/ 解压protobuf压缩包,在和protobuf同级目录下新建一个install文件夹,用作编译完成后方include ,lib等文件。E:\path...原创 2016-12-15 15:29:51 · 4410 阅读 · 1 评论 -
Android NDK 编译时出现make (e=2): 系统找不到指定的文
今天编译一个so文件时出现如下错误:C:\Users\xxj\Desktop\test\OpenCamera>ndk-build[armeabi-v7a] Compile++ : SeetafaceSo <= face_detection.cppprocess_begin: CreateProcess(NULL, D:/eclipse_ADT/ndk/androi...原创 2016-12-26 19:20:43 · 8031 阅读 · 0 评论 -
jwsmtp linux 下面部署安装
解决中文乱码问题需要下载使用 jwsmtp-1.32.16linux 安装命令./configuremakesudo make install 修正过的jwSMTP库,支持html,解决中文乱码问题,支持多个接收者等下载地址:http://download.csdn.net/detail/xie1xiao1jun/9733979 获取更多帮主请关注小程序 ...原创 2017-01-10 17:05:35 · 492 阅读 · 0 评论 -
EasyLogging++学习笔记(1)—— 简要介绍
对于有开发经验的程序员来说,记录程序执行日志是一件必不可少的事情。通过查看和分析日志信息,不仅可以有效地帮助我们调试程序,而且当程序正式发布运行之后,更是可以帮助我们快速、准确地定位问题。在现在这个开源的年代,并不需要我们自己去写一套日志库,开源的版本已经有很多了。然而遗憾的是,在目前开源的C++日志库中,并没有一个在使用份额上占绝对优势的,我自己之前用过log4cplus和glog,这两个库都比转载 2017-01-16 11:56:39 · 9293 阅读 · 2 评论 -
Ubuntu gcc 升级到5.4
1.下载GCC源码: wgetftp://mirrors.kernel.org/gnu/gcc/gcc-5.4.0/gcc-5.4.0.tar.gz 2.解压: sudo tar -zxvf gcc-5.4.0.tar.gz 3.下载编译所需依赖项:cd gcc-5.4.0 //进入解包后的gcc文件夹sudo ./contrib/download_pr...原创 2017-01-12 16:07:30 · 13825 阅读 · 2 评论 -
Vs2017基于linux的C++开发
目标机上gcc、g++、gdb一定要安装 linux引用的头文件需要手动复制到$:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\VC\Linux\include\usr路径下,尤其是特殊的项目引用头文件 项目属性中linux的引用路径都是linux绝对路径 (一定要以/开头的绝对路径,不能用相对于...原创 2017-03-24 17:01:50 · 9606 阅读 · 5 评论 -
libgo windows编译
libgo windows编译 1: git clone https://github.com/yyzybb537/libgo.git2:cd libgo3: git submodule update --init --recursive4: cd vs_proj/5:./make_vs_projs.sh6:修改配置文件:libgo/cmake_co...原创 2017-06-07 21:29:10 · 2306 阅读 · 0 评论 -
MySQL Connector for C++ linux (ubuntu ) 安装
其他与 libmysqlcppconn-dev 有关的软件包依赖推荐建议enhancesdep: libboost-devBoost C++ Libraries development files (default version)dep: libmysq原创 2016-07-20 11:39:37 · 4687 阅读 · 0 评论 -
Kaldi安装(ubuntu)
git 下载: git clone https://github.com/kaldi-asr/kaldi.git kaldi --origin upstream cd kaldi git pull我下载目录在~/workspace/build/kaldi进入kaldi目录 查看 INSTALL 文件指导进行安装 go to tools/ and...原创 2018-06-12 16:31:36 · 2236 阅读 · 0 评论 -
thrift 异步连接池 创建 c++
1:头文件 #include <thrift/concurrency/ThreadManager.h>#include <thrift/concurrency/PosixThreadFactory.h>#include <thrift/server/TThreadPoolServer.h>#include <thrift/server/TT...原创 2016-08-02 13:37:39 · 2944 阅读 · 0 评论 -
GDB 调试 C++ 程序 core dump
摘要gdb 的一些常用命令, 及在程序发生段错误后如何通过调试 core dump 迅速定位到出错位置.不罗列一大堆命令了, 只是把碰到的/用过的整理一下, 以后再使用到新的命令, 再补充. 有几篇总结的比较好的文章可以参考: 《LINUX C/C++ GDB调试(概述)上》、《LINUX C/C++ GDB调试(概述)下》、《手把手教你玩转GDB(二)——Breakpoint转载 2016-08-03 14:47:48 · 2253 阅读 · 0 评论 -
C++11学习笔记:std::move和std::forward源码分析
std::move和std::forward是C++0x中新增的标准库函数,分别用于实现移动语义和完美转发。下面让我们分析一下这两个函数在gcc4.6中的具体实现。预备知识引用折叠规则: X& + & => X& X&& + & => X& X& + && => X&原创 2014-11-25 18:09:25 · 13610 阅读 · 3 评论 -
Boost智能指针:scoped_ptr
Boost智能指针——scoped_ptrboost::scoped_ptr和std::auto_ptr非常类似,是一个简单的智能指针,它能够保证在离开作用域后对象被自动释放。下列代码演示了该指针的基本应用: #include <string>#include <iostream>#include <boost/scoped_ptr.hpp>cla...原创 2014-11-25 14:26:30 · 691 阅读 · 0 评论 -
智能指针:unique_ptr使用简介
智能指针(三):unique_ptr使用简介我们知道auto_ptr通过复制构造或者通过=赋值后,原来的auto_ptr对象就报废了.所有权转移到新的对象中去了.而通过shared_ptr可以让多个智能指针对象同时拥有某一块内存的访问权.但假如我们不希望多个内存块被多个智能指针对象共享,同时又不会像auto_ptr那样不知不觉的就让原来的auto_ptr对象失效,可咋整呢?这个转载 2014-11-25 17:02:46 · 782 阅读 · 0 评论 -
c++11学习笔记之(iostream)缓冲区
c++ primer 5 中page 23页中术语表中缓冲区(buffer)概念不是很清楚。故终结如下缓冲区(buffer)一个存储区域,用于保存数据。IO设备通常将输入/输出数据保存在一个缓冲区中,读写缓冲区的动作通常与程序中的动作是无关的。我们可以显示的刷新输出缓冲,以便强制将缓冲区中的素具写入输出设备,默认情况下,读cin会刷新cout;程序非正常终止也会刷新cout。 cout...原创 2014-11-02 22:52:41 · 2169 阅读 · 0 评论 -
C++开发者都应该使用的10个C++11特性
C++开发者都应该使用的10个C++11特性在C++11新标准中,语言本身和标准库都增加了很多新内容,本文只涉及了一些皮毛。不过我相信这些新特性当中有一些,应该成为所有C++开发者的常规装备。你也许看到过许多类似介绍各种C++11特性的文章。下面是我总结的,C++开发者都需要学习和使用的C++11新特性。 auto在C++11之前,auto关键字用来指定转载 2015-02-04 12:09:26 · 1358 阅读 · 0 评论 -
c++ wt开发环境配置
最近看到一个开源库,c++ web toolkit库,Wt是一个针对Web应用开发的C++ widget库。可以使用c++开发web应用,感觉相当的巴适啊。所以就来学习使用了,这里方便将来回顾,so,在这里发布了写白痴的博客,方便将来查看。首先要编译wt库,我是使用Windows来做开发的,故在网上下了个现成的地址:http://sourceforge.net/projects/w...原创 2015-03-15 17:22:32 · 3625 阅读 · 0 评论 -
VS2013 生成sqlite3动态连接库及sqlite3.dll的调用
一,生成sqlite3动态连接库1,去sqlite官网上下载最近的sqlite源码包,解压后得到四个文件:shell.c,sqlite3.c,sqlite3.h,sqlite3ext.h此处还需要sqlite3.def文件,它在sqlite官方生成的dll包中,下载下来,解压即可。其中,shell.c文件是做来生成exe可执行文件用的。2,打开vs2008 新建sqlite3的非mfc的D...原创 2015-03-05 11:44:46 · 13363 阅读 · 0 评论 -
值得学习的C语言开源项目
值得学习的C语言开源项目- 1. Webbench Webbench是一个在linux下使用的非常简单的网站压测工具。它使用fork()模拟多个客户端同时访问我们设定的URL,测试网站在压力下工作的性能,最多可以模拟3万个并发连接去测试网站的负载能力。Webbench使用C语言编写, 代码实在太简洁,源码加起来不到600行。下载链接:http://home.tiscali.cz...原创 2015-03-18 23:28:44 · 6568 阅读 · 0 评论 -
学习ACE一定要看的书
近两个月都在学习ACE,一个超级强大,也超级复杂的网络框架库。对ACE的大名早有听说,同时也听说过它的复杂性,所以一直不敢去碰它。ACE对程序员的要求是比较高的了,需要对C++、设计模式、POSA、网络、并发等有一定的了解后,才能去碰它。不然真的是一头扎进茫茫大海,越看越复杂,直到消磨完所有对ACE的热情。经过两个月的摸索,查找各种资料,最后也总算是知道了该如何去学习这个Ace(王牌)基本的A转载 2015-04-16 00:27:02 · 1050 阅读 · 3 评论 -
c++11 bind注意
c++11及boost中bind函数如果是引用的话,由于闭包原因所以引用还是做的一个拷贝解决办法:使用ref库bind采用拷贝的方式保存绑定对象和参数,这意味着绑定表达式中的每一个变量都会有一份拷贝,如果函数对象或值参数很大、拷贝代价很高,或者无法拷贝,那么bind的使用就会受到限制。因此bind库可以搭配ref库使用,ref库包装了对象的引用,可以让bind存储对象引用的拷贝,从而降低了...原创 2015-10-14 15:04:54 · 1793 阅读 · 0 评论 -
vs2013编译boost库
VS2013编译Boost库1.打开Visual Studio 2013 x86 native Tools命令提示窗口 2.进入对应的目录 cd E:\thirdlib\boost_1_57_0\ 3.执行bootstrap.bat 4.进入boost的根目录 cd E:\thirdlib\boost_1_57_0 5.执行bjam.exe ...原创 2016-01-07 16:07:16 · 6229 阅读 · 0 评论 -
Centos编译boost
Centos编译boosthttp://blog.sina.com.cn/s/blog_6f2caee40100uhj6.html<div id="sina_keyword_ad_area2" "="">1.下载最新的boosthttp://www.boost.org/2.解压文件tar -xzvf boost_1_45_0.tar.gz 3.编译bjam...原创 2016-01-11 11:53:23 · 2126 阅读 · 0 评论 -
memcache 更新
默认memcache会监听11221端口,如果想清空服务器上memecache的缓存,大家一般使用的是:telnet localhost 11211flush_all同样也可以使用:echo "flush_all" | nc localhost 11211使用flush_all 后并不是删除memcache上的key,而是置为过期 获取更多帮主请关注小程序 ...原创 2016-03-11 16:47:32 · 1279 阅读 · 0 评论 -
Poco 自动全编译的方法
以 vs2008 为例: Poco 根目录下有build_vs90.cmdbuildwin.cmd 这两个批处理文件, 我们得修改一下它们 把build_vs90.cmd 修改为以下内容:@echo offif defined VS90COMNTOOLS (call "%VS90COMNTOOLS%\vsvars32.bat")buildwin 90 bu...原创 2016-05-10 17:02:30 · 3059 阅读 · 0 评论 -
ubuntu下安装boost环境
这里有两种安装方法:=============第一种:也是最简单的:进入linux系统后,输入 # apt-cache search boost (1.5)你将看到很多文件信息,你会看到其中一个文件叫 libboost-dev, 直接安装此文件即可: # apt-get install libboost(1.5)-dev这样就安装成功了。这个速度很快,是因为直接拷贝了lib文件到系统。可以...原创 2016-05-31 14:55:47 · 3821 阅读 · 2 评论 -
vs 自定义文件结构乱了解决办法
由于点击了显示所有文件解决办法,去掉显示所有文件 获取更多帮主请关注小程序原创 2016-06-03 20:05:21 · 876 阅读 · 0 评论 -
Boost智能指针——weak_ptr
Boost智能指针——weak_ptr循环引用: 引用计数是一种便利的内存管理机制,但它有一个很大的缺点,那就是不能管理循环引用的对象。一个简单的例子如下: #include#include #include #include class parent;class children;typedef boost::shared_pt转载 2014-11-15 16:38:58 · 703 阅读 · 0 评论