![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++/C
lys07962000
这个作者很懒,什么都没留下…
展开
-
IM架构篇
http://www.52im.net/forum.php?mod=collection&action=view&ctid=7libco:http://www.52im.net/forum.php?mod=viewthread&tid=623&highlight=libco转载 2019-06-25 10:51:16 · 171 阅读 · 0 评论 -
大并发服务器不得不说的技术--tcp cork
如果把tcp当成服务端与客户端的管道,cork 就是给管道加个塞子。为什么 要加个塞子呢?先来举个例子:[cpp] view plaincopyprint?int times = 10; while( times--) { send( sock_fd, buf, 1, 0 ) } int times = 10;while转载 2014-05-07 15:19:14 · 624 阅读 · 0 评论 -
发服务器不得不说的技术--sendfile
来自:http://blog.csdn.net/xiaofei_hah0000/article/details/8681716socket发送函数。[cpp] view plaincopyprint?int send( SOCKET s, const char FAR *buf, int len, int flags ); int send( SOCK转载 2014-05-07 15:40:59 · 742 阅读 · 0 评论 -
Vs2010配置boost库,LINUX boost安装
from http://blog.sina.com.cn/s/blog_4c98b96001009v40.html主页:http://www.boost.org/实际下载页面:http://sourceforge.net/project/showfiles.php?group_id=7586转载 2014-03-05 10:59:03 · 950 阅读 · 0 评论 -
总结libevent安装方法
from:http://blog.sina.com.cn/s/blog_4b93170a0100mbm9.html1.先用:ls -al /usr/lib | grep libevent 查看是否已安装,如果已安装且版本低于1.3,则先通过:rpm -e libevent —nodeps 进行卸载。 2.下载libevent安装包:libevent-1.4.13-stable.t转载 2015-07-08 22:05:29 · 4335 阅读 · 0 评论 -
std::string 转 byte[]
#include "stdafx.h"#include #include int _tmain(int argc, _TCHAR* argv[]){std::string teststr = "123456abc";const char* a = teststr.c_str();char* b = new char[teststr.length() + 1]原创 2016-11-10 18:56:43 · 7669 阅读 · 0 评论 -
makefile 中 $@ $^ %< 使用
from:http://blog.csdn.net/kesaihao862/article/details/7332528这篇文章介绍在LINUX下进行C语言编程所需要的基础知识。在这篇文章当中,我们将会学到以下内容:源程序编译Makefile的编写程序库的链接程序的调试头文件和系统求助1.源程序的编译在Linux转载 2016-10-30 10:53:17 · 232 阅读 · 0 评论 -
gcc/g++ 命令的常用选项
来自:http://www.cnblogs.com/skyofbitbit/p/3676538.htmlgcc/g++ 命令的常用选项gcc/g++ 命令的常用选项使用g++编译CPP文件如果用gcc编译C++源文件时,加以下选项:-lstdc++,否则使用了C++操作的文件编译会出错。假如在程序中用到new delete操作,而不加此选项进行编译会出现以下错误信息:zch转载 2016-10-30 10:35:04 · 1128 阅读 · 0 评论 -
Linux共享对象之编译参数fPIC
来自:http://www.cnblogs.com/cswuyg/p/3830703.html最近在看Linux编程的基础知识,打算对一些比较有趣的知识做一些汇总备忘,本文围绕fPIC展开,学习参考见文末。 在Linux系统中,动态链接文件称为动态共享对象(DSO,Dynamic Shared Objects),简称共享对象,一般是以.so为扩展名的文件。转载 2016-10-30 10:27:28 · 369 阅读 · 0 评论 -
Makefile文本处理函数
from: http://www.cnblogs.com/MyEyes/archive/2012/01/12/2320481.html$(subst FROM,TO,TEXT) 函数名称:字符串替换函数 函数功能:把字符串TEXT中的FROM字符串替换为TO 返回值:替换后的新字符串转载 2016-10-29 16:16:19 · 257 阅读 · 0 评论 -
利用std::for_each 定义宏函数
#include #define FreeList(itStart, itEnd) (std::for_each(itStart, itEnd, CImGDDbAgent::FunFree)) class CImGDDbAgent {public: CImGDDbAgent(); ~CImGDDbAgent(void); static void FunFree原创 2015-06-13 16:34:07 · 635 阅读 · 0 评论 -
如何让new 操作 不分配内存 只调用构造函数
from:http://www.cnblogs.com/rosesmall/archive/2012/04/27/2473654.html没有内存池的时候,你只是用new直接创建了一个对象,但是new的过程分为两步,首先是分配内存,然后是调用构造函数。内存池就只是负责内存的分配,有了内存池后,你再去创建对象时候,只需要先从内存池中取出内存,然后再在取出的内存上调用对象的构造函数,产转载 2015-06-29 17:41:52 · 727 阅读 · 0 评论 -
大并发服务器内存转换的灵活运用,memcpy的思考
来自:http://blog.csdn.net/xiaofei_hah0000/article/details/8959167转载 2014-05-07 15:47:26 · 683 阅读 · 0 评论 -
LINUX C++ 数据库连接池
来自: http://my.oschina.net/u/1179554/blog/149560最近待业,闲的蛋疼,发现C++下连mysql连接池这么基础的东西都没用过,身为一名计算机毕业生,深感愧疚,遂生一想法,写个或者找个连接池,以增强本人垃圾一样的专业修养。没想到写出来第一版就存在内存管理问题导致的coredump,查了半天,发现是调用了空指针的成员函数,彻底晕倒,其间转载 2014-05-25 22:57:40 · 3079 阅读 · 1 评论 -
服务器多个网卡多个IP创建SOCKET
addrSrv.sin_addr.S_un.S_addr=inet_addr("127.0.0.1");SOCKADDR_IN addrSrv;addrSrv.sin_addr.S_un.S_addr=htonl(INADDR_ANY);addrSrv.sin_family=AF_INET;addrSrv.sin_port=htons(6000);bind(sockSrv,(SOC原创 2014-05-27 11:26:34 · 3319 阅读 · 0 评论 -
VS插件VisualGDB破解版下载、安装和使用说明
可能需要先安装 VC_Linux.exe , 有待验证VS插件VisualGDB破解版下载、安装和使用说明创建项目时会提示 需要 最后要安装的插件:Installing Visual C++ SupportVisualGDB破解版 包含:激活说明.txt 激活说明:0 install VisualGDB-5.1r4-trial.msi1 import reg.reg2 copy activat...转载 2018-02-10 12:02:42 · 10497 阅读 · 1 评论 -
C语言 HTTP上传文件-利用libcurl库上传文件
from : http://www.cnblogs.com/lidabo/p/4159574.htmlsize_t FileTransferModule_Impl::writeData(char *ptr, size_t size, size_t nmemb, std::string *stream){stream->append(ptr, size*nmemb);转载 2017-06-28 15:39:47 · 4047 阅读 · 0 评论 -
std::function与std::bind 函数指针
http://blog.csdn.net/qq575787460/article/details/8531397function模板类和bind模板函数,使用它们可以实现类似函数指针的功能,但却却比函数指针更加灵活,特别是函数指向类 的非静态成员函数时。std::function可以绑定到全局函数/类静态成员函数(类静态成员函数与全局函数没有区别),如果要绑定到类的非静态成员函转载 2017-06-13 11:56:59 · 285 阅读 · 0 评论 -
LINUX查看CORE文件
vim /etc/profile添加: ulimit -c unlimitedsource /etc/profile可以生成CORE文件再用GDB查看gdb test core.15759原创 2017-03-07 18:19:30 · 1347 阅读 · 0 评论 -
VisualGDB : error : Command-line action failed
1>------ 已启动全部重新生成: 项目: LinuxProject2, 配置: Debug Win32 ------1> VisualGDB: Run "make CONFIG=Debug clean" in directory "/tmp/VisualGDB/GBF/LinuxProject2" on root@192.168.1.4 (SSH)1> make: *** No原创 2017-02-08 22:54:42 · 5225 阅读 · 1 评论 -
VS2010 main函数参数问题
visual studio 2010里面项目--属性--调试--命令参数里面配置输入参数为: 123 244 3 54cout cout 不能输出在项目--属性--常规-字符集里面设置成多字节就好了,以前是unicode就可以了!!原创 2017-01-14 19:05:37 · 718 阅读 · 1 评论 -
VS2010+ visualgdb无法查看变量值的解决方案
参考:http://blog.csdn.net/weolar/article/details/48022921VisualGDB属性--》Makefile settings-->CFLAGS:添加:-gdwarf-2原创 2017-01-14 18:10:02 · 1541 阅读 · 0 评论 -
用vs2008编写和调试linux程序 ----VisualGDB 使用教程
来自:http://blog.csdn.net/flb_1990/article/details/20699099一准备工作1 准备一台Linux机器用来编译程序,我用的是虚拟机安装的CentOS网络设置成桥接模式 (1)安装并开启SSH (2)安装 gcc g++ gdb (3)关闭防火墙或者开启允许SSH对外访问的网络转载 2017-01-13 14:02:50 · 1249 阅读 · 0 评论 -
Linux进程间通信——使用共享内存
下面将讲解进程间通信的另一种方式,使用共享内存。一、什么是共享内存顾名思义,共享内存就是允许两个不相关的进程访问同一个逻辑内存。共享内存是在两个正在运行的进程之间共享和传递数据的一种非常有效的方式。不同进程之间共享的内存通常安排为同一段物理内存。进程可以将同一段共享内存连接到它们自己的地址空间中,所有进程都可以访问共享内存中的地址,就好像它们是由用C语言函数malloc分配的内存一转载 2016-12-31 21:47:14 · 340 阅读 · 0 评论 -
linux下如何用GDB调试c++程序
from : http://blog.csdn.net/wfdtxz/article/details/7368357GDB 是GNU开源组织发布的一个强大的UNIX下的程序调试工具。或许,各位比较喜欢那种图形界面方式的,像VC、BCB等IDE的调试,但如果你是在 UNIX平台下做软件,你会发现GDB这个调试工具有比VC、BCB的图形化调试器更强大的功能。所谓“寸有所长,尺有所短”就是这个道转载 2014-06-02 18:10:54 · 707 阅读 · 0 评论 -
用VS2015开发Linux程序
from:http://blog.csdn.net/crazytea/article/details/53364339VS2015推出了跨平台开发,其中包括了对Linux程序开发的支持,最近刚好需要开发Linux程序,对其进行了一些研究。首先介绍下涉及到的开发工具开发工具VS2015Update3,下文简称VS(可以下载免费社区版)Visual转载 2016-12-14 14:39:59 · 2002 阅读 · 0 评论 -
eclipse 函数编译时报错:undefined reference to `pthread_create’
from:http://blog.csdn.net/feisy/article/details/16880523Eclipse + CDT:pthread_create函数编译时报错:undefined reference to `pthread_create’undefined reference to `pthread_create’undefined refere转载 2015-01-05 22:58:21 · 1071 阅读 · 0 评论 -
linux C/C++开发环境搭建指南
参考:http://blog.csdn.net/zwjsatan/article/details/8039277一、安装基本开发环境本人想学习一下Linux下的C,C++程序开发,这几天一直在研究Linux下的C语言编译环境的建立,因为新装好的Ubuntu里面缺少函数库文件,所以无法编译最简单的C语言文件,故要先配置一番,这几天也有一点心得,写下来和大家一起学习。原来我以为安装配置非常转载 2014-04-27 12:14:19 · 862 阅读 · 0 评论 -
_stdcall,_cdecl区别
fromhttp://blog.csdn.net/dengziliang001/article/details/17448789转载 2014-05-11 12:18:28 · 488 阅读 · 0 评论 -
一个函数名后面加const
这样的函数叫常成员函数。常成员函数可以理解为是一个“只读”函数,它既不能更改数据成员的值,也不能调用那些能引起数据成员值变化的成员函数,只能调用const成员函数。原创 2014-05-10 12:10:02 · 647 阅读 · 0 评论 -
二级指针
#include "stdafx.h"#include using namespace std;void find1(char array1[],char search,char *pa) { for (int i = 0; *(array1 + i) != '\0'; ++i) { if (*(array1 + i) == search)转载 2014-05-07 15:54:39 · 582 阅读 · 0 评论 -
一个函数名后面加const表示什么意思
FROM:http://blog.sina.com.cn/s/blog_74cf26810100swj5.html转载 2014-05-05 22:04:38 · 4013 阅读 · 0 评论 -
C++智能指针
from:http://blog.csdn.net/hackbuteer1/article/details/7561235转载 2014-05-03 10:47:43 · 571 阅读 · 0 评论 -
char转为TCHAR ,TCHAR转为char
from:http://blog.sina.com.cn/s/blog_6f5b220601015o21.html没有定义UNICODE,所以它里面的字符串就是简单用" "就行了,创建工程的时候包含了UNICODE定义,就必须对TCHAR和char进行转换。首先是把TCHAR转为char[cpp] view plaincopyprint?//将TCHAR转为转载 2013-10-30 11:25:15 · 1047 阅读 · 0 评论 -
VC实现 IOS后台消息PUSH
网上有关这方面的资料很少,最近整了一个,记录下来,以备不时之需 这是我的OpenSSL 环境配置http://blog.csdn.net/lys07962000/article/details/12027803 并参考这个实现的http://blog.sina.com.cn/s/blog_9a4d43d80101bmli.html VS2008实现的,源码:ht原创 2013-09-27 11:01:53 · 994 阅读 · 0 评论 -
判断是否为64,32,16位系统
BOOL Is64BitWindows() { #if defined(_WIN64) return TRUE; // 64-bit programs run only on Win64 #elif defined(_WIN32) // 32-bit programs run on both 32-bit and 64-bit Windows // so must sni原创 2013-08-13 20:06:59 · 794 阅读 · 0 评论 -
字符与Double,int相互转换!!!!
AnsiString Double2String(double dTemp, int iDecplaces){ string strOut; ostringstream out; //out.precision(iDecplaces);//覆盖默认精度out out strOut = out.str(); //从流中取出字符串 数值现在存储在str size_原创 2013-08-13 20:05:39 · 949 阅读 · 0 评论 -
各种字符及编码转换
#pragma once//字符转换成BYTEstatic BYTE char2byte(char c) { if('0' { return (c-'0'); } else if('a' { return (c-'a') + 10 ; } else if('A' { return (c-'A') + 10; } else {原创 2013-08-13 19:52:55 · 601 阅读 · 0 评论 -
delete []与delete区别?
delete []与delete区别?char* p1 = new char[10];原创 2014-05-12 22:23:50 · 510 阅读 · 0 评论 -
Linux下HTTP Server
#include#include#include#include#include#include #define BUF_LEN 1028#define SERVER_PORT 8080//定义好的html页面,实际情况下web server基本是从本地文件系统读取html文件 const static char http_error_hdr[] = "HT转载 2014-06-02 18:21:47 · 784 阅读 · 0 评论