C
道al
这个作者很懒,什么都没留下…
展开
-
ftok函数
系统建立IPC通讯(如消息队列、共享内存时)必须指定一个ID值。通常情况下,该id值通过ftok函数得到。ftok原型如下:key_t ftok( char * fname, int id )fname就时你指定的文件名(该文件必须是存在而且可以访问的),id是子序号,虽然为int,但是只有8个比特被使用(0-255)。当成功执行的时候,一个key_t值将会被返回,否则 -1 被返转载 2013-11-19 14:24:21 · 860 阅读 · 0 评论 -
linux静态链接库与动态链接库详解
一顺便说说了哦 通常情况下,对函数库的链接是放在编译时期(compile time)完成的.所有相关的对象文件(object file)与牵涉到的函数库(library)被链接合成一个可执行文件(executable file).程序在运行时,与函数库再无瓜葛,因为所有需要的函数已拷贝到自己门下。所以这些函数库被成为静态库(static libaray),通常文件名为"libxxx.转载 2013-12-13 16:30:22 · 496 阅读 · 0 评论 -
open_clientfd 和 open_listenfd函数
转载出处http://blog.chinaunix.net/uid-12076195-id-229341.htmlopen_clientfd函数我们发现将socket和connect封装成一个叫做open_clientfd的函数是很方便的,客户端可以用它来和服务器建立连接。int open_clientfd(char * hostname, int port);转载 2013-12-16 16:28:28 · 3820 阅读 · 0 评论 -
C++中的delete和delete[]的区别
一直对C++中的delete和delete[]的区别不甚了解,今天遇到了,上网查了一下,得出了结论。做个备份,以免丢失。 C++告诉我们在回收用 new 分配的单个对象的内存空间的时候用 delete,回收用 new[] 分配的一组对象的内存空间的时候用 delete[]。关于 new[] 和 delete[],其中又分为两种情况:(1) 为基本数据类型分配和回收空间;(2转载 2014-03-22 11:56:55 · 244 阅读 · 0 评论 -
C语言stat()函数:获取文件状态
C语言stat()函数:获取文件状态相关函数:fstat, lstat, chmod, chown, readlink, utime头文件:#include #include 定义函数:int stat(const char * file_name, struct stat *buf);函数说明:stat()用来将参数file_name 所指的文件状态,转载 2014-11-11 15:04:55 · 10396 阅读 · 0 评论 -
Linux_C之文件操作
Linux_C之文件操作转载来源:wite系统调用:系统调用write的作用是,把缓冲区buf的前nbytes个字节写入与文件描述fildes关联的文件中。它的返回实际写入的字节数,如果文件描述符有错或者底层的设置驱动程序对数据快长度比较敏感,该返回值可能会小于nbytes。如果这个函数的返回值为0,就表示未写出任何数据。如果是-1,就表示在write条用中出现了错误,对应的错转载 2014-11-11 16:27:10 · 373 阅读 · 0 评论 -
fopen 函数
fopen fopen(打开文件) 相关函数 open,fclose 表头文件 #includestdio.h> 定义函数 FILE * fopen(const char * path,const char * mode); 函数说明 参数path字符串包含欲打开的文件路径及文件名,参数mode字符串则代表着流形态。 mode有下列几种形态字符转载 2014-11-11 16:47:51 · 2238 阅读 · 0 评论 -
sysinfo函数使用方法
sysinfo函数使用方法2012-04-13 09:08:20 分类: 原文地址:sysinfo函数使用方法 作者:iceway介绍Linux中,可以用sysinfo来获取系统相关信息。正文Linux中,sysinfo是用来获取系统相关信息的结构体。函数声明和原型:#include int sysinfo(struct sysinf转载 2014-11-19 14:13:27 · 629 阅读 · 0 评论 -
Linux线程-互斥锁pthread_mutex_t
Linux线程-互斥锁pthread_mutex_t 在线程实际运行过程中,我们经常需要多个线程保持同步。这时可以用互斥锁来完成任务;互斥锁的使用过程中,主要有pthread_mutex_init,pthread_mutex_destory,pthread_mutex_lock,pthread_mutex_unlock这几个函数以完成锁的初始化,锁的销毁,上锁和释放锁操作。转载 2014-11-20 13:49:02 · 375 阅读 · 0 评论 -
互斥锁pthread_mutex_t的使用(转载)
互斥锁pthread_mutex_t的使用(转载) 1. 互斥锁创建 有两种方法创建互斥锁,静态方式和动态方式。POSIX定义了一个宏PTHREAD_MUTEX_INITIALIZER来静态初始化互斥锁,方法如下: pthread_mutex_t mutex=PTHREAD_MUTEX_INITIALIZER;转载 2014-11-20 13:47:10 · 689 阅读 · 0 评论 -
kruskal克鲁斯卡尔算法
转自 http://blog.chinaunix.net/uid-26602509-id-3200422.html给定一个带权的无向连通图,如何选取一棵生成树,使树上所有边上权的总和为最小,这叫最小生成树.求最小生成树的算法(1) 克鲁斯卡尔算法图的存贮结构采用边集数组,且权值相等的边在数组中排列次序可以是任意的.该方法对于边相对比较多的不是很实用,浪费时间.方法:转载 2013-11-29 14:38:01 · 822 阅读 · 0 评论 -
求最小生成树,普里姆(Prim)算法
1、 相关概念1)生成树 一个连通图的生成树是它的极小连通子图,在n个顶点的情形下,有n-1条边。生成树是对连通图而言的,是连同图的极小连通子图,包含图中的所有顶点,有且仅有n-1条边。非连通图的生成树则组成一个生成森林;若图中有n个顶点,m个连通分量,则生成森林中有n-m条边。2)和树的遍历相似,若从图中某顶点出发访遍图中每个顶点,且每个顶点仅访问一次,此过程称为图的遍历,转载 2013-11-29 14:35:35 · 1228 阅读 · 0 评论 -
堆排序
转载出处http://www.cnblogs.com/dolphin0520/archive/2011/10/06/2199741.html 堆排序是利用堆的性质进行的一种选择排序。下面先讨论一下堆。1.堆 堆实际上是一棵完全二叉树,其任何一非叶节点满足性质: Key[i]=Key[2i+1]&&key>=key[2i+2] 即任何一非叶节点的关键字不大于或者转载 2013-11-29 16:06:40 · 316 阅读 · 0 评论 -
C语言中动态分配数组
如何动态的定义及使用数组呢?记得一般用数组的时候都是先指定大小的。当时问老师,老师说是不可以的。后来又问了一位教C++的老师,他告诉我在C++里用new可以做到,一直不用C++,所以也不明白。今天在逛论坛时终于找到了C语言中的用法(看原贴): int *a; int N; scanf("%d", &N); a = (int *) malloc(N *转载 2013-11-05 15:09:22 · 694 阅读 · 0 评论 -
Linux下的多线程编程
Linux下的多线程编程 作者: 姚继锋 (2001-08-11 09:05:00) 1 引言 线程(thread)技 术早在60年代就被提出,但真正应用多线程到 *** 作系统中去,是在80年代中期,solaris是这方面的佼佼者。传统的Unix也支持线程的概念,但是在一个进程(process)中只允许有一个线 程,这样多线程就意味着多进程。现在,多线程技术已经被许多 *** 作系转载 2013-11-19 16:58:57 · 705 阅读 · 0 评论 -
sscanf()函数用法
相关函数 scanf,fscanf表头文件: #include 定义函数: int sscanf (const char *str, const char * format,........);函数说明:sscanf()会将参数str的字符串根据参数format字符串来转换并格式化数据。格式转换形式请参考scanf()。转换后的结果存于对应的参数内。返回值 :成功则转载 2013-11-11 15:01:10 · 481 阅读 · 0 评论 -
Linux网络编程实例详解
Linux网络编程实例详解本文介绍了在Linux环境下的socket编程常用函数用法及socket编程的一般规则和客户/服务器模型的编程应注意的事项和常遇问题的解决方法,并举了具体代 码实例。要理解本文所谈的技术问题需要读者具有一定C语言的编程经验和TCP/IP方面的基本知识。要实习本文的示例,需要Linux下的gcc编译平台支持。 Socket定义 网络的Sock转载 2013-11-25 14:48:09 · 664 阅读 · 0 评论 -
linux下OCI基础:配置Instant Client连oracle数据库
前段时间有位兄弟在我博客上找到一篇我以前写的用OCI链接oracle数据库配置方法的帖子,因为只是随手记录,那篇文章里面很多东西都没交代清楚,我看得懂人家看起来就云里雾里。oracle声名在外又不是盖的,而那位老兄被上面逼得很急,加我qq问了我三四天总算才基本搞定OCI链接oralce数据库。 也不能怪那个老兄,不像用C连mysql很简单,官方文档汉化很全很详细,市面上销售的mysql书转载 2013-11-28 09:46:12 · 932 阅读 · 0 评论 -
OCI编程
最近公司做的一个项目,要处理海量数据,数据是存放在Oracle数据库里,刚开始用的是ADO访问,速度极慢,后来改用Proc,效果还是不如人意,最后才用的OCI。因为之前对OCI不了解过,经2个星期的努力,终于完成了对Oracle数据库中的海量数据的读取与插入,速度的确很快,测试读取七千五百万条数据连一分钟都不到。之前用Proc,没用OCI,是因为Proc容易学,OCI相对难学些,说起难学,转载 2013-11-28 10:08:46 · 697 阅读 · 0 评论 -
linux下应用oci编程示例
本示例程序基于对oci库方法的简单的封装,若要实验本程序,要求有linux下的oci库libclntsh.a或libclntsh.so。下面是对其简单的封装:#include #include "oratypes.h"#include "ocidfn.h"#ifdef __STDC__#include "ociapr.h"#else#inclu转载 2013-11-28 09:50:24 · 1233 阅读 · 0 评论 -
一个OCI程序小例子
#include #include #include #include static OCIEnv *p_env;static OCIError *p_err;static OCISvcCtx *p_svc;static OCIStmt *p_sql;static OCIDefine转载 2013-11-28 10:00:06 · 683 阅读 · 0 评论 -
迪杰斯特拉算法
迪杰斯特拉算法。 1.迪杰斯特拉本人: 艾兹格·迪科斯彻(Edsger Wybe Dijkstra,1930.05.11 - 2002.08.06),伟大的计算机科学家,毕业于荷兰的莱顿大学,1972年获得图灵奖,之后,他还获得过1974年AFIPS Harry Goode Memorial Award、1989年ACM SIGCSE计算机科学教育教学杰出转载 2013-11-29 14:40:47 · 670 阅读 · 0 评论 -
哈夫曼编码
转载涞源chengyaogen.blog.chinaunix.net 前面一节我们知道了,怎样去创建一个哈夫曼树,这一节我们来看看哈夫曼编码。思想:得到哈夫曼树后,自顶向下按路径编号,指向左节点的边编号0,指向右节点的边编号1,从根到叶节点的所有边上的0和1连接起来,就是叶子节点中字符的哈夫曼编码。下图体现了哈夫曼编码的过程:转载 2013-11-29 09:35:40 · 493 阅读 · 0 评论 -
关于strcasestr的问题
关于strcasestr的问题使用strcasestr,说没有进行显式的类型转换就将int转换成pointer(我用一个char×pointer接 收结果)类型。在实在找不到自己的错误的情况下,我到网络开始转悠,发现很多老外也遇到这个问题。原来是一些老的strcasestr是non- standard lib的一本分,因此使用的时候需要将GNU extension开关打转载 2014-11-28 19:24:07 · 1266 阅读 · 0 评论