
C++
文章平均质量分 78
oiooooio
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
fork简单测试
exec后面的代码还会执行吗:不会父进程可以接受到子进程-9命令吗?:可以收到信号相关教程:https://www.cnblogs.com/chris-cp/p/3599104.htmlexec相关教程:https://blog.youkuaiyun.com/wenchao126/article/details/7956168#include <sys/types.h>#includ...原创 2019-11-30 13:29:22 · 220 阅读 · 0 评论 -
expected unqualified-id before numeric constant
ok! 如果你的问题正是此标题,那么下面看看我的错误是怎么产生的:1、我在弄一个redis client 库,下载:https://github.com/nekipelov/redisclient2、这个库使用boost3、这个库里有CMakeLists.txt,但是我还是自己写了个makefile那么问题来了,当我make的时候出现了上述的错误,引起问原创 2015-07-01 16:01:57 · 4830 阅读 · 0 评论 -
std::allocator 的简单用法
#include //shared_ptr && allocator/* * @brief * Xxx内存池 * @multi-thread-safe: NO */class XxxMemoryPool{ friend class XxxMgr; typedef std::shared_ptr XxxPtr; typedef std::allocator XxxPo原创 2015-08-11 14:23:23 · 2082 阅读 · 0 评论 -
c++ 构造/析构default之蛋蛋
最近写代码,发现一件很有趣的事情,幸好我很快就发现了,否则就不是有趣而是头疼了!ok,下面我有这么一段代码:#include #include struct CurlWriteData{ static const uint32_t BUFFER_SIZE = 1024 * 1024; //1MB typedef std::shared_ptr CharPtr; char* B原创 2015-08-04 14:47:40 · 1269 阅读 · 0 评论 -
undefined reference to `log4cplus::Logger::Logger(log4cplus::Logger&&)'
./configure CXXFLAGS="-std=c++0x"在使用log4cplus时,如果出现undefined reference to `log4cplus::Logger::Logger(log4cplus::Logger&&)'。则很有可能是你在编译的时候只使用了孤零零的./configure。解决这个问题的办法是:重新编译log4cplus库,原创 2015-07-23 21:12:14 · 3055 阅读 · 3 评论 -
/usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.15' not found (required by ./xxxx
可以试试命令:export LD_LIBRARY_PATH=/usr/local/lib:/usr/lib:/usr/local/lib64:/usr/lib64标记!原创 2015-07-24 15:12:29 · 3534 阅读 · 1 评论 -
c# 调用c++ && c++调用c# 函数
这几天又开始了用 c#写窗口程序,自认为用c#做窗口程序太简单了,比那什么mfc简单太多,当然可能QT等库也是比较简单,我就懒得去学习了。废话短说,我做一个服务器测试程序,也只有跟用户交互的部分是使用的c#窗口,其他都是c++ dll。然后肯定会出现c#调用c++的问题,这个很容易解决,c#代码的写法如下: [DllImport("TestCommand.dll",原创 2015-09-11 09:53:48 · 929 阅读 · 0 评论 -
windows boost::asio 之 EnterCriticalSection(&crit_section_) 错误
错误图如下:是不是对这个问题感到无可奈何,是不是在骂这sb玩意儿...当然,可能也只有我一个人有这个问题...下面公布答案下下下下下下下下答案就是:把预定义宏:_WIN32_WINDOWS改为:_WIN32_WINNT=0x0501我是直接在项目的属性里改的!原创 2015-09-11 10:18:34 · 1805 阅读 · 8 评论 -
centos65 folly的编译安装
折腾了许久,终于装上了folly。下面把一些编译过程中出现的错误记录下来,方便下次安装。下面教程的依赖库百度云:http://pan.baidu.com/s/1ntMVy9F编译环境是:gcc/g++ 4.8.3folly:1、在执行命令:autoreconf -ivf的时候如果出现xx找不到,那么:检查libtool有没有安装如果你是通原创 2015-10-29 16:24:16 · 2678 阅读 · 0 评论 -
Enable multithreading to use std::thread: Operation not permitted
buildoptions{"-g3"}buildoptions{"-Wreturn-type"}buildoptions{"-std=c++11"}--buildoptions{"-pthread"}--buildoptions{"-Wl,--no-as-needed"}--buildoptions{"-Wno-multichar"} --buildoptions{"原创 2015-09-16 11:11:48 · 1018 阅读 · 0 评论 -
sql 之 c++测试代码
void TestConcurrentReadDataFromMysql(uint64_t uid, uint32_t threadCnt, uint32_t size, std::atomic& currentThreadCnt){ struct StatisticsTimeConsume { uint32_t _size; struct timeval _t; }; type原创 2015-10-28 10:26:25 · 567 阅读 · 0 评论 -
centos google-flags/log 编译安装所产生的问题
这2个库一般来说很容易安装。我所发生的问题是:当安装好了gflags后,装log。发现:要么log代码找不到xxx要么undefined reference...对于上面的解决方案:请确认你flags库装的有so文件,仔细观察发现log用的是-lflags,是动态库,不是静态库,而我用的flags版本是212,默认是静态库。版本不对,你的flags版本对原创 2015-10-30 17:15:14 · 1076 阅读 · 0 评论 -
centos65 安装 脸书的proxygen
因为工作需要,所以要装proxygen,装这个东西折腾了几天。装完之后就周末了,玩了2天现在回忆下当时的一些安装路子和错误~~安装的时候他有个sh文件叫:deps.sh应该,在Ubuntu 下运行这个文件即可自动安装,但是centos下缺没有办法,我这次采用了偷懒的办法,我的一同事是一个个下载那些东西的。偷懒的方法是:编辑deps.sh文件,把所有的apt-get命令替原创 2015-11-02 14:37:04 · 2733 阅读 · 0 评论 -
log4cplus 脚本配置例程
最近在琢磨LOG4CPLUS,这的确是个神器。使用起来是挺简单,但是脚本还是要花点时间去了解的。ok,废话不多说了,下面是我配置的脚本,希望能给朋友一些帮助:log4cplus.rootLogger=TRACE, STDOUT, ALL_MSGS, ERR_MSGS, DEBUG_MSGS, SPECIFIAL_MSGSlog4cplus.appender.STDOUT=lo原创 2015-08-06 00:05:06 · 1844 阅读 · 1 评论 -
jsoncpp-0.5,支持uint64
现在很多地方都需要用到uint64,比如传递时间,你传递一个unix时间戳如(1437727512)总比传递一个字符串(2015/7/24 16:45:12)要好的多。而且时间戳就占用2个字节64位,而字符串自己数数,还不好解析和比较。在从官网下载的jsoncpp-0.5使用的时候,他最大只支持uint,而没有uint64,所以我把Uint64加上去了,没有加int64.按原创 2015-07-24 16:50:28 · 3280 阅读 · 0 评论 -
一个简陋的makefile
DR=debugTarget=mainall:$(Target)Sources:=$(shell ls *.cpp)Sources+=$(shell ls ./part1/*.cpp)Objs:=$(Sources:.cpp=.o)CXXFLAGS=-Wallifeq ($(DR),release)CXXFLAGS=-OendifCXXFLAGS+=-g -std=原创 2015-05-20 12:27:32 · 598 阅读 · 0 评论 -
学习C++设计新思维(泛型编程与设计模式之应用).pdf之继承关系检查
ok!主题是:检查型别A与B是不是有继承关系,在本书的P38,下面直接上代码。#pragma oncetemplateclass Conversion{ typedef char Small; class Big{ char dummy[2]; }; static Small Test(U); static Big Test(...); static T MakeT();原创 2015-05-15 17:54:30 · 854 阅读 · 0 评论 -
wingdb的使用-附加进程
本人是一个linux新手。作为在windows上做了几年的服务器,对于有些人来说就是:“在windows上做什么服务器?”最近开始在linux-Ubuntu下做服务器,c++。因为接触新的环境,一心想找顺手的工具,有句话说的好,“砍柴不误磨刀功”。要有好的工具,才能干净利落的干活,就行windows上有vs这种神器一样。---------------在Ubuntu下用eclip原创 2015-05-06 00:29:34 · 4217 阅读 · 1 评论 -
c++ std::ifstream 读取文件不完整? 是不是忘记了ios_base::binary
一次浪费时间又把你折磨的无以复加的小问题原创 2014-08-29 16:27:16 · 5066 阅读 · 0 评论 -
python 和 c++ 之间发消息用json
这段代码是py发给c++的一个消息包,包里含json字符串,没有c++返回的过程!-------------------因为工作需要...中间省略5000字,所以用c++做的服务器,收发消息需要用json来打包并解析消息。我以前收发消息都是结构体直接强转,所以这也是第一次,发个帖子上来,希望对有的朋友有帮助。-------------------先说python,这个语言一直想原创 2015-01-02 23:19:17 · 2965 阅读 · 0 评论 -
c++/c 十进制转2进制
#include ////////////////////////////////////////////////char* DecToBinary(int value, char* buffer, int len){ int downLimit = min(sizeof(value)*8, len); for(int i = 0, j = downLimit-1; i原创 2015-02-12 09:45:04 · 823 阅读 · 0 评论 -
使用boost::shared_ptr的教训
boost库的强大,使用过的人都知道。在使用的过程中,多多少少容易出现些使用不对的地方。下面我就说一些我犯的错误,本人犯的错误呢,一般分分钟搞定,一般几天搞不定,最后找到问题才发现就是一个很小或者说 不应该犯的错误。我共享出来这些问题,希望能帮到需要提醒的朋友们。首先应该感谢如下:1、这个群里的朋友对我的帮助,当然我也因为一个问题被T,被T是因为一个模板类怎么声明为友元类的时候,因为一原创 2015-01-08 22:49:53 · 5201 阅读 · 0 评论 -
windows下获取CPU和物理内存使用率
#pragma once#include namespace PCState{ class GetPCState { public: GetPCState() = default; ~GetPCState() = default; public: int GetCPUUsage(); int GetMemoryUsage(); int GetTotalUs原创 2015-02-10 16:46:26 · 2784 阅读 · 0 评论 -
c++服务器 拆包粘包 过程(2)
在这篇短文之前,有一篇: c++服务器 拆包粘包 过程(1)这是我第一篇发的关于TCP socket 服务器拆粘包的代码,这个代码有些繁琐。下面我再传我修改后的第二版的这个例子,这个例子也是经过了几万次的消息收发的运行以及调试后的代码,尽管不是最好,也希望能帮助一些朋友。等我修改完毕第三次的时候,会再次更新。 void TCPReceiveManager::AsynRe原创 2015-02-16 15:57:56 · 1289 阅读 · 0 评论 -
std::hash_map和stdext::hash_map和std::map的基本插入用法
#include #include #include using namespace std;using namespace stdext;typedef std::hash_map _hash_map;typedef std::pair _hash_map_pair;typedef std::hash_map::iterator _hash_map_iterato原创 2014-03-29 23:02:17 · 3746 阅读 · 1 评论 -
针对重载函数调用运算符的一个使用的例子,也就是重载()这个括号
std::vector tmpVec; for (size_t i = 0; i < 10; i++) { tmpVec.push_back(i); } class tmpClassCon{ public: tmpClassCon(int con){ _con = con; } bool operator()(int val){ return val原创 2015-02-15 16:15:30 · 814 阅读 · 0 评论 -
boost::asio tcp socket 的使用示例
// ThreadTest.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include "boost/thread.hpp"#include "boost/shared_ptr.hpp"#include "boost/asio.hpp"#include "boost/bind.hpp"#include #include typedef原创 2015-03-19 19:13:25 · 1958 阅读 · 0 评论 -
windows下!boost库的编译选项
把我自己用的boost库的编译选项发上来,供大家参考:debugb2 install --prefix=E:\Boost-msvc-12.0-complete-d --build-type=complete --build-dir=E:\Boost-msvc-12.0-complete-d\build-dir --stagedir=E:\Boost-msvc-12.0-comple原创 2015-02-10 16:36:27 · 1413 阅读 · 0 评论 -
boost综合使用<function,bind,thread,mutex,condition_variable,shared_ptr>
该例子的功能是:1、创建测试线程2、创建工作线程3、使用list队列4、线程通知5、线程锁工作线程如果没有活要做,则挂起,如果消息队列里有新的消息了,则通知工作线程开始干活。说多了都是废话,上代码:// ConsoleApplication3.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include "boost/th原创 2015-03-09 16:18:35 · 769 阅读 · 0 评论 -
eclipse c++ && centos && error multiple errors reported. failed to execute mi command
标题已经说明环境:centos6.5eclipse c++ 官网下载最新gcc4.8.2gdb7.2现在出现的问题是:error multiple errors reported. failed to execute mi command .......这个问题我本人不管是google还是百度都没有得到合理的答案,虽然搜到了一些解决方案但是不原创 2015-03-28 14:49:14 · 3422 阅读 · 0 评论 -
boost::condition_variable的使用
这篇文章介绍boost::condition_variable的使用。主要是在多线程的情况下,一般来说boost::condition_variable是用来进行多线程同步的,下面的代码主要测试了notify_one和notify_all的使用。调用notify_one的时候,启用一个线程。调用notify_all的时候,激活所有的线程。当频繁调用notify_one的时候,并原创 2015-03-12 14:33:59 · 10551 阅读 · 0 评论 -
ubuntu11+ eclipse不能附加进程调试的解决方法
You can temporarily disable this restriction (and revert to the old behaviour allowing your user to ptrace (gdb) any of their other processes) by doing:echo 0 | sudo tee /proc/sys/kernel/yama/pt转载 2015-04-22 21:40:49 · 769 阅读 · 0 评论 -
mysql c++ 调用存储过程返回多个结果集,如果选择适合自己的?
/** * 判断在mysqlQue里还有没有更多的结果集,并且检查可用的结果集 * 是不是我们需要的结果集。 * 要注意的是,在你的代码里,有2个名字必须符合宏要求: * Query mysqlQue = mysqlCon->query(); * StoreQueryResult mysqlRes = mysqlQue.store(); * 宏参数: * pos:在数据集的N原创 2015-04-29 14:02:19 · 1710 阅读 · 0 评论 -
c++ vector的用法,以及二维数组的传递和返回
// VectorTest.cpp : 定义控制台应用程序的入口点。//#include #include #include #include #include using namespace std;struct sMatrix{ /*3*3 matrix*/ double _line1[3], _line2[3],原创 2014-04-05 20:54:07 · 2629 阅读 · 0 评论