c/c++
文章平均质量分 79
value_he
hello world
展开
-
可变常参数实现
BOOL _cdecl CheckValidStr(UINT count, ...){ va_list argp; va_start(argp, count); CString csKey; while (count > 0) { CString csValueGet; csKey = va_arg(argp原创 2013-05-24 18:00:02 · 612 阅读 · 0 评论 -
c++ stl里的vector::erase 和 map::erase 区别
转载于https://blog.csdn.net/feifeiiong/article/details/76572519前言关于这两者的区别和用法,网络上有很多五花八门的答案,有的还有很多错误,十分容易误导初学者。这里结合StackOverflow上的专家回答以及C++标准库来做一个简单的总结。vector 与 map的区别我们知道,vector是连续存储的数据结构,本质上是一个数组(...转载 2018-11-20 21:26:45 · 2381 阅读 · 0 评论 -
升级libc.so.6和libstdc++.so.6方法
解决"libc.so.6: version `GLIBC_2.14' not found"问题转载自https://www.cnblogs.com/Mrhuangrui/p/7766554.html试图运行程序,提示"libc.so.6: version `GLIBC_2.14' not found",原因是系统的glibc版本太低,软件编译时使用了较高版本的glibc引起的:问题Ce...转载 2018-09-18 14:06:52 · 8517 阅读 · 0 评论 -
升级安装gcc-5.4.0
转载https://blog.csdn.net/weixin_40420213/article/details/786875401、准备工作系统自带的gcc版本为4.4.7,升级至5.4.0版本,需要提前准备以下安装包: gcc-5.4.0.tar.gz 安装包 http://ftp.gnu.org/gnu/gcc/gcc-5.4.0/gcc-5.4.0.tar.gzgmp-4.3....转载 2018-08-27 16:45:41 · 11312 阅读 · 2 评论 -
C++虚拟继承的内存布局
重复继承 下面我们再来看看,发生重复继承的情况。所谓重复继承,也就是某个基类被间接地重复继承了多次。 下图是一个继承图,我们重载了父类的f()函数。 <?xml:namespace prefix = v ns = "urn:schemas-microsoft-com:vml" /> 其类继承的源代码如下所示。其中,每个类都有两个变量,一个是整形(4字节),一个是字符(1字节),而且还有...转载 2018-03-29 15:14:47 · 274 阅读 · 0 评论 -
c++实现对rapidjson的封装,更方便的用户接口
/******************************************************************* * summery: 提供便捷的方法操作rapidjson * author: hejl * date: 2017-02-17 * description: 有效避免string(NULL), element=NULL,...原创 2018-03-16 10:31:27 · 2600 阅读 · 3 评论 -
icomet limit
ideawu 提供了一个 c1000k 代码:https://github.com/ideawu/c1000k要测试c1000k 主要两个问题:是server 端, 每个sokcet 大约需要占用0.5M内存(内核sokcet缓冲区内存), 所以总共需要500G内存.client端, client 只能开大约3w-5w个client端口(对每个ser原创 2018-01-23 14:40:10 · 237 阅读 · 0 评论 -
otl通过ODBC方式操作mysql, blob类型的处理
本文用OTL c++操作mysql db经验总结。原创 2015-04-17 22:52:15 · 1034 阅读 · 0 评论 -
linux静态和动态库的使用总结.
lib总结: 很值参考1. 静态库.a中的各符号和各.c不能重定义.2. 动态库.so则是可以,它会覆盖定义,使用的是最左的库定义.3. 本文件中定义总是最优先的.4. 静态库参加链接时必须要依懒的放左边,被依赖的放右边.5. 静态库中的文件名却是可以与外链接的c文件同名的.ar t libxxx.a显示库文件中有哪些目标文件,只显示名称。ar tv原创 2015-01-19 21:28:11 · 549 阅读 · 0 评论 -
gcc so&a 链接顺序
gcc中动态库和静态库的链接顺序 2010-10-26 15:56:28| 分类: 学习体会|举报|字号 订阅so文件:动态库a文件: 静态库exe文件:可执行程序(linux下以文件属性来标示是否是可执行文件,与后缀名无关)经过自己写的一些测试程序,大致了解了下gcc中链接顺序问题,总结出以下几点:1,动态库中可以包含另一个静态库,转载 2014-10-17 21:41:45 · 1392 阅读 · 0 评论 -
win dll vs linux so
[共享库]Windows动态库与Linux共享对象比较摘要:动态链接库技术实现和设计程序常用的技术,在Windows和Linux系统中都有动态库的概念,采用动态库可以有效的减少程 序大小,节省空间,提高效率,增加程序的可扩展性,便于模块化管理。但不同操作系统的动态库由于格式不同,在需要不同操作系统调用时需要进行动态库程序移 植。本文分析和比较了两种操作系统动态库技术,并给出了将Visu转载 2014-06-21 23:35:59 · 691 阅读 · 0 评论 -
Epoll详解
在linux的网络编程中,很长的时间都在使用select来做事件触发。在linux新的内核中,有了一种替换它的机制,就是epoll。相比于select,epoll最大的好处在于它不会随着监听fd数目的增长而降低效率。因为在内核中的select实现中,它是采用轮询来处理的,轮询的fd数目越多,自然耗时越多。并且,在linux/posix_types.h头文件有这样的声明:#define __转载 2014-06-06 16:00:40 · 458 阅读 · 0 评论 -
关于iocp学习
欢迎阅读此篇IOCP教程。我将先给出IOCP的定义然后给出它的实现方法,最后剖析一个Echo程序来为您拨开IOCP的谜云,除去你心中对IOCP的烦恼。OK,但我不能保证你明白IOCP的一切,但我会尽我最大的努力。以下是我会在这篇文章中提到的相关技术: I/O端口 同步/异步 堵塞/非堵塞 服务端/客户端 多线程程序设计 Winsock A转载 2014-06-06 15:57:00 · 536 阅读 · 0 评论 -
单例模式的简单有用实现
class Sig{public: static Sig* GetInstance() { static Sig s_sig; return &s_sig; }protected: Sig(){}; Sig(const Sig& obj){}; Sig& operator=(const Sig& obj); ~Sig();};原创 2014-06-06 15:47:45 · 563 阅读 · 0 评论 -
c++实现广度优先和深度优先查找目录结构
//************************************// Method: 深度优先法实现扫描目录, 使用递归方式// FullName: CScanDirectoryDlg::ScanDirectoryByDeep// Access: public static // Returns: int 返回历时// Parameter: CSt原创 2014-06-06 15:22:00 · 832 阅读 · 0 评论 -
LUA初识
现在,越来越多的C++服务器和客户端融入了脚本的支持,尤其在网游领域,脚本语言已经渗透到了方方面面,比如你可以在你的客户端增加一个脚本,这个脚本将会帮你在界面上显示新的数据,亦或帮你完成某些任务,亦或帮你查看别的玩家或者NPC的状态。。。如此等等。但是我觉得,其实脚本语言与C++的结合,远远比你在游戏中看到的特效要来的迅猛。它可以运用到方方面面的领域,比如你最常见的应用领域。比如,你可以用转载 2013-08-26 21:50:44 · 1015 阅读 · 0 评论 -
VS项目属性设置的一小经验
编译时的包含目录问题:include 不会到当前目录下去搜索, 只有设置在项目属性下的路径才会去搜索.设置项目包含目录时要注意, 提示有可能不对, .=当前目录=solution/proj;..=solution;链接器的输入当前目录也是同solution/proj原创 2013-05-24 18:03:03 · 863 阅读 · 0 评论 -
win32创建异常捕获处理
SetUnhandledExceptionFilter(CustomFilter); LONG __stdcall CustomFilter(EXCEPTION_POINTERS* pep) { // 生成dump文件名 CString strDumpFile; CTime tCur = CTime::GetCurrentTime(); strDum原创 2013-05-24 17:56:23 · 976 阅读 · 0 评论 -
Linux运行时动态库搜索路径优先级
转自https://blog.csdn.net/astrotycoon/article/details/9882227LIBRARY_PATH和LD_LIBRARY_PATH是Linux下的两个环境变量,二者的含义和作用分别如下:LIBRARY_PATH环境变量用于在程序编译期间查找动态链接库时指定查找共享库的路径,例如,指定gcc编译需要用到的动态链接库的目录。LD_LIBRARY_...转载 2018-11-23 21:25:30 · 2432 阅读 · 0 评论