C++
avagrant158
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Function Objects/Functors函数对象及优势
A function object, or functor, is any type that implements operator(). This operator is referred to as the call operator or sometimes the application operator. The Standard Template Libr翻译 2010-02-02 15:13:00 · 235 阅读 · 0 评论 -
there are no arguments to '***' that depend on a template parameter, so a declaration of
linux下会出现如下错误:there are no arguments to '***' that depend on a template parameter, so a declaration of '***' must be available错误:‘×××’ 的实参不依赖模板参数,所以 ‘×××’ 的声明必须可用需要在×××之前增加范围标识,参考http://gcc.gn转载 2012-01-17 14:41:07 · 3325 阅读 · 0 评论 -
const变量被编译器自动优化为const引用变量,delete危险
T* pb=new T();const T a=*pb;//a 被编译器优化为const T& a=b;delete pb;//错误原创 2011-08-03 10:12:12 · 297 阅读 · 0 评论 -
linux静态库AR陷阱,导致新程序无效
在使用ar -ru命令时,静态库中的老的目标文件是不会被删除的,当新目标文件不能覆盖老目标文件时(比如文件名变更),则老程序和新程序同时存在,此时可执行文件连接该静态库时,或许会使用老程序,或许使用新程序,连接器没有警告或异常,而且不同的可执行程序使用新老版本也不固定。解决办法是在ar -ru之前,一定要先rm掉静态库。原创 2011-04-14 13:13:00 · 412 阅读 · 0 评论 -
编写跨平台程序的关键,C/C++中的内置宏定义
<br />分两部分:<br />操作系统判定:<br />Windows: WIN32<br />Linux: linux<br />Solaris: __sun<br />编译器判定:<br />VC: _MSC_VER<br />GCC/G++: __GNUC__<br />SunCC: __SUNPRO_C和__SUNPRO_CC原创 2011-04-02 13:54:00 · 1607 阅读 · 0 评论 -
Sun CC中connect/recv/send等函数对于非阻塞non-blocking的socket返回-1,errno为EAGAIN和ETIMEDOUT
<br />经测试发现。<br />1.尽管文档中未提及EAGAIN,但的确返回了这个,和EINPROGRESS含义一样。<br />2.ETIMEDOUT貌似并不能认为连接就失败了,含义貌似和EINPROGRESS也一样。原创 2011-03-23 18:32:00 · 983 阅读 · 0 评论 -
SUN CC编译器库构造函数、静态对象内存构建、静态对象的构造函数、main函数的顺序问题。
<br />注意:这个顺序和g++的可能是不同的。<br />顺序是:<br />1.分配静态对象的内存空间<br />2.调用库构造函数(__attribute__((constructor))声明的函数)<br />3.调用静态对象的构造函数<br />4.执行main函数<br /> <br />总结:在库构造函数里不要使用任何静态对象,因为还没有执行构造函数。:(原创 2011-03-23 18:22:00 · 357 阅读 · 0 评论 -
关于Windows与Linux下32位与64位开发中的数据类型长度的一点汇总
<br />32位与64位的数据类型长度是不一样的,而且windows和linux也有些许区别,下面把64位下的数据长度列表如下(无符号unsigned和有符号的长度一样):<br /> <br /> linux64 windows64 linux32 windows32<br />char 8 8 8原创 2010-11-06 20:22:00 · 1905 阅读 · 0 评论 -
VS05使用Word自动化的问题解决方案
Compiling...1>DlgProxy.cpp1>g:/my document/visual studio 2005/projects/word/word/capplication.h(3) : warning C4278: 'ExitWindows': identifier in type library 'C://Program Files//Microsoft Office//OFFICE11//MSWORD.OLB' is already a macro; use the 'ren转载 2010-06-25 16:26:00 · 991 阅读 · 0 评论 -
更换动态库后一直报内存错误
<br />找了一个小时没有找到问题所在,一直在stl里报内存错误,基本不可调试,运行时说glib发现内存错误free什么什么的一大堆。valgrind也报一大堆错误,但是所指的位置看不出什么毛病。<br />原来问题出在一个静态库上,程序依赖一个so和一个a,而那个a又依赖这个so,so换了之后程序重编过,但是a没有重编,导致了这个问题,重编a解决问题。原创 2010-06-24 17:37:00 · 304 阅读 · 0 评论 -
AcceptEx后无法通过getpeername获得远端信息,返回错误码WSAENOTCONN 100057
其实这个错误码纯属微软误导我们,这个socket是连接上的。寻找原因,发现如下一段话,不在getpeername的文档里,而在AcceptEx的文档里,晕菜。 When the AcceptEx function returns, the socket sAcceptSocket is in the default state for a connected socket. T原创 2010-02-10 10:20:00 · 1187 阅读 · 0 评论 -
虚继承中出现C2512错误
class B{public: B(int i){}};class D1:public virtual B{public: D1(void):B(1){}};class D2:public virtual B{public: D2(void):B(1){}};class C:public virtual D1,publi转载 2012-06-16 10:07:32 · 937 阅读 · 0 评论
分享