![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C/C++
文章平均质量分 75
fortunate1y
这个作者很懒,什么都没留下…
展开
-
const详解
C++中的const关键字的用法非常灵活,而使用const将大大改善程序的健壮性,本人根据各方面查到的资料进行总结如下,期望对朋友们有所帮助。Const 是C++中常用的类型修饰符,常类型是指使用类型修饰符const说明的类型,常类型的变量或对象的值是不能被更新的。 一、Const作用 如下表所示:No.作用说明参考代码转载 2014-07-21 09:06:58 · 501 阅读 · 0 评论 -
linux线程编程
linux多线程设计是指基于Linux操作系统下的多线程设计,包括多任务程序的设计,并发程序设计,网络程序设计,数据共享等。Linux系统下的多线程遵循POSIX线程接口,称为pthread。编写Linux下的多线程程序,需要使用头文件pthread.h,连接时需要使用库libpthread.a。1 引言线程(thread)技术早在60年代就被提出,但真正应用多线程到操作系统中去,转载 2014-09-17 16:13:41 · 719 阅读 · 0 评论 -
互斥锁详解
使用互斥锁表 4–3 列出了用来处理互斥锁的函数。表 4–3 互斥锁的例程操作相关函数说明初始化互斥锁pthread_mutex_init 语法使互斥锁保持一致pthread_mutex_consistent_np 语法锁定互斥转载 2014-08-29 16:33:59 · 1263 阅读 · 0 评论 -
linux下makefile介绍
概述——什么是makefile?或许很多Winodws的程序员都不知道这个东西,因为那些Windows的IDE都为你做了这个工作,但我觉得要作一个好的和professional的程序员,makefile还是要懂。这就好像现在有这么多的HTML的编辑器,但如果你想成为一个专业人士,你还是要了解HTML的标识的含义。特别在Unix下的软件编译,你就不能不自己写makefile了,会不会写m转载 2014-09-09 13:15:32 · 460 阅读 · 0 评论 -
进程通信之消息队列(csdn)
1. 基本概念消息队列的最佳定义是:内核地址空间中的内部链表。消息可以顺序地发送到队列中,并以几种不同的方式从队列中获取。当然,每个消息队列都是由 IPC标识符所唯一标识的。2. 内部和用户数据结构要完成理解象系统 V IPC这样复杂的问题,关键是要彻底熟悉内核的几个内部数据结构。甚至对那些最基本的操作来说,直接访问这些结构中的某几个结构也是必要的,而其他的结构则停留在一个转载 2014-06-30 13:45:38 · 1255 阅读 · 0 评论 -
TCP和UDP的区别
TCP协议与UDP协议的区别 首先咱们弄清楚,TCP协议和UCP协议与TCP/IP协议的联系,很多人犯糊涂了,一直都是说TCP/IP协议与UDP协议的区别,我觉得这是没有从本质上弄清楚网络通信!TCP/IP协议是一个协议簇。里面包括很多协议的。UDP只是其中的一个。之所以命名为TCP/IP协议,因为TCP,IP协议是两个很重要的协议,就用他两命名了。TCP/IP协议集包括应用层,转载 2014-09-10 16:11:16 · 404 阅读 · 0 评论 -
线程私有数据介绍
在单线程程序中,函数经常使用全局变量或静态变量,这是不会影响程序的正确性的,但如果线程调用的函数使用全局变量或静态变量,则很可能引起编程错误,因为这些函数使用的全局变量和静态变量无法为不同的线程保存各自的值,而当同一进程内的不同线程几乎同时调用这样的函数时就可能会有问题发生。而解决这一问题的一种方式就是使用线程私有数据。 线程私有数据采用了一种被称为一键多值的技术,即一个键对应多个数值。转载 2014-09-01 10:10:17 · 483 阅读 · 0 评论 -
位域介绍
有些信息在存储时,并不需要占用一个完整的字节,而只需要一个或几个二进制位即可;比如:在存放一个开关量时,只有0和1两种状态,只需要使用一个二进制位即可存储;为了节省存储空间,C语言提供了一种数据结构,称为"位域"或"位段";所谓"位域"就是把一个字节中的8个二进制位划分为几个不同的区域,并说明每个区域的二进制位数;每一个位域都有一个位域名,允许程序员在程序中按照位域名进行访问;这样就可以把几个不同转载 2014-09-02 15:40:45 · 449 阅读 · 0 评论 -
Linux编程基础
(一)Linux网络编程--网络知识介绍Linux网络编程--网络知识介绍客户端和服务端 网络程序和普通的程序有一个最大的区别是网络程序是由两个部分组成的--客户端和服务器端. 客户端 在网络程序中,如果一个程序主动和外面的程序通信,那么我们把这个程序称为客户端程序。 比如我们使用ftp程序从另外一个地方获取文件的时候,是我们的ftp程序主动同转载 2014-09-26 11:07:54 · 808 阅读 · 0 评论 -
回调函数举例(callbackfunction)
什么是回调函数?回调函数是一个通过函数指针调用的函数。如果你把函数的指针(地址)作为参数传递给另一个函数,当这个指针被用为调用它所指向的函数时,我们就说这是回调函数。原创 2014-09-15 15:45:52 · 2059 阅读 · 0 评论 -
初始化函数列表
1 好多书籍都建议我们直接使用初始化列表为成员进行初始化,为什么呢?我想原因有二:①考虑到效率②有些成员不得不这么做(const,引用)为什么使用初始化列表就效率呢?其实也不一定,对于内置类型,在函数体内赋值和在初始化列表中初始化两者的效率是等同的。但是为了美观和一致性的问题,《Effective C++》作者建议我们还是用初始化列表进行。但是这也转载 2014-07-08 14:10:45 · 618 阅读 · 0 评论 -
C++重载与重写
重载overload:是函数名相同,参数列表不同 重载只是在类的内部存在。但是不能靠返回类型来判断。重写override:也叫做覆盖。子类重新定义父类中有相同名称和参数的虚函数。函数特征相同。但是具体实现不同,主要是在继承关系中出现的 。重写需要注意:1 被重写的函数不能是static的。必须是virtual的2 重写函数必须有相同的类型,名称和参数列表3转载 2014-08-05 13:59:07 · 440 阅读 · 0 评论 -
函数指针的使用
关于C++中函数指针的使用(包含对typedef用法的讨论(一)简单的函数指针的应用。//形式1:返回类型(*函数名)(参数表) char (*pFun)(int); char glFun(int a){return;}void main() { pFun = glFun; (*pFun)(2); }转载 2014-07-10 11:27:39 · 623 阅读 · 0 评论 -
shell编程gcc命令
1。gcc包含的c/c++编译器gcc,cc,c++,g++,gcc和cc是一样的,c++和g++是一样的,(没有看太明白前面这半句是什么意思:))一般c程序就用gcc编译,c++程序就用g++编译2。gcc的基本用法gcc test.c这样将编译出一个名为a.out的程序gcc test.c -o test这样将编译出一个名为test的程序,-o参数用来指定生成程序的名转载 2014-07-01 13:32:20 · 1900 阅读 · 1 评论 -
进程通信消息队列(IBM)
消息队列(也叫做报文队列)能够克服早期unix通信机制的一些缺点。作为早期unix通信机制之一的信号能够传送的信息量有限,后来虽然POSIX 1003.1b在信号的实时性方面作了拓广,使得信号在传递信息量方面有了相当程度的改进,但是信号这种通信方式更像"即时"的通信方式,它要求接受信号的进程在某个时间范围内对信号做出反应,因此该信号最多在接受信号进程的生命周期内才有意义,信号所传递的信息是接近于随转载 2014-06-30 13:40:18 · 543 阅读 · 0 评论 -
ftok与fork
ftok函数编辑系统建立IPC通讯 (消息队列、信号量和共享内存) 时必须指定一个ID值。通常情况下,该id值通过ftok函数得到。2ftok原型编辑头文件#include sys/types.h>#include 函数原型:key_t ftok( const char * fname, int id )fname就是你指转载 2014-07-02 10:21:46 · 1220 阅读 · 0 评论 -
shell网络编程route
1. 使用背景需要接入两个网络,一个是部署环境所在内网环境,这个环境是上不了外网, 外网环境很可能是一个无线网络。如果两者都连接上,很可能导致有一方不能起作用,即外网或内网上不了,常常需要使用繁琐的“禁用网络连接”、“启用网络连接”的操作来进行内外网的切换,甚是麻烦。为了解决这个问题,可以使用route命令来使得同时内外网都可用。2. rou转载 2014-05-30 14:08:51 · 2108 阅读 · 0 评论 -
C++异常抛出机制
在我几年前开始写《C++编码规范与指导》一文时,就已经规划着要加入这样一篇讨论 C++ 异常机制的文章了。没想到时隔几年以后才有机会把这个尾巴补完 :-)。还 是那句开场白:“在恰当的场合使用恰当的特性” 对每个称职的 C++ 程序员来说都是一个基本标准。想要做到这点,就必须要了解语言中每个特性的实现方式及其时空开销。异常处理由于涉及大量底层内容,向来是 C++ 各种高级机制中较难理解和透彻掌转载 2014-07-28 11:30:07 · 935 阅读 · 0 评论 -
有限状态机编程FSM
嵌入式系统中的状态机设计心得在使用iTRON类OS的嵌入式系统中,除了驱动程序以外,大多数模块也就是中间件和应用程序是以任务(TASK)的形式设计的。而iTRON类OS大多采用C语言实现,于是用状态机的方式实现功能模块成为了主要的设计方法。至于说面向对象,只要是稍微严谨一点的嵌入式系统,设计上要求程序完全覆盖所有的可能情况。程序不可能在紧急情况下抛出异常等待调试。同时由于对硬件和其原创 2014-07-10 14:17:28 · 1880 阅读 · 0 评论 -
C语言异常机制处理
C语言异常处理机制——为您的C程序添加异常处理1、什么是异常 异常一般指的是程序运行期(Run-Time)发生的非正常情况。 异常一般是不可预测的,如:内存不足、打开文件失败、范围溢出等。 UNIX 使用信号给出异常,并当发生异常时转跳到信号处理过程进行异常处理。DOS下的信号对比UNIX系统而言相对较少。转载 2014-07-28 11:34:56 · 580 阅读 · 0 评论 -
getline函数
getline函数编辑本词条缺少信息栏,补充相关内容使词条更完整,还能快速升级,赶紧来编辑吧!getline()函数会生成一个包含一串从输入流读入的字符的字符串,直到以下情况发生会导致生成的此字符串结束。1)到文件结束,2)遇到函数的定界符,3)输入达到最大限度。在函数遇到和结束定界符相等的字符时函数结束,同时函数抽出定界符,此种情况下该定界符既不被放回输入流,也不被放入要生成的字符串转载 2014-10-13 10:24:12 · 624 阅读 · 0 评论