- 博客(15)
- 资源 (7)
- 收藏
- 关注
转载 linux 下动态链接库的创建与使用——dlopen,dlsym
一、引言 通常情况下,对函数库的链接是放在编译时期(compile time)完成的。所有相关的对象文件(object file)与牵涉到的函数库(library)被链接合成一个可执行文件(executable file)。程序在运行时,与函数库再无瓜葛,因为所有需要的函数已拷贝到自己门下。所以这些函数库被成为静态库(static libaray),通常文件名为“libxx
2015-10-13 22:25:34
5348
转载 PHP在客户端产生验证对话框
if (!isset($PHP_AUTH_USER)) { header('WWW-Authenticate: Basic realm="My Private Stuff"'); header('HTTP/1.0 401 Unauthorized'); echo 'Authorization Required.'; exit; } else { echo "You ha
2015-08-20 23:01:13
381
转载 GCC命令大全
GCC 选项 GCC 有超过100个的编译选项可用. 这些选项中的许多你可能永远都不会用到, 但一些主要的选项将会频繁用到. 很多的 GCC 选项包括一个以上的字符.因此你必须为每个选项指定各自的连字符, 并且就象大多数 Linux 命令一样你不能在一个单独的连字符后跟一组选项. 例如, 下面的两个命令是不同的: gcc -p -g test.c gcc -pg tes
2014-03-01 10:00:43
843
转载 线程ID 与 线程句柄 区别
以下几点是一些总结:●CreateThread() API 用于创建线程。 API 返回同时线程句柄和线程标识符 (ID)。 线程句柄有完全访问权创建线程对象。 运行线程时线程 ID 唯一标识线程在系统级别。●ID是在Windows系统范围内唯一标示Thread的。 ●Handle是用来操作Thread的,可以有多个,每个HANDLE可以有不同的操作权限,在不同进程OpenThread
2009-08-10 14:50:00
923
原创 Peercast分析报告
zhengchunhao的专栏登录 注册 欢迎 zhengchunhao! 退出 我的博客 配置 写文章 文章管理 博客首页 全站 当前博客 空间 博客 好友 相册 留言 用户操作 [发私信] [加为好友] kaneID:zhengchunhao 修改头像共59次访问,排名2万外,好友0人,关注者0人。 [编辑我的资料] zhengchunhao的
2009-08-09 12:44:00
521
原创 TCP超时重传机制
2008-06-23 11:00TCP协议在能够发送数据之前就建立起了“连接”。要实现这个连接,启动TCP连接的那一方首先将发送一个SYN数据包。这只是一个不包含数据的数据包, 然后,打开SYN标记。如果另一方同时在它收到SYN标记的端口通话,它将发回一个SYN+ACK:SYN和ACK标志位都被打开,并将ACK(确认)编 号字段设定为刚收到的那个数据包的顺序号字段的值。
2009-08-08 15:19:00
2291
原创 peercast topology graph
说明: 一、说明了程序的主要函数的启动顺序和过程。 二、级别低的函数由级别高的函数调用,函数后面的说明不包括下一级别函数(因为在下一级别会说到...)。 三、读者可以继续扩充文档 比如10.1 被9调用 10.1.1 被10.1函数调用函数1 10.1.2 被10.1函数调用函数2
2009-08-07 16:35:00
404
转载 C++中异常处理的语法 try catch throw
C++中异常处理的语法。 关键字 1、 try 2、 catch 3、 throw 其中关键字try表示定义一个受到监控、受到保护的程序代码块;关键字catch与try遥相呼应,定义当try block(受监控的程序块)出现异常时,错误处理的程序模块,并且每个catch block都带一个参数(类似于函数定义时的数那样),这个
2009-08-03 09:53:00
1483
转载 最常见的20种VC++编译错误信息集合
时间:2007-12-23 09:59:13 来源: 作者: 点击量:174 [繁體中文 ]1、fatal error C1010: unexpected end of file while looking for precompiled header directive。 寻找预编译头文件路径时遇到了不该遇到的文件尾。(一般是没有#include
2009-08-03 09:16:00
363
转载 linux 多线程编程(转)
1 引言 线程(thread)技术早在60年代就被提出,但真正应用多线程到操作系统中去,是在80年代中期,solaris是这方面的佼佼者。传统的Unix也支持线程的概念,但是在一个进程(process)中只允许有一个线程,这样多线程就意味着多进程。现在,多线程技术已经被许多操作系统所支持,包括Windows/NT,当然,也包括Linux。 为什么有了进程的概念后,还要再引入线程呢?使用多线程到
2009-07-16 17:10:00
404
转载 linux多线程的总结(pthread用法)
#include int pthread_create(pthread_t *restrict tidp,const pthread_attr_t *restrict attr,void *(*start_rtn)(void),void *restrict arg);Returns: 0 if OK, error number on failure第一个参数为指向线程标识符的指针。第二个参数用来设
2009-07-16 17:02:00
506
转载 VC中创建新线程 (转)
VC中创建新线程 收藏 author: scruffybear release time: 08/01/2007company: Watchdata 如有转载,请注明出处,并保持文章的完整性,谢谢! 前两个月写了一个读写卡片中文件的一个小程序,对卡片中的一个文件进行读写十万次,以检测卡片读写文件的寿命是否达到要求。用VC.net进行编写,由于读写卡片的驱动已
2009-07-16 16:52:00
2005
原创 (转)排序算法小结
排序算法小结 排序小结 排序算法是一种基本并且常用的算法。由于实际工作中处理的数量巨大,所以排序算法对算法本身的速度要求很高。 而一般我们所谓的算法的性能主要是指算法的复杂度,一般用O方法来表示。在后面我将给出详细的说明。 对于排序的算法我想先做一点简单的介绍,也是给这篇文章理一个提纲。 我将按照算法的复杂度,从简单到难来分析算法。 第一部分是简单排序算法,后
2009-06-27 16:59:00
421
原创 typedef用法小结
Typedef 声明有助于创建平台无关类型,甚至能隐藏复杂和难以理解的语法。不管怎样,使用 typedef 能为代码带来意想不到的好处,通过本文你可以学习用 typedef 避免缺欠,从而使代码更健壮。 typedef 声明,简称 typedef,为现有类型创建一个新的名字。比如人们常常使用 typedef 来编写更美观和可读的代码。所谓美观,意指 typedef 能隐藏笨拙的语法构造以及平台相关
2009-06-23 19:17:00
373
转载 time.h
http://managedog.blogbus.com/logs/19980096.html 本文从介绍基础概念入手,探讨了在C/C++中对日期和时间操作所用到的数据结构和函数,并对计时、时间的获取、时间的计算和显示格式等方面进行了阐述。本文还通过大量的实例向你展示了time.h头文件中声明的各种函数和数据结构的详细使用方法。 关键字:UTC(世界标准时间),Calendar Time
2009-06-15 11:31:00
402
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人