摘要: 从字面上看,static的意思是静态的。由static'修饰的变量或函数,改变了其存储方式和可见性,static关键字的作用主要有拓展生命周期、限制作用域和保持数据唯一性。 1、拓展生命周期 拓展生命周期是针对c语言中局部变量,因为static关键字改变了局部变量的存储方式。c/c++中... 阅读全文
posted @ 2015-03-18 22:02 pxiong 阅读(264) 评论(0) 推荐(0) 编辑
摘要: Windows应用程序,操作系统,计算机硬件之间的相互关系如下图: 向下的箭头③表示应用程序可以通知操作系统执行某个具体的动作; 向上的箭头④表示操作系统能够将输入设备的变化上传给应用程序。 每个应用程序都维护一个消息队列(严格来说应该是每个GUI线程维护一个各自的... 阅读全文
posted @ 2014-04-06 15:29 pxiong 阅读(3162) 评论(0) 推荐(0) 编辑
摘要: 这个简单的问题很少有人能回答完全。在C语言中,关键字static有三个明显的作用: 1)在函数体内,一个被声明为静态的变量在这一函数被调用过程中维持其值不变(该变量存放在静态变量区)。 2) 在模块内(但在函数体外),一个被声明为静态的变量可以被模块内所用函数访问,但不能被模块外其它函数访问。它是一个本地的全局变量。 3) 在模块内,一个被声明为静态的函数只可被这一模块内的其它函数调用。那就是,这个函数被限制在声明它的模块的本地范围内使用。大多数应试者能正确回答第一部分,一部分能正确回答第二部分,但是很少的人能懂得第三部分。这是一个应试者的严重的缺点,因为他显然不懂得本地化数据和代码范围... 阅读全文
posted @ 2014-01-03 11:17 pxiong 阅读(196) 评论(0) 推荐(0) 编辑
摘要: malloc/free是c/c++标准库函数,new/delete是c++运算符。new/delete可以被重载。 对于内置数据类型的对象而言,光用malloc/free完全满足动态对象的要求,此时malloc/free和new/delete完全等价。 但对于其他对象在创建后要自动执行构造函数,在销毁前要自动执行析构函数,于是运算符new/delete可以产生了,不要企图用malloc/free完成动态内存的管理。 malloc只关心分配内存的大小,不关注类型,调用free(p)后,p不会自动赋值为NULL,连续两次非NULL指针调动两次free()会导致程序运行出错。new内置了s... 阅读全文
posted @ 2014-01-03 10:20 pxiong 阅读(146) 评论(0) 推荐(0) 编辑
摘要: http://blog.csdn.net/xiaohou0701/article/details/3426537 阅读全文
posted @ 2014-01-02 20:31 pxiong 阅读(125) 评论(0) 推荐(0) 编辑
摘要: http://www.cnblogs.com/gmh915/archive/2009/09/30/1576995.html名称:sscanf() - 从一个字符串中读进与指定格式相符的数据.函数原型: int sscanf( string str, string fmt, mixed var1, mixed var2 ... ); int scanf( const char *format [,argument]... );说明: sscanf与scanf类似,都是用于输入的,只是后者以屏幕(stdin)为输入源,前者以固定字符串为输入源。 其中的format可以是一个或多个 {... 阅读全文
posted @ 2014-01-02 20:29 pxiong 阅读(136) 评论(0) 推荐(0) 编辑
摘要: 标准的c/c++不支持正则表达式,但是一些库函数中辅助完成了这一功能。常用函数有regcomp(), regexec(), regfree(), regerror()。c语言中使用正则表达式一般分为以下三步: 1、编译正则表达式 regcomp() 2、匹配正则表达式 regexec() 3、释放正则表达式 regfree()1、int regcomp (regex_t *compiled, const char *pattern, int cflags) 这个函数把指定的正则表达式pattern编译成一种特定的数据格式compiled,这样可以使匹配更有效。函数regexec 会使用... 阅读全文
posted @ 2014-01-02 20:16 pxiong 阅读(444) 评论(0) 推荐(0) 编辑
摘要: 条款01:视c++为一个语言联邦 C、Obeject—Oriented C++、Template C++、STL。 C++高级编程守则视状况而变化,取决于使用的C++的哪一部分。条款02:尽量以const、enum、inline替换#define(即宁可以编译器替换预处理器) 对于单纯常量,最好以const对象或enmus代替#define。 对于形似函数的宏(macros),最好改用inline函数替换#define。条款03:尽可能使用const 将某些东西声明为const可帮助编译器探测出错误用法。const可被施加于任何作用域内的对象、函数参数、函数返类型... 阅读全文
posted @ 2014-01-02 16:15 pxiong 阅读(158) 评论(0) 推荐(0) 编辑
摘要: 链接两篇博客:qt安装配置:http://www.cnblogs.com/emouse/archive/2013/01/28/2880142.html qt creator安装配置: http://www.cnblogs.com/emouse/archive/2013/01/29/2881721.html qt下载地址:http://qt-project.org/downloads/qt Creator下载地址:http://blog.qt.digia.com/cn/2013/12/02/qt-creator-3-0-rc1-released/?utm_source... 阅读全文
posted @ 2013-12-31 17:23 pxiong 阅读(3676) 评论(0) 推荐(0) 编辑
摘要: Flashsim是装在Disksim下的,所以要安装Flashsim,先要装Disksim,而Disksim需要低版本的gcc(如gcc2.4)才能编译成功。 1.安装ununtu 版本选择ununtu10.04和ubuntu10.10都可以,我自己的电脑装的是10.10,实验室装的是10.04,都成功了。有人说有些版本不行。 2.安装gcc ubuntu10.04默认安装的是gcc-4.*,所以要重新安装低版本的,我们这里安装gcc-2.95,选择下载包安装。 给个链接:http://old-releases.ubuntu.com/ubuntu/pool/unive... 阅读全文
posted @ 2013-10-13 23:50 pxiong 阅读(1340) 评论(0) 推荐(0) 编辑