- 博客(60)
- 资源 (120)
- 收藏
- 关注
原创 C/C++字符串处理函数汇总
void *memccpy (void *dest, const void *src, int c, size_t n);从src所指向的对象复制n个字符到dest所指向的对象中。如果复制过程中遇到了字符c则停止复制,返回指针指向dest中字符c的下一个位置;否则返回NULL。v
2011-07-29 15:26:38 862
原创 C/C++字符串和数字互换方案收集
▲1、C语言标准库函数atoi()等。函数名: atoi 功 能: 把字符串转换成整型数用 法: int atoi(const char *nptr); 程序例: #include int main(void) { int n; char *
2011-07-29 09:19:19 1901
原创 glib GMainLoop GMainContext GSource
//mainloop0.c #include GMainLoop* loop; int main(int argc, char* argv[]) { //g_thread_init是必需的,GMainLoop需要gthread库的支持。 if(g_thread_supported() == 0) g_threa
2011-07-28 08:37:16 2549
原创 c++ 时间类型详解 time_t
我们在编程中可能会经常用到时间,比如取得系统的时间(获取系统的年、月、日、时、分、秒,星期等),或者是隔一段时间去做某事,那么我们就用到一些时间函数。linux下存储时间常见的有两种存储方式,一个是从1970年到现在经过了多少秒,一个是用一个结构来分别存储年月日时分秒的。time
2011-07-27 14:08:39 106785 11
原创 各种算法 排序 查找 等等
代码行统计 ( Mon, 20 Apr 2009 13:24:09 +0800 ) Description: #find . -name *.c |xargs wc -l 802 ./lcec/src/Slcec_conf
2011-07-27 09:42:48 2331
原创 linux进程间通讯的几种方式的特点和优缺点,和适用场合。
1.# 管道( pipe ):管道是一种半双工的通信方式,数据只能单向流动,而且只能在具有亲缘关系的进程间使用。进程的亲缘关系通常是指父子进程关系。# 有名管道 (named pipe) : 有名管道也是半双工的通信方式,但是它允许无亲缘关系进程间的通信。# 信号量( semop
2011-07-27 09:40:39 17348 2
转载 各种排序算法全集
001#include 002#include 003struct node 004{ 005 int key; 006}r[20]; 007 008struct rnode 009{ 010 int key; 011 int point; 012}; 013
2011-07-26 10:48:45 1243
原创 linux 进程间的通信(五) 共享内存-2
共享内存(Shared Memory)共享内存区域是被多个进程共享的一部分物理内存。如果多个进程都把该内存区域映射到自己的虚拟地址空间,则这些进程就都可以直接访问该共享内存区域,从而 可以通过该区域进行通信。共享内存是进程间共享数据的一种最快的方法,一个进程向共享内存区域写入了数
2011-07-26 09:54:47 1308
转载 进程间通信_共享内存类_C++实现
忘记是从哪里整理的一个类了,但非常好用,可以将其放在自己的项目中实现不同进程间数据的通信。头文件: /****************************************************************** ++ File
2011-07-25 15:43:19 1132
翻译 linux命令行下svn的使用方法(完整版)
1、将文件checkout到本地目录svn checkout path(path是服务器上的目录)例如:svn checkout svn://192.168.1.1/pro/domain简写:svn co 2、往版本库中添加新的文件svn add file例如:svn
2011-07-25 13:55:15 1335
转载 Linux 的多线程编程的高效开发经验
背景Linux 平台上的多线程程序开发相对应其他平台(比如 Windows)的多线程 API 有一些细微和隐晦的差别。不注意这些 Linux 上的一些开发陷阱,常常会导致程序问题不穷,死锁不断。本文中我们从 5 个方面总结出 Linux 多线程编程上的问题,并分别引出相关改善的开
2011-07-25 13:29:32 584
转载 完整ASCII字符表
ASCII(美国信息交换标准编码)表字符ASCII代码字符ASCII代码字符ASCII代码二进制十进制十六进制二进制十进制十六进制二进制十进制十六进制回车ESC空格!"#$000110100110110100000010000101000100100011010010013273
2011-07-23 22:40:22 1506
转载 谈谈C++内存泄漏
对于一个c/c++程序员来说,内存泄漏是一个常见的也是令人头疼的问题。已经有许多技术被研究出来以应对这个问题,比如Smart Pointer,Garbage Collection等。Smart Pointer技术比较成熟,STL中已经包含支持Smart Pointer的class
2011-07-23 22:33:59 593
原创 C++内存泄漏跨平台的检测方法
内存泄漏对于C/C++程序员来说也可以算作是个永恒的话题了吧。在Windows下,MFC的一个很有用的功能就是能在程序运行结束时报告是否发生了内存泄漏。在Linux下,相对来说就没有那么容易使用的解决方案了:像mpatrol之类的现有工具,易用性、附加开销和性能都不是很理想。本文
2011-07-23 22:32:21 935
转载 float与double类型的内存分布,精度和范围
float与double类型的内存分布,精度和范围 内存分布:C/c++的浮点数据类型有float和double两种。float大小为4字节,内存中的存储方式如下:符号位(1bit)指数(8bit)尾数(23bit)double大小为8字节,内存中的存储方式如下:符号位(1bi
2011-07-23 17:17:46 1271
转载 eclipse debug (调试) 学习心得
1.Step Into (also F5) 跳入2.Step Over (also F6) 跳过3.Step Return (also F7) 执行完当前method,然后return跳出此method4.step Filter 逐步过滤 一直执行直到遇到未经过滤的位置或断点(设
2011-07-23 17:07:46 606
原创 接触和使用电脑的请对电脑作如下设置 保护眼睛
接触和使用电脑的人,却忽略了长时间使用电脑的时候,其实有个小窍门可以更好的保护自己的健康。这是我的忠告,为了保护您的眼睛,请对电脑作如下设置吧-- 【桌面】→ 【右键】→ 【属性】→ 【外观】→ 【高级】→ 项目选择【窗口】→ 【颜色1(L)】→ 【选择(其它)】将色调改为:85
2011-07-23 14:57:09 716
原创 Linux操作系统中的文件目录结构
Linux操作系统中的文件目录结构 “/”根目录部分有以下子目录: /usr 目录包含所有的命令、程序库、文档和其它文件。这些文件在正常操作中不会被改变的。这个目录也包含你的Linux发行版本的主要的应用程序,譬如,Netscape。 /var 目录包含在正常
2011-07-22 15:57:54 831
原创 Eclipse 常用快捷键
Eclipse 常用快捷键Eclipse的编辑功能非常强大,掌握了Eclipse快捷键功能,能够大大提高开发效率。Eclipse中有如下一些和编辑相关的快捷键。 1. 【ALT+/】 此快捷键为用户编辑的好帮手,能为用户提供内容的辅助,不要为记不全方法和属性名称犯愁,当
2011-07-22 15:18:09 533
转载 C语言之详解#ifdef等宏及妙用
C语言之详解#ifdef等宏及妙用 这几个宏是为了进行条件编译。一般情况下,源程序中所有的行都参加编译。但是有时希望对其中一部分内容只在满足一定条件才进行编译,也就是对一部分内容指定编译的条件,这就是“条件编译”。有时,希望当满足某条件时对一组语句进行编译,而当条件不满足
2011-07-13 23:13:45 631
原创 linux 通信socket
Socket Socket接口是TCP/IP网络的API,Socket接口定义了许多函数或例程,程序员可以用它们来开发TCP/IP网络上的应用程序。要学Internet上的TCP/IP网络编程,必须理解Socket接口。 Socket接口设计者最先是将接口放在Unix
2011-07-13 22:26:11 498
转载 Linux socket 编程中存在的五个隐患
前言: Socket API 是网络应用程序开发中实际应用的标准 API。尽管该 API 简单,但是 开发新手可能会经历一些常见的问题。本文识别一些最常见的隐患并向您显示如何避免它们。 相关文档:《linux socket 编程》 在 4.2 BSD UNIX
2011-07-13 11:18:08 533
转载 linux socket 编程
socket 目 录 socket socket() bind() connect() listen() accept() send() 和recv() sendto() 和recvfrom() close() 和shutdown() getpeername() getho
2011-07-13 11:16:39 448
转载 struct sockaddr和struct sockaddr_in和struct in_addr
最近在看网络编程部分内容,刚开始接触结构体struct sockaddr和struct sockaddr_in的时候,极其迷惑,在网上翻了不少帖子,慢慢有那么点清晰了。呵呵,现在结合一篇网友的文章,对这两个结构体进行解读。在linux环境下,结构体struct sockaddr在
2011-07-13 10:37:55 1587
转载 dup2()&&dup()
相信大部分在Unix/Linux下编程的程序员手头上都有《Unix环境高级编程》(APUE)这本超级经典巨著。作者在该书中讲解dup/dup2之前曾经讲过“文件共享”,这对理解dup/dup2还是很有帮助的。这里做简单摘录以备在后面的分析中使用:Stevens said:(1)
2011-07-13 09:32:22 553
原创 linux 进程间的通信(五) 共享内存-1
采用共享内存通信的一个显而易见的好处是效率高,因为进程可以直接读写内存,而不需要任何数据的拷贝。对于像管道和消息队列等通信方式,则需要在内核和用户空间进行四次的数据拷贝,而共享内存则只拷贝两次数据[1]:一次从输入文件到共享内存区,另一次从共享内存区到输出文件。实际上,进程之间在
2011-07-12 21:51:48 894
转载 linux 进程间的通信(四)信号量
在这一章,我们将会讨论Unix发行版AT&T系统V.2所引入的进程通信工具集合。因为这些程序出现在相关的发行版本中并且具有类似的编程接口,他们通常被称之为IPC程序,或是更为通常的System V IPC。正如我们已经了解到的,他们绝不是进程之间通信的唯一方法,但是System
2011-07-12 21:39:10 839
转载 Linux环境进程间通信(三):消息队列
消息队列(也叫做报文队列)能够克服早期unix通信机制的一些缺点。作为早期unix通信机制之一的信号能够传送的信息量有限,后来虽然POSIX 1003.1b在信号的实时性方面作了拓广,使得信号在传递信息量方面有了相当程度的改进,但是信号这种通信方式更像"即时"的通信方式,它要求接
2011-07-12 17:23:33 599
转载 冒泡排序算法
冒泡排序算法也是一种简单的排序算法。它的基本思想是把相邻的元素两两比较,把大的往下层,比较完一趟后,就可以把最大的元素层到最下面。之后再对其它元素进行重复操作,直至全部有序。例如有一个序列data[1..n],把data[1]和data[2]比较,如果data[1]比较大,就交换
2011-07-12 17:04:29 623
原创 选择排序的算法
选择排序的算法是,对一个数据序列data[m..n],选择出一个最小的和data[m]交换。这样经过n-1次选择,数据序列将会变成有序。即第一次从data[1..n]选择一个最小的,放到data[1]这个位置,第二次从data[2..n]选择出一个最小的,放到data[2]这个位
2011-07-12 17:03:49 616
转载 快速排序算法
快速排序算法是对冒泡排序算法的改进。它的基本思想是,通过一趟排序将序列分成两部分,其中一部分记录均比另一部分记录的值小。再分别对这两部分序列继续快速排序,以达到整个序列的有序。 在具体实现方法上是对序列data[s..t],以data[s]作为枢纽重新排列,把比data[
2011-07-12 17:03:20 642
转载 直接插入排序法
直接插入排序法是一种简单的排序方法,它的基本思想就是把一个元素按升序或降序插入已经有序的一个序列里面,插入后保持序列的有序。假设有序列data[1..n],则将data[2]插入data[1..1]中,将data[3]插入data[1..2]中,将data[4]插入data[1.
2011-07-12 17:02:41 2136
转载 二分查找
二分查找法是算法课必讲的查找算法之一,它的理论学计算机的都知道。离开学校多年,很多东西都忘光了,如今重新复习算法,顺便整理整理,也作为学习的笔记。//在数组data中查找值为key的元素,找到返回下标(zero based),否则返回-1templatetypename T>in
2011-07-12 17:01:49 722
转载 进程间的通信(二)命名管道fifo
在linux下我们先通过一个实例来说明一下mkfifo 的作用, 然后再看mkfifo 的使用详解# mkfifo myfifo# pingedu.cn >> myfifo 另开一个终端:# cat myfifo看到效果了吧mkfifo 命令用途制作先进先出(FIFO)特别文件。
2011-07-12 15:28:58 2971 1
转载 进程间的通信(一)pipe通道
linux 一切都是文件的概念实在很强大。pipe也是一种文件。linux pipe系统调用原型#include int pipe(int fd[2]); //该函数参数为一个长度为2的整型数组,是两个文件描述符。 //返回值,0为调用成功,-1为调用失败。
2011-07-12 14:01:17 3026
转载 wait()
进程一旦调用了 wait,就立即阻塞自己,由wait自动分析是否当前进程的某个子进程已经退出,如果让它找到了这样一个已经变成僵尸的子进程,wait 就会收集这个子进程的信息, 并把它彻底销毁后返回;如果没有找到这样一个子进程,wait就会一直阻塞在这里,直到有一个出现为止。 wa
2011-07-12 09:27:52 1710
转载 关于Segmentation fault(段错误)探究
在rhel5.4上用GCC编程好长时间了(其实也就1个多月!),经常遇到这种情况:一个程序编译没有任何问题,当执行./a.out的时候出现:“Segmentation fault(段错误)”,下面就是最近的一次情况(目的只是测试strcat函数): #include 2
2011-07-11 15:49:46 52207 2
转载 fork(2)&&vfork
创建一个新进程的方法只有由某个已存在的进程调用fork()或vfork(),当然某些进程如init等是作为系统启动的一部风而被内核创建的。1.fork函数介绍#include #include pid_t fork (void );正确返回:父进程中返回子进程的进程号;子进程中返
2011-07-11 15:43:29 965
转载 fork()两次不同返回值的实现
【NOTE4】首先必须有一点要清楚,函数的返回值是储存在寄存器eax中的。其次,当fork返回时,新进程会返回0是因为在初始化任务结构时,将eax设置为0;在fork中,把子进程加入到可运行的队列中,由进程调度程序在适当的时机调度运行。也就是从此时开始,当前进程分裂为两个并发的进
2011-07-11 15:16:42 928
转载 Linux 进程控制—— exec“金蝉脱壳”
说是exec系统调用,实际上在Linux中,并不存在一个exec()的函数形式,exec指的是一组函数,一共有6个,分别是:#include int execl(const char *path, const char *arg, ...);int execlp(const char *file, const char *arg, ...);int execle(const c
2011-07-11 15:14:45 732
[Ruby完全自学手册].邓蔚.扫描版.pdf
2014-05-22
XP-日文输入法恢复补丁
2013-09-18
QT资料汇总
2013-08-13
PNGGauntlet-专用 PNG优化软件,无损压缩PNG图片
2013-05-10
html+js+css架构设计
2013-05-08
驾照理论考试速成2013(汽车驾驶员模拟考试及练习软件)最新版
2013-01-26
cocoa基本原理指南和object c第二版
2012-11-06
Learn Objective-C(zh)(v2)
2012-11-06
视频转换器
2012-10-22
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人