![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C/C++
地中海蒲公英
这个作者很懒,什么都没留下…
展开
-
mmap详解
共享内存可以说是最有用的进程间通信方式,也是最快的IPC形式, 因为进程可以直接读写内存,而不需要任何数据的拷贝。对于像管道和消息队列等通信方式,则需要在内核和用户空间进行四次的数据拷贝,而共享内存则只拷贝两次数据: 一次从输入文件到共享内存区,另一次从共享内存区到输出文件。实际上,进程之间在共享内存时,并不总是读写少量数据后就解除映射,有新的通信时,再重新建立共享内存区域转载 2014-03-31 11:46:53 · 923 阅读 · 0 评论 -
C/C++第三方类库
1、libconfig (官网:http://www.hyperrealm.com/libconfig/)原创 2014-06-10 17:41:14 · 1046 阅读 · 0 评论 -
CodeBlocks 使用经验谈
Linux下优秀的C/C++ IDE 屈指可数——我只看中了两个:anjuta,Codeblocks。因为anjuta在非ubuntu上安装比较麻烦,而且要求系统比较新还不支持windows平台。所以,大多情况下都是以codeblocks为主。现分享一些codeblocks的使用经验。 以最新的CodeBlocks 10.05为例。一、自定义自动补全 1、依次打开 Projec转载 2014-07-31 16:47:54 · 1631 阅读 · 0 评论 -
C语言学习笔记(1)— 结构体注意点
1、结构标记是可选的,用于结构命名;2、原创 2014-07-16 05:41:23 · 706 阅读 · 0 评论 -
初探GF-Complete(伽罗瓦运算库)
GF-Complete 是一个开源、综合性的伽罗瓦运算库,相应的文章发表在FAST13 中(见参考文献【1】)。作者是大名鼎鼎的Jim Plank 教授,作为开源纠错码库Jerasure 的开发者,在这个伽罗瓦运算库中创新地采用了SSE 指令集来加速纠错码运算的瓶颈---伽罗瓦运算中的乘法运算,并采用了其他运算方法,综合得到GF-Complete。该库可在Plank 主页中下载得到,下面就GF-C转载 2014-06-19 14:00:16 · 3987 阅读 · 0 评论 -
linux 中 open和fopen的区别
open和fopen的区别: 主要区别是涉及到系统,而不是缓冲。带f的是标准IO,代码可以移植。 不带f只能在UNIX/LINUX系统调用。 open一个是整数,fopen一个是指针(FILE *)。 二者区别大致可以总结为以下几点: 1,fread是带缓冲的,read不带缓冲. 2,fopen是标准c里定义的,open是POSIX中定义的. 3,fread可以读一个结构.转载 2014-07-09 10:38:09 · 588 阅读 · 0 评论 -
select()函数以及FD_ZERO、FD_SET、FD_CLR、FD_ISSET
从别人的博客中转载过来了这一篇文章,经过重新编辑排版之后展现于此,做一个知识点保存与学习。 select函数用于在非阻塞中,当一个套接字或一组套接字有信号时通知你,系统提供select函数来实现多路复用输入/输出模型,原型:int select(int maxfd,fd_set *rdset,fd_set *wrset,fd_set *exset,struct timeval *ti转载 2014-06-17 12:24:53 · 503 阅读 · 0 评论 -
setsockopt中参数之SO_REUSEADDR的意义
1、一般来说,一个端口释放后会等待两分钟之后才能再被使用,SO_REUSEADDR是让端口释放后立即就可以被再次使用。 SO_REUSEADDR用于对TCP套接字处于TIME_WAIT状态下的socket,才可以重复绑定使用。server程序总是应该在调用bind()之前设置SO_REUSEADDR套接字选项。TCP,先调用close()的一方会进入TIME_WAIT状态转载 2014-06-16 11:33:46 · 504 阅读 · 0 评论 -
UNIX/Linux C 程序员需要掌握的七种武器
时间2014-06-24 07:54:01 并发编程网 原文 http://ifeve.com/unixlinux-c-7/我是一名普通的软件工程师,不是什么技术大牛。这篇文章所提到的“七种武器”只是我这些年工作经验的一点体会和感悟,如果有错误的地方,还请大家指正。(一)C语言作为一名C程序员,熟练掌握C语言是最基本的一项技能。关于如何学好C语言,以及C语言话题转载 2014-06-24 09:25:56 · 637 阅读 · 0 评论 -
我是这样学习Linux下C语言编程的-RPC远程调用编程
在查看libc6-dev软件包提供的工具(用 dpkg -L libc6-dev 命令)的时候,发现此软件包提供了一个有用的工具rpcgen命令。通过rpcgen的man手册看到此工具的作用是把RPC源程序编译成C语言源程序,从而轻松实现远程过程调用。下面的例子程序的作用是客户端程序取中心服务器上时间的,编程过程如下:先编写一个 “ RPC 语言 ” ( RPC Language (转载 2014-05-19 14:33:32 · 852 阅读 · 0 评论 -
Linux GCC常用命令
1简介2简单编译2.1预处理2.2编译为汇编代码(Compilation)2.3汇编(Assembly)2.4连接(Linking)3多个程序文件的编译4检错5库文件连接5.1编译成可执行文件5.2链接5.3强制链接时使用静态链接库1简介GCC 的意思也只是 GNU C Compiler 而已。经过转载 2014-05-19 10:02:02 · 425 阅读 · 0 评论 -
内存映射文件(专门读写大文件)
转:引言 文件操作是应用程序最为基本的功能之一,Win32 API和MFC均提供有支持文件处理的函数和类,常用的有Win32 API的CreateFile()、WriteFile()、ReadFile()和MFC提供的CFile类等。一般来说,以上这些函数可以满足大多数场合的要求,但是对于某些特殊应用领域所需要的动辄几十GB、几百GB、乃至几TB的海量存储,再以通常的文件转载 2014-04-10 16:28:36 · 760 阅读 · 0 评论 -
Linux中_ALIGN宏背后的原理(ZZ) -- 内存对齐
1. 引子 int a; int size = 8; 1000(bin) 计算a以size为倍数的下界数: 就让这个数(要计算的这个数)表示成二进制时,最后三位为0就可以达到这个目标。只要下面这个数与a进行"与运算"就可以了: 11111111 11111111 11111111 11111000 而上面这个数实际下转载 2014-04-09 16:41:42 · 756 阅读 · 0 评论 -
I/O read()/write()/pread()/pwrite()/fread()/fwrite 等
引自:http://blog.chinaunix.net/u2/66321/index.html 在Linux和UNIX中有很多的输入输出函数,有时真是让想跟它攀点关系的菜鸟们束手无策。先来看看都有哪些函数,通过解析与总结,看看能不能让大家能这些函数有个理性的认识,哦,原来是这么回事,也就算我没白花这份闲。内核文件I/O->标准库I/O->高级I/O->IPC中1.转载 2014-04-02 17:33:13 · 1156 阅读 · 0 评论 -
C 语言中的指针和内存泄漏
原文出处: IBM DeveloperWorks 欢迎分享原创到伯乐头条引言对于任何使用 C 语言的人,如果问他们 C 语言的最大烦恼是什么,其中许多人可能会回答说是指针和内存泄漏。这些的确是消耗了开发人员大多数调试时间的事项。指针和内存泄漏对某些开发人员来说似乎令人畏惧,但是一旦您了解了指针及其关联内存操作的基础,它们就是您在 C 语言中拥有的最强大工具。本文将与您分转载 2014-12-05 11:27:49 · 497 阅读 · 0 评论