随笔分类 -  标准C++

摘要:Windows编程入门程序详解1.程序/************************************************************************ * 名 称:Windows_Frist_Code.cpp * 功 能:Windows编程入门 * 描 述:包含WinMain函数、WNDCLASS、消息循环等多种内容 windows窗口程序的流程如下:【WinMain入口】-->创建和设计窗口类 -->注册窗口类-->创建、显示和更新窗口-->消息循环-->【窗口过程函数】 * 作 者:JarvisChu * ... 阅读全文
posted @ 2012-10-26 15:25 JarvisChu 阅读(13402) 评论(0) 推荐(1)
摘要:今天看Bjarne Stroustrup 的《The Design and Evolution of C++》,看到其中说85年前,他也想过把自动垃圾回收(GC)系统加入C++语言,没能实现的原因是当时的计算机性能跟不上,系统无法承受。做了好几年的C++开发,为内存问题不知头疼过多少次的我,突然想,既然当时是因为客观原因不能实现的,让我们羡慕了Java和C#开发者这么多年,现在可观条件已经满足了,为什么C++委员会不能再修改一下C++,将GC加进去呢?这对我们将是多大的福利啊 阅读全文
posted @ 2012-08-16 11:22 JarvisChu 阅读(261) 评论(0) 推荐(0)
摘要:目录:第十章使用库 第一部分概述 1.库 2.库兼容 3.命名约定 4.常用库第二部分库操作工具 5.库操作工具 6.nm命令 7.ar命令 8.ldd命令 9.ldconfig 第三部分静态库 10. 编写并使用静态库(.a) 11.静态库实例第四部分共享库 12. 编写并使用共享库 13.soname 14.共享库的命名惯例 第五部分动态加载的方法 使用共享库 15. 动态加载 16. dl 注:原书639页,内容繁多,不易快速定位要点。在第一次阅读过程中,我摘抄要点、记录心得,形成该笔记,供日后查阅和再学习用。说明:$表示终端输入命令第一部分概述1... 阅读全文
posted @ 2011-09-10 18:59 JarvisChu 阅读(349) 评论(0) 推荐(0)
摘要:gcc是gnu的c编译器,gcc在执行编译工作的时候,总共需要4步:1. 预处理, 生成.i的文件 [预处理器]2. 将预处理后的文件不转换成汇编语言, 生成文件.s [编译器egcs]3. 有汇编变为目标代码 (机器代码) 生成.o的文件 [汇编器as]4. 连接目标代码, 生成可执行程序 [链接器ld]--------------------------------------------------------------------------------------------------------------------------------【常用参数】-c只激活预处理,编译, 阅读全文
posted @ 2011-09-04 20:51 JarvisChu 阅读(293) 评论(0) 推荐(0)
摘要:1. sqlite3 安装1.1. 下载sqlite3源码 www.sqlite3.org 下载 sqlite-autoconf-3070701.tar.gz1.2. 解压 将下载的 sqlite-autoconf-3070701.tar.gz 解压,得到sqlite-autoconf-3070701 文件夹1.3. 编译源码(参照解压文件夹下的install文件) $ cd sqlite-autoconf-3070701 #进入文件夹 $ ./configure $ make $ sudo make install #注意一定要root权限1.4. 查看安装情况 在/usr/loca... 阅读全文
posted @ 2011-08-24 11:16 JarvisChu 阅读(729) 评论(0) 推荐(0)
摘要:WPF运行在CLR上的,它的代码是托管代码。C++编写的DLL代码是非托管的。在WPF中调用C++编写的DLL代码需要使用:using System.Runtime.InteropServices; [DllImport("Dll.dll", EntryPoint = "add",CallingConvention=CallingConvention.Cdecl)] public static extern int add(int a, int b);下面详细说明之。编译生成DLL文件在Visual Studio 2010中,File --> Ne 阅读全文
posted @ 2011-07-26 11:08 JarvisChu 阅读(395) 评论(0) 推荐(0)
摘要:ANSI/ISO的C++ STL规范版本正式通过以后,各个C++编译器厂商就可以依照标准所描述的原型去实现C++ STL泛型库,于是出现多种符合标准接口,但具体实现代码不同的泛型库,主要有:HP STLHP STL是Alexandar Stepanov在惠普Palo Alto实验室工作时,与Meng Lee合作完成的。HP STL是C++ STL的第一个实现版本,而且是开放源码。其它版本的C++ STL一般是以HP STL为蓝本实现出来的。SGI STL由Silicon Graphics Computer Systems公司参照HP STL实现,主要设计者仍然是STL之父Alexandar S 阅读全文
posted @ 2011-07-13 22:44 JarvisChu 阅读(241) 评论(0) 推荐(0)
摘要:http://www.cppblog.com/abilitytao/archive/2009/03/24/77699.htmlC++标准库简介(转)C++标准库的所有头文件都没有扩展名。C++标准库的内容总共在50个标准头文件中定义,其中18个提供了C库的功能。 <cname>形式的标准头文件【 <complex>例外】其内容与ISO标准C包含的name.h头文件相同,但容纳了C++扩展的功能。在 <cname>形式标准的头文件中,与宏相关的名称在全局作用域中定义,其他名称在std命名空间中声明。在C++中还可以使用name.h形式的标准C库头文件名。C++ 阅读全文
posted @ 2011-04-26 16:16 JarvisChu 阅读(144) 评论(0) 推荐(0)
摘要:先看有如下代码#include <iostream>#include <malloc.h>using namespace std;typedef struct Node{ struct Node* lchild; char data;}Node;void fun1(Node *n){ n = (Node*)malloc(sizeof(Node)); n->data = 'a'; n->lchild = NULL; cout<<n->data<<endl;}void fun2(Node* n){ cout<& 阅读全文
posted @ 2011-04-23 23:11 JarvisChu 阅读(401) 评论(0) 推荐(0)
摘要:1. C标准 C89 (ANSI X3.159-1989) C99 这个标准引出了1999年ISO 9899:1999的发表。它通常被称为C99。C99被ANSI于2000年3月采用。 标准库维基百科中C语言条目2. C++标准 C++98 1998年国际标准组织(ISO)颁布了C++程序设计语言的国际标准ISO/IEC 14882-1998 2003年发布一个C++标准的修正版本。 2005年,一份名为Library Technical Report 1(简称TR1)的技术报告释出 C++ 发展阶段 C++语言发展大概可以分为三个阶段: 第一阶段从80年代到1... 阅读全文
posted @ 2011-04-23 13:07 JarvisChu 阅读(623) 评论(0) 推荐(0)
摘要:转自 http://dev.firnow.com/course/3_program/c++/cppjs/20090403/163802.html1.FALSE/TRUE与false/true的区别: false/true是标准C++语言里新增的关键字,而FALSE/TRUE是通过#define,这要用途是解决程序在C与C++中环境的差异,以下是FALSE/TRUE在windef.h的定义:#ifndef FALSE#define FALSE 0#endif#ifndef TRUE#define TRUE 1#endif也就是说FALSE/TRUE是int类型,而false/true是bool类 阅读全文
posted @ 2011-04-23 10:45 JarvisChu 阅读(230) 评论(0) 推荐(0)
摘要:1. 百度知道2. 百度知道3. for循环 局部变量问题我的测试截图VC++ 6.0 不能通过codeblocks 采用GCC编译器可以通过VS2010 可以运行通过 阅读全文
posted @ 2011-04-23 10:41 JarvisChu 阅读(225) 评论(0) 推荐(0)
摘要:一个关于VC++6.0与标准C++差异处理的小技巧 2010-02-21 22:02转载自 辩一辩的百度空间VC++6.0对标准C++的支持并不太好,其中最常见的就是:#include<iostream>using namespace std;int main(){ int s=0; for (int i=1;i<10;i++) ; for (int i=1;i<10;i++) ; cout<<s;}这样,在标准c++里,i的作用域仅在for循环内,出了for循环就不能用了。所以上面的语句实际是没有错的。但VC++6.0会认为i的作用域是从定义开... 阅读全文
posted @ 2011-04-22 22:50 JarvisChu 阅读(226) 评论(0) 推荐(0)
摘要:gcc编译器的功能强大,支持的语法也非常灵活,给我们在编程时带来了非常大的方便,也给移植代码时带来了一定的难度。1 声明64位数据类型:gcc: long longvc: __int642 switch语法中的case语句:gcc: case '0' ... '9'vc: case 0: case1: ...3 寄存器变量的作用范围:gcc: 可以把register变量声明为全局或局部的vc: 只能是局部变量4 有符号和无符号整形:gcc: 在常量数字后面加LL或ULL,例如:无符号:0xffffffffffffffffULL有符号:0xffffffffffff 阅读全文
posted @ 2011-04-22 22:45 JarvisChu 阅读(1434) 评论(0) 推荐(0)
摘要:C/C++常见误区转自 爱娟娟 爱自己的博客在此论坛上发现了一些特别的问题,这些问题在其他地方并不存在,猜想是因为这里以学生为主,而学校的教材和教师与IT发展脱节严重。1.C++虽然主要是以C的基础发展起来的一门新语言,但她不是C的替代品,不是C的升级,C++和C是兄弟关系。没有谁比谁先进的说法,更重要的一点是C和C++各自的标准委员会是独立的,最新的C++标准是C++98,最新的C标准是C99。因此也没有先学C再说C++的说法,也不再(注意这个"不再")有C++语法是C语法的超集的说法。2.C++/CLI和C#是微软的,它们与C和C++没有任何关系,虽然部分语法相似。但哪 阅读全文
posted @ 2011-04-22 22:38 JarvisChu 阅读(164) 评论(0) 推荐(0)