
C++
kzjay
这个作者很懒,什么都没留下…
展开
-
C++ Character
Static Function Entry Point Link The function relative address is compute at the compile time, and then code into the binary long long在g++中是64位,printf ("%lld", n)打印此类型,printf("%llu", n)打印unsig原创 2009-08-04 16:43:00 · 1260 阅读 · 0 评论 -
Linux CPP 工程
使用自定议的编译器:export CC=/usr/local/gcc4.1.2/bin/gccexport CXX=/usr/local/gcc4.1.2/bin/g++原创 2012-02-21 15:33:58 · 447 阅读 · 0 评论 -
Boost
试着在简单的main.cpp里引进property_tree头文件进行XML解析,结果编译main.cpp要两秒以上,编出来的main.o有三百多K。试着用gcc预编译头文件,搞出个两三十M的bch文件,结果编译速度还是没有改善。Boost大多数库都是header-only的,但也有不少需要链接.a文件。boost的安装很简单:$ ./bootstrap.sh --prefix=path/to/installation/prefix$ ./bjam installbcp安装:./bjam --toolset原创 2010-12-29 22:16:00 · 938 阅读 · 1 评论 -
性能
class A {public: virtual int f_v(int a) { return a + 1; } int f_c(int a) { return a + 1; }};int f(int a) { return a + 1; }inline int f_i(int a) { return a + 1; }A a;A* p = &a;时间 调用方式690000 a.f_c()600000 p->f_c()630000 p->f_v()530000 f(原创 2010-12-09 20:52:00 · 414 阅读 · 0 评论 -
内存管理
<br />OS对内存的管理<br /> <br />用户程序对内存的管理<br />原创 2010-12-07 11:44:00 · 440 阅读 · 0 评论 -
Linux C/C++
#include 1. #include <...> 是ANSI C的写法2. fcntl.h 在 sys下3. 文件IO函数有期Constent 定义都在fcntl.h中原创 2010-09-05 18:04:00 · 483 阅读 · 0 评论 -
异常机制
C++,JAVA,PYTHON……总结一下,异常机制似乎是OOP语言的一个特性,JAVA与PYTHON中对使用异常处理的态度甚至是强制的。 为什么一定要引进异常机制,而不用传统而简单的“检查返回值”机制,Google之,查书之,答曰: * 异常可以强制程序员进行错误处理。(可以吗?噢,对,JAVA中强制需要try catch,否则编不过,但并非每个语言都那样) 我想,本质上原创 2009-12-08 22:38:00 · 685 阅读 · 0 评论 -
迷你的“g++编译器”使用说明书
ulimit -c 1024 // 设定1KB的core dumpgdb [exec] [core file] // 进行core dump调试 * 程序员软件设计的时候是针对头文件(h)的--所谓的针对接口编程* 编译器编译的时候是针对实现文件(cpp)的,因为头文件处理后被include进cpp了,等于没有头文件,理论上写代码的时候你也可以不写头文件,只要你不把符号写原创 2010-01-25 01:20:00 · 605 阅读 · 0 评论 -
Linker & Loader
QUOTE参考:----------------------------- C++编译链接过程http://hi.baidu.com/%B0%EB%B0%EBlife/blog/item/a63e42dceb518d3e5982dd5a.html原创 2010-01-25 01:11:00 · 851 阅读 · 0 评论 -
C++ Best Practice
C++把很多细节都仍给了程序员来处理,因此,C++有更多的注意事项,和一条条的决窍、技巧。 * 每个头文件都得解决anti-reinclude的问题 * 一般来说,library的header要include在之前,也就是说我们定义的.h能往后引用就往后拖。原因很简单:头文件按顺序展开,library的header是绝对不会用我们的头文件的,但我们的头文件却是会引用library的原创 2010-01-25 00:18:00 · 817 阅读 · 0 评论 -
GDB
GDB是GNU开源组织发布的一个强大的UNIX下的程序调试工具。或许,各位比较喜欢那种图形界面方式的,像VC、BCB等IDE的调试,但如果你是在UNIX平台下做软件,你会发现GDB这个调试工具有比VC、BCB的图形化调试器更强大的功能。所谓"寸有所长,尺有所短"就是这个道理。 一般来说,GDB主要帮忙你完成下面四个方面的功能: 1、启动你的程序,可以按照你的自定义的要求随心所欲的运行转载 2010-01-20 14:38:00 · 468 阅读 · 0 评论 -
About Multiple Inheritance
Shortage:* Virtual inheritance cause extra big size in sub class* Virtual inheritance cause the difficulty of constructing base class Advantage:* Give you a way to repaire the vendors base原创 2009-11-06 19:18:00 · 440 阅读 · 0 评论 -
从业余程序员到职业程序员——珠海Kingsoft实习1
“程序的质量是最重要的。” “每个函数都要有返回值, 因为每一个函数都可能失败。”——刚开始感觉BOS是不是在随口说说,或是说错了,后来BOS再三强调了这样做在大型工程中的重要性。回去后自已也开始在还没写函数实体时就加上LRESULT、PROCESS_ERROR、Exit0等语句, 使得一个什么都不做的空函数就用将近十行,再写多一会儿,越来越体会到BOS的意思了,感觉它对构建强壮的程序的确原创 2009-07-03 19:50:00 · 2684 阅读 · 1 评论 -
WTL
#define DECLARE_WND_CLASS_EX(WndClassName, style, bkgnd) /static CWndClassInfo& GetWndClassInfo() { / static CWndClassInfo wc = { / { sizeof(WNDCLAS原创 2009-08-05 19:11:00 · 535 阅读 · 0 评论 -
C++ 安全性之一
安全性每次写C++的文章,总免不了要批判一下C++。这篇文章也不例外。通过上面的讲述,相信我们对虚函数表有一个比较细致的了解了。水可载舟,亦可覆舟。下面,让我们来看看我们可以用虚函数表来干点什么坏事吧。一、通过父类型的指针访问子类自己的虚函数我们知道,子类没有重载父类的虚函数是一件毫无意义的事情。因为多态也是要基于函数重载的。虽然在上面的图中我们可以看到Base1的虚表中有Derive原创 2009-08-05 16:44:00 · 718 阅读 · 0 评论 -
Windows C++
宏只是手段?!BEGIN_MESSAGE_MAP(CMyView,CView)ON_COMMAND(ID_FILE_PRINT,CView::OnFilePrint)END_MESSAGE_MAP()以上程序还是C++吗?如果这样使用宏,还不如专门开发一个语言叫C Macro Macro来进行windows开发! 引用孟岩信中的一句话:用C++来对Win32建模始终让人感觉有点别扭。本质上原创 2009-08-04 16:09:00 · 830 阅读 · 0 评论 -
This 指针
当在类的非静态成员函数中访问类的非静态成员的时候,编译器会自动将对象本身的地址作为一个隐含参数传递给函数。也就是说,即使你没有写上this指针,编译器在编译的时候也是加上this的,它作为非静态成员函数的隐含形参,对各成员的访问均通过this进行。 This 指针在函数调用之前被压入ECX寄存器 C调用是函数自已来清理堆栈,PASCAL(_stdcall)调用是调用都清理堆栈原创 2009-08-04 17:20:00 · 472 阅读 · 0 评论 -
配置 CDT 环境
/* * Create: ${date} * Author: ${user} */- 下载 CDT 安装包, 解压运行 CDT- File -> Import -> General -> Preferences, 将 cdt_setting.epf 导入(目测仅设置了快捷键)- Window -> Preferences -> General -> Appearanc原创 2015-08-01 01:21:21 · 640 阅读 · 0 评论