12 2013 档案

Linux C Socket编程原理及简单实例
摘要:部分转自:http://goodcandle.cnblogs.com/archive/2005/12/10/294652.aspx1. 什么是TCP/IP、UDP?2. Socket在哪里呢?3. Socket是什么呢?4. 有很多的框架,为什么还在从Socket开始?5. Linux C Socket简单示例1.什么是TCP/IP、UDP? TCP/IP(Transmission Control Protocol/Internet Protocol)即传输控制协议/网间协议,是一个工业标准的协议集,它是为广域网(WANs)设计的。 UDP(User Data Protocol,用户数据报.. 阅读全文

posted @ 2013-12-29 16:46 旭东的博客 阅读(81040) 评论(10) 推荐(14) 编辑

使用递归哈希进行精确模式串匹配
摘要:字符串处理是每个编程者都必须掌握的知识,主要看看字符串的搜索查找功能。现在的编程语言如C/C++/Java等都提供了对字符串子串的查找功能,具体如下:(1)C:strchr,strstr。(2)C++:find,rfind,find_first_of,find_first_not_of等等。(3)Java:indexOf,lastIndexOf等。下面说明一种使用递归哈希进行字符串搜索/查找的方法:(1)递归哈希 维护一个窗口,大小为n。如下公式即为起始位置为x,长度为n的窗口的哈希数值。 递归哈希主要体现在哈希数值的更新操作,减少重复的计算。下面是递归哈希的更新公式。 因为窗口[x,x... 阅读全文

posted @ 2013-12-24 09:07 旭东的博客 阅读(2289) 评论(2) 推荐(0) 编辑

哈夫曼编码 哈夫曼树
摘要:1.定义 哈夫曼编码主要用于数据压缩。 哈夫曼编码是一种可变长编码。该编码将出现频率高的字符,使用短编码;将出现频率低的字符,使用长编码。 变长编码的主要问题是,必须实现非前缀编码,即在一个字符集中,任何一个字符的编码都不是另一个字符编码的前缀。如:0、10就是非前缀编码,而0、01不是非前缀编码。2.哈夫曼树的构造 按照字符出现的频率,总是选择当前具有较小频率的两个节点,组合为一个新的节点,循环此过程知道只剩下一个节点为止。 对于5个字符A、B、C、D、E,频率分别用1、5、7、9、6表示,则构造树的过程如下: 上面过程对应的哈夫曼树为: 假设规定左边为0,右边为1,则变长... 阅读全文

posted @ 2013-12-23 15:57 旭东的博客 阅读(1972) 评论(1) 推荐(0) 编辑

二分查找 查找关键字的范围
摘要:二分查找又称折半查找,优点是比较次数少,查找速度快,平均性能好;其缺点是要求待查表为有序表,且插入删除困难。二分查找对有序表查找的时间复杂度为lg(n)。一般的二分查找只是查找给定元素在数组中的位置或者是有存在给定的元素。下面的程序实现的功能是: 在顺序保存、有序的数组中查找给定关键字K的范围。程序: 1 #include 2 int values[]={1,2,3,5,7,7,7,7,9,10,10,10,12}; 3 4 /* 5 @low:查找范围的起始坐标 6 @high:查找范围的结束坐标 7 @key:待查找的关键字 8 @tag:查找标记。tag=0,表示查找关键字的最小坐... 阅读全文

posted @ 2013-12-19 14:48 旭东的博客 阅读(2818) 评论(0) 推荐(0) 编辑

linux C 多线程/线程池编程 同步实例
摘要:在多线程、线程池编程中经常会遇到同步的问题。1.创建线程 函数原型:int pthread_create(pthread_t *thread, const pthread_attr_t *attr,void*(*start_routine) (void *), void *arg); 参数:thread指向线程id的指针;attr指向线程属性的指针;第三个为执行的方法的函数指针;arg指向给方法传递的参数的指针。2.互斥变量 (1)互斥变量 pthread_mutex_t (2)互斥变量锁定 int pthread_mutex_lock(pthread_mutex_t *mutex... 阅读全文

posted @ 2013-12-18 19:22 旭东的博客 阅读(2694) 评论(0) 推荐(1) 编辑

C语言数字与字符串转换 atoi()函数、itoa()函数、sprintf()函数
摘要:在编程中经常需要用到数字与字符串的转换,下面就总结一下。1.atoi() C/C++标准库函数,用于字符串到整数的转换。 函数原型:int atoi (const char * str);1 #include 2 #include 3 int main ()4 {5 char *numchars="1234";6 int num=atoi(numchars);7 printf("%d\n",num);8 return 0;9 } 另外C/C++还提供的标准库函数有: (1)long int atol ( const char * str ); (2... 阅读全文

posted @ 2013-12-18 11:14 旭东的博客 阅读(11954) 评论(0) 推荐(0) 编辑

C语言文件打开方式及说明
摘要:ANSI C规定文件打开用函数fopen,关闭为fclose。1、调用方式通常为:FILE *fp;fp=fopen(文件名, 打开方式);2、参数说明:文件名: 形如"myfile.dat"、"F:\data\myfile.dat"等等;打开方式: "r"(只读) 为输入打开一个文本文件 "w"(只写) 为输出打开一个文本文件 "a"(追加) 向文件文件尾添加数据 "rb"(只读) 为输入打开一个二进制文件 "wb"(只写) 为输出打开一个二进制文件 & 阅读全文

posted @ 2013-12-17 14:54 旭东的博客 阅读(17334) 评论(1) 推荐(0) 编辑

C语言 fread()与fwrite()函数说明与示例
摘要:1.作用 读写文件数据块。2.函数原型 (1)size_t fread ( void * ptr, size_t size, size_t count, FILE * stream ); 其中,ptr:指向保存结果的指针;size:每个数据类型的大小;count:数据的个数;stream:文件指针 函数返回读取数据的个数。 (2)size_t fwrite ( const void * ptr, size_t size, size_t count, FILE * stream ); 其中,ptr:指向保存数据的指针;size:每个数据类型的大小;count:数据的... 阅读全文

posted @ 2013-12-17 13:57 旭东的博客 阅读(139535) 评论(2) 推荐(2) 编辑

win C/C++程序通过Get方式获取网页源代码
摘要:[转自]http://www.cnblogs.com/coderzh/archive/2008/11/24/1340134.html 1 #include 2 #include 3 #include 4 5 #define MAXSIZE 1024 6 #pragma comment(lib, "Wininet.lib") 7 8 void urlopen(_TCHAR*); 9 10 int _tmain(int argc, _TCHAR* argv[])11 {12 urlopen(_T("http://www.cnblogs.com/"));13 阅读全文

posted @ 2013-12-13 22:52 旭东的博客 阅读(8315) 评论(0) 推荐(0) 编辑

ubuntu/wireshark: There are no interfaces on which a capture can be done.故障解决
摘要:[转载]http://blog.csdn.net/ccwwff/article/details/6697258在ubuntu安装wireshark, 在启动程序启动wireshark.点captrue->interface, 出现:There are no interfaces on which a capture can be done.解决方法:命令行启动:(一定有root权限才行)$ sudo wireshark 阅读全文

posted @ 2013-12-11 17:01 旭东的博客 阅读(656) 评论(0) 推荐(0) 编辑

[转]VS2010快捷键
摘要:VS2010的快捷键,后附VS2008的快捷键Ctrl+E,D ----格式化全部代码Ctrl+E,F ----格式化选中的代码CTRL + SHIFT + B生成解决方案CTRL + F7 生成编译CTRL + O 打开文件CTRL + SHIFT + O打开项目CTRL + SHIFT + C显示类视图窗口F4 显示属性窗口SHIFT + F4显示项目属性窗口CTRL + SHIFT + E显示资源视图F12 转到定义CTRL + F12转到声明CTRL + ALT + J对象浏览CTRL + ALT + F1帮助目录CTRL + F1 动态帮助F1 帮助SHIFT + F1当前窗口帮助C 阅读全文

posted @ 2013-12-09 22:47 旭东的博客 阅读(334) 评论(0) 推荐(0) 编辑

C/C++/Java 程序计时功能函数
摘要:编写程序肯定要使用计时功能,来判断程序的执行时间。今天Google了一下,自己就梳理总结一下:(1)C/C++程序计时 C/C++中使用的计时函数是clock()。 C语言中的头文件对应是#include,C++中对应的头文件为#include。 如下程序实例,其中clock_t为long类型,CLOCKS_PER_SEC为每秒的时钟周期常数: 1 #include 2 #include 3 using namespace std; 4 5 int test() 6 { 7 int x=0; 8 for(int i=0;i<200000000;i++) 9 ... 阅读全文

posted @ 2013-12-07 14:18 旭东的博客 阅读(4014) 评论(0) 推荐(0) 编辑

程序设计中使用的那些共享方法或者技术
摘要:前段时间看了个paper是讲述谷歌浏览器使用的压缩方法SDCH,其实原理还是比较简单的。看了论文后就想总结一下程序中使用的一些共享方法或者技术吧。1.Google最近发明的HTTP压缩算法SDCH SDCH的全称是Shared Dictionary Compression over HTTP的简写。 SDCH的基于以下的事实: (1)在HTTP的传输文件之间有大量重复冗余的数据,从服务器端一次又一次的传输到请求端。 (2)服务器端可以对这些文件之间的大量相同数据建立字典。 (3)客户端第一次访问时,请求字典与差异文件。之后每次访问,都只需要传输差异文件,结合本地的字典就可以还原相应文... 阅读全文

posted @ 2013-12-07 00:07 旭东的博客 阅读(1443) 评论(0) 推荐(1) 编辑

GPU/CUDA程序初体验 向量加法
摘要:现在主要的并行计算设备有两种发展趋势:(1)多核CPU。 双核,四核,八核,。。。,72核,。。。,可以使用OpenMP编译处理方案,就是指导编译器编译为多核并行执行。(2)多线程设备(GP)GPU。 通用GPU,就是显卡,以nvidia公司的显卡为主。nvidia使用CUDA编程。由于毕业的需要,现在开始学习CUDA编程。看了一段时间教程,目前环境已经配好,下面是一个简单的CUDA程序:程序实现向量的加法操作,使用了一个block内部的512个线程。 1 #include 2 #include 3 4 //__global__声明的函数,告诉编译器这段代码交由CPU调用,由GPU执行... 阅读全文

posted @ 2013-12-06 13:58 旭东的博客 阅读(3901) 评论(0) 推荐(1) 编辑

ubuntu 12.04 安装无线网卡驱动
摘要:安装ubuntu 12.04后,无线网卡不可用,采用以下方式解决:1、在终端中运行如下命令,重新安装b43相关的全部驱动和firmware: sudo apt-get install bcmwl-kernel-source #Broadcom 802.11 Linux STA 无线驱动源 sudo apt-get install broadcom-sta-common sudo apt-get install broadcom-sta-source sudo apt-get install b43-fwcutter #Broadcom 43xx 固件提取工具 sudo apt-get... 阅读全文

posted @ 2013-12-04 23:36 旭东的博客 阅读(6333) 评论(0) 推荐(1) 编辑

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示