C&C++程序设计
轩辕夏禹
这个作者很懒,什么都没留下…
展开
-
C/C++中 static 用法总结
http://blog.chinaunix.net/uid-20782170-id-248694.htmlstatic关键字是C, C++中都存在的关键字。static从字面理解,是“静态的“的 意思,与此相对应的,应该是“动态的“。static的作用主要有以下3个:1、扩展生存期;2、限制作用域;3、唯一性; 1、扩展生存期 这一点主要是针对普通局部变量和stat转载 2013-05-18 12:16:21 · 1163 阅读 · 0 评论 -
Makefile使用总结
1. Makefile 简介Makefile 是和 make 命令一起配合使用的.很多大型项目的编译都是通过 Makefile 来组织的, 如果没有 Makefile, 那很多项目中各种库和代码之间的依赖关系不知会多复杂.Makefile的组织流程的能力如此之强, 不仅可以用来编译项目, 还可以用来组织我们平时的一些日常操作. 这个需要大家发挥自己的想象力. 本篇博客是基于 {转载 2015-09-17 15:49:39 · 711 阅读 · 0 评论 -
C++类型转换
首先回顾一下C++类型转换:C++类型转换分为:隐式类型转换和显式类型转换第1部分. 隐式类型转换又称为“标准转换”,包括以下几种情况:1) 算术转换(Arithmetic conversion) : 在混合类型的算术表达式中, 最宽的数据类型成为目标转换类型。 int ival = 3;double dval = 3.14159;转载 2014-08-19 16:44:14 · 1068 阅读 · 0 评论 -
Linux 线程同步---条件变量
互斥锁:用来上锁。条件变量:用来等待,当条件变量用来自动阻塞一个线程,直到某特殊情况发生为止。通常条件变量和互斥锁同时使用。 函数介绍: 1.名称:pthread_cond_init目标: 条件变量初始化头文件:#include 函数原形:int pt转载 2014-07-29 23:13:30 · 586 阅读 · 0 评论 -
Linux线程属性总结
线程属性标识符:pthread_attr_t 包含在 pthread.h 头文件中。[c] view plaincopy//线程属性结构如下: typedef struct { int etachstate; //线程的分离状态 int转载 2014-08-24 15:14:40 · 2135 阅读 · 0 评论 -
C++中智能指针的设计和使用
结合C++Primer 转自 http://write.blog.csdn.net/postedit智能指针(smart pointer)是存储指向动态分配(堆)对象指针的类,用于生存期控制,能够确保自动正确的销毁动态分配的对象,防止内存泄露。它的一种通用实现技术是使用引用计数(reference count)。智能指针类将一个计数器与类指向的对象相关联,引用计数跟踪该类有多少个对象共享同转载 2013-05-06 16:54:43 · 699 阅读 · 0 评论 -
回调函数
回调函数(http://blog.csdn.net/callmeback/article/details/4242260 在看LWIP时,见到用回调函数,再看某老外公司OPC源代码时,见到用回调函数。看我国内某些代码(我公司软件等)时没用到。于是,我对回调函数产生了很大的好奇。以前,我写VC程序时用到过回调函数,但是没有用C语言来使用。最近,看到国外大量的经典代码中广泛使用了回调函数(LW转载 2014-08-19 20:11:41 · 677 阅读 · 0 评论 -
关于extern const
首先,有一点需要明确,就是const对象默认为文件的局部变量。原创 2014-08-19 12:48:04 · 960 阅读 · 0 评论 -
const总结
转载自http://blog.csdn.net/welcome_ck/article/details/227964 1、什么是const? 常类型是指使用类型修饰符const说明的类型,常类型的变量或对象的值是不能被更新的。(当然,我们可以偷梁换柱进行更新:)2、为什么引入const? const 推出的初始目的,正是为了取代预编译指令,消除它的缺点,同时继承它的优点转载 2014-08-19 12:29:46 · 479 阅读 · 0 评论 -
浮点数与0的比较
http://blog.163.com/zhang7410@126/blog/static/233564612008467142640/查看include文件,在float.h头文件中有很多关于浮点数的宏定义:[quote]#define FLT_EPSILON 1.19209290E-07F#define LDBL_EPSILON转载 2013-05-17 20:56:12 · 1354 阅读 · 0 评论 -
assert()总结
http://blog.csdn.net/zhaowenchaofang/article/details/8918336assert宏的原型定义在中,其作用是如果它的条件返回错误,则终止程序执行,原型定义:#include assert.h>void assert( int expression ); assert的作用是现计算表达式 expression ,如果其值转载 2013-05-14 00:17:37 · 645 阅读 · 0 评论 -
C和C++中内存分配的细节
精炼易懂,转自http://www.cnblogs.com/sj20082663/archive/2013/04/23/3037181.htmlBSS段: 用来存放程序中未初始化的全局变量。BSS是英文Block Started by Symbol的简称。BSS段属于静态内存分配。数据段:用来存放程序中已初始化的全局变量。数据段属于静态内存分配。代码段:用来存放程序执行转载 2013-05-16 23:08:08 · 922 阅读 · 0 评论 -
c strlen & C++ strlen,求长度问题
http://blog.csdn.net/vipvipvip/article/details/6337005先看下面几个例子:/* 定义数据 */...char *msg1 = "testtest";char *msg2 = "test";int len = 20, t = 1;...1-----> if( strlen(msg2) >= strlen(msg1)转载 2013-05-27 20:47:57 · 1714 阅读 · 0 评论 -
Epoll使用精髓
在linux的网络编程中,很长的时间都在使用select来做事件触发。在linux新的内核中,有了一种替换它的机制,就是epoll。相比于select,epoll最大的好处在于它不会随着监听fd数目的增长而降低效率。因为在内核中的select实现中,它是采用轮询来处理的,轮询的fd数目越多,自然耗时越多。并且,在linux/posix_types.h头文件有这样的声明:#define __转载 2013-05-18 15:05:42 · 703 阅读 · 0 评论 -
IO多路复用
IO多路复用 与多线程和多进程相比,I/O多路复用的最大优势是系统开销小,系统不需要建立新的进程或者线程,也不必维护这些线程和进程。主要应用:(1)客户程序需要同时处理交互式的输入和服务器之间的网络连接(2)客户端需要对多个网络连接作出反应(3)TCP服务器需要同时处理多个处于监听状态和多个连接状态的套接字(4)服务器需要处理多个网络协议的套转载 2013-05-18 15:11:31 · 1010 阅读 · 0 评论 -
linux下静态库、动态库总结
一、基本概念1.1、什么是库 在 windows 平台和 linux 平台下都大量存在着库。 本质上来说库是一种可执行的二进制代码(但不可以独立执行),可以被操作系统载入内存执行。 由于 windows 和 linux 的平台不同(主要是编译器、汇编器和连接器 的不同),因此二者库的二进制是不兼容的。 本文仅限转载 2015-09-23 13:48:51 · 1085 阅读 · 0 评论