Tag: C/C++
All the articles with the tag "C/C++".
获取本地IP地址
Published: at 02:38 AM首先来一种windows和linux平台都支持的 ifdef WIN32 include <boost/asio.hpp> include <boost/asio/ioservice.hpp> else include <stdio.h> include <sys/types.h> include <ifaddrs.h> include <netinet/in.h> include <string.h> include <arpa/inet.h>...
amqp connection framing-error Expected AMQP protocol header
Published: at 03:21 AM使用qpid proton的demo去连接qqpidd (qpid-cpp) version 1.39.0的时候报如下错误: amqpconnectionframing-error AMQP header mismatch Pre standard AMQP connection 'AMQP\x01\x01\x00\x0a' 版本信息如下: Qpid Proton 0.31.0 qpidd (qpid-cpp) vers...
linux C++进程CPU占用100%排查
Published: at 07:42 AM现象 使用top -c命令查看发现某个进程的CPU一直100%以上,第一反应就是查看日志,如果发现某一处频繁打印日志,那么恭喜你很容易就定位到问题所在了,如果查看日志发现没什么异常请继续往下看。 出现问题的线程 进程ID你应该已经知道了,下一步要找到出现问题的线程ID,...
linux C++内存优化
Published: at 02:42 AM在linux上你会发现明明我的内存都释放了但是进程占用的内存还是没降下来,而在windows上就没有这种情况。这涉及到linux上内存分配原理(参考(http//blog.sina.com.cn/s/blogb4ef897e0102vg0l.html))。 在linux系统下,一块内存被C的free函数或者C++的delete函数显式释...
C++ 智能指针简单实现
Published: at 06:02 AM此实现仅做学习之用,生产中不要使用,可以使用stdsharedptr和boostsharedptr。 代码很少相信大家都看得懂。 template<class T> class SmartPtr { struct Counter { Counter() count(1){} int count; }; public Smart...
C++ 的门门道道
Published: at 04:42 PMC++是一门被广泛使用的系统级编程语言,更是高性能后端标准开发语言;C++虽功能强大,灵活巧妙,但却属于易学难精的专家型语言,不仅新手难以驾驭,就是老司机也容易掉进各种陷阱。 本文结合作者的工作经验和学习心得,对C++语言的一些高级特性,做了简单介绍;对一些常见的误解...
boost asio获取本机IP地址
Published: at 02:52 AM直接上代码,这里只获取IPV4的地址,多个IP之间用分号间隔 stdstring getLocalIpAddress() { using boostasioiptcp; stdstring result; try { boostasioioservice ioservice; tcpresolver resolver(ioservice)...
C++保证指针对象正确的销毁
Published: at 02:09 AM我们知道new一个对象要自己去delete,这样的代码写多了很容易漏掉,常见漏掉的情况如下: 忘了写 写了,但是某个分支提前return了 逻辑中抛出异常,直接跳过正常逻辑 假设有这样一个简单的类: class ConnTest { public ConnTest() { stdcout << "ConnTe...
qpid C++接口简单封装
Published: at 09:57 AMqpid C++接口简单封装 希望简单的封装能满足大部分场景,并且简单易用。 处理队列请求 如果我想处理某个队列的消息我只需要指定一个队列名和回调处理函数就可以了 server.AddQueueServer("pingpong", (const Message &msg, Message &reply) { stdcout...
Apache Ignite c++ linux 编译安装
Published: at 04:46 AMApache Ignite c++ linux 编译安装 不要直接拉github上的代码编译,它上面没有libs库编译成功后运行不起来。 到官网上去下载:https//ignite.apache.org/download.cgibinaries 环境 操作系统:centos6 ignite版本 http//mirrors.shu.edu.cn/apache//ignite/2...