- 博客(37)
- 资源 (24)
- 收藏
- 关注
转载 单链表逆序输出
转载地址:http://www.cppblog.com/humanchao/archive/2008/02/29/43446.html刚刚有人考了我一道题,逆序输出单链表:我是这样答的(下面的代码为伪代码,不能通过编译):void printSList(slist *pList){ assert(pList); if (pList == NULL)
2012-04-26 15:46:50 1111
转载 Android高手进阶教程(二十三)之---Android中的日历读写操作!!!
大家好,好久没有更新blog了,今天给大家分享一下Android中一些自带日历的操作方法,这里主要用到了ContentProiver的知识.如果大家不明白ContentProvider建议先查一下资料,知道它是干什么的。这样更容易下面的例子.好了废话不说,这里提个醒,Android中的日历,只有真机才有,模拟上是没有的,所以测试环境一定要真机!!因为日历是系统自带的,所以我们读写它一定要申
2012-04-25 10:39:09 691
原创 apue源代码的使用与编译
编译源代码1、从官网下载源代码www.apuebook.com2、解压3、默认解压后的源代码名称为:apue.2e,里面包含了所有的代码4、修改目录,我的系统是ubuntu10.10,修改apue.2e下的Make.defines.linux WKDIR=/home/sdoning/apue/apue.2e(主要是该路径)5、在apue.2e目录下运行make
2012-04-24 14:44:53 685
原创 Unix网络编程(卷二)源码编译报错解决
源码下载地点:http://www.kohala.com/start/unpv22e/unpv22e.html1、按照Readme操作,进入lib目录下make报错: gcc -g -O2 -D_REENTRANT -Wall -D_POSIX_PTHREAD_SEMANTICS -c -o daemon_inetd.o daemon_inetd.cIn file inc
2012-04-19 17:45:48 826
转载 ubuntu 中安装bugzilla详细步骤
转载出处:http://blog.sina.com.cn/s/blog_59d0c0c10100bx5a.html 由于工作原因,需要在Ubuntu8.10上面安装Bugzilla,以前没有安装过,这次就尝试自己安装了,参考了网上的好多相关文章,我来总结一下我安装的整个过程,一是方便对新人安装Bugzilla有所帮助。二是加深一下Bugzilla安装过程。废话就不多说了,我们就开始吧!我的环境
2012-04-19 16:43:54 1967
转载 几种bug管理工具比较
今天终于找到了一个被大多数人称为完美的项目管理、BUG管理工具,并且安装成功了。Jira作为一个Bug管理软件,成功的融合了项目管理、需求管理等等功能,强大的自定义扩展能力,完整的用户权限管理。可惜软件不是免费的,当然了,在中国,这个不是什么问题。(价值上万)。安装过程并不顺利。网上下载的需要注册登录才可以下载。下载分成三个版本,标准版、专业版、企业版。每个版本又分为standalone版和W
2012-04-19 09:58:49 48624 10
转载 五大最受欢迎的BUG管理系统
Google在中国大陆遭遇变故做出暂时性的退出大陆市场,也使很多忠实的用户受到小小的挫折,以本公司为例,原本的BUG都是记录在google的EXCEL在线文档中,因为经常性的打不开,测试和开发组在线上交流不了,都只能通过其它的方式进行沟通和讨论,非常不便。于是在测试部经理的要求下,寻找出一些最受大家青睐的BUG管理系统,从中选择出最适合的来作为公司管理BUG的专用系统。经过认真的查找和比较,选
2012-04-19 09:34:00 2193
转载 Linux下c开发 之 线程通信
1.Linux“线程” 进程与线程之间是有区别的,不过Linux内核只提供了轻量进程的支持,未实现线程模型。Linux是一种“多进程单线程”的操作系统。Linux本身只有进程的概念,而其所谓的“线程”本质上在内核里仍然是进程。 大家知道,进程是资源分配的单位,同一进程中的多个线程共享该进程的资源(如作为共享内存的全局变量)。Linux中所谓的“线程”只是在被创建时clone
2012-04-18 19:47:46 538
转载 linux进程间通信概述
linux进程间通信(IPC)有几种方式,下面将将简单的简述一下: 一.管道(pipe)管道是Linux支持的最初IPC方式,管道可分为无名管道,有名管道等。(一)无名管道,它具有几个特点:1) 管道是半双工的,只能支持数据的单向流动;两进程间需要通信时需要建立起两个管道;2) 无名管道使用pipe()函数创建,只能用于父子进程或者兄弟进程之间;
2012-04-16 19:46:46 443
转载 FreeScale mpc8xxx + vxWorks平台下spi flash驱动开发三步走
最近在弄PowerPC平台上的spi flash的驱动程序,总体比较简单,在借鉴了U-Boot中的相关源码后,花了两周左右的时间搞定了,对于spi总线之前一直都有了解,但未能实际接触,这次在vxWorks上尝试了一下,确实有不小的收获。由于网上关于vxWorks平台的资料稀少,就写下此文,以备查阅。 这次驱动的对象是Spansion的S25FLXX系列的,扇区64K,相对比较低端,
2012-04-12 20:53:53 2511 1
转载 FatFS文件系统详解-附移植建议
最近做的spi flash,本打算弄个文件系统,由于之前用过了JFFS、YAFFS和TrueFFS,代码量都相当的大,这次想找款代码量不那么吓人的,学习一下,听说配置会相对复杂一些。选来选去,最终选定了FatFS,代码量足够的小,最新的R0.09版本只有1个.c文件(当然,还有一个底层的要自己写,option文件夹里的无视),老点版本就更小了。而且更新很频繁,用户量也够大,就选定它了。尽管最后由于
2012-04-12 20:53:03 1148
转载 转一篇比较详细介绍FatFs文件系统移植的文章
补充一点,FatFs的作者写了两个,一个是正宗的FatFs,比较适合大的RAM的设备,另一个是FatFs/Tiny,比较适合小RAM的系统,比如单片机,FatFs/Tiny占用较小的RAM,代价是更慢的读写速度和更少的API函数。不过两个都支持FAT12,FAT16,FAT32文件系统。下载下来的FatFs的FatFs有两个文件夹,一个是 doc ,FatFs的说明,包括特性,系统函数,以
2012-04-12 20:50:41 788
转载 转一篇比较详细介绍FatFs文件系统移植的文章
FatFs文件系统的移植 因为需要,又不想自己写,所以就移植了一个文件系统。 说下我的硬件和开发工具:接成 TRUE IDE 模式下的CF卡(也就是相当于一块硬盘了),三星S3C2440的ARM9,开发工具是很老很老的D版的ADS1.2。 我在网上看到的嵌入式系统上面常用的文件系统有UCOSII公司的UC/FS,支持CF卡,硬盘,SD/
2012-04-12 20:49:55 580
原创 stm32f103的串口调试
目前在做一个stm32的项目,用串口调试发现,串口的数据竟然老是上电发不正确. 折腾了两天才发现,在串口发送前应该while(USART_GetFlagStatus(EVAL_COM1, USART_FLAG_TC)==RESET); 这样才解决.
2012-04-12 14:37:13 2609
转载 UART模拟7816协议开发总结(终于成功啦,一扫阴霾!写了一篇总结!!!!)
从上周五到本周一完成了UART模拟7816协议的第一步开发,成功实现了利用MCBSTM32板卡读写智能卡的软硬件设计。期间遇到了一些困难和问题,有些是自己的粗心造成的,有些是因为对硬件不够熟悉造成的。 周五的初步硬件电路搭建完成的任务完成的比较一般,但遇到的问题也不少,当时写了一个步骤,写下了一些存在的问题见下: 步骤及成情况和问题记录:
2012-04-12 10:55:37 13183 2
转载 子网掩码的作用
子网掩码使用与IP相同的编址格式,子网掩码为1的部分对应于IP地址的网络与子网部分,子网掩码为0的部分对应于IP地址的主机部分。将子网掩码和IP地址作"与"操作后,IP地址的主机部分将被丢弃,剩余的是网络地址和子网地址。例如,一个IP分组的目的IP地址为:10.2.2.1,若子网掩码为:255.255.255.0,与之作"与"运算得:10.2.2.0,则网络设备认为该IP地址的网络号与子网号为:1
2012-04-11 21:34:19 453
转载 堆和栈的区别(转过无数次的文章)
一、预备知识—程序的内存分配 一个由C/C++编译的程序占用的内存分为以下几个部分 1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其 操作方式类似于数据结构中的栈。 2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回 收 。注意它与数据结构中的堆是两
2012-04-11 21:33:44 359
转载 fflush(stdin)和fflush(stdout)
fflush(stdin)比较容易理解,即清理标准输入流,把多余的仍未被保存的数据丢掉。比如,下面这个小程序:void main(){ int a; char str[10]; cin>>a; cout cin>>str; cout}目地很简单:从stdin获得一个整数存
2012-04-11 21:32:25 459
转载 进程间通信系列(一)管道读写实例
一、管道读写注意点1.只有在管道读端存在时,向管道写入才有意义;否则,会收到内核中的出错信号:SIFPIPE2.向管道写入数据时不保证写入的原子性,管道缓冲区一有空闲区域,写进程就试图向其写入内容。若读进程不读取管道中的内容,则写进程会一直阻塞。3.父子进程在运行时,它们的先后顺序得不到保证。因此在这里,为保证父进程关闭读描述符,可向子进程加入sleep(2)。二、实例1.无名
2012-04-11 21:24:21 585
转载 多线程编程系列(五):“生产者消费者”实验——PV原语实现
一、问题描述有一个有限缓冲区和两个线程:生产者,消费者。他们分别往缓冲区写入产品和拿出产品。当缓冲区满时,生产者不能写必须等待;当缓冲区空时,消费者线程不能读,要等待。二、实例[cpp] view plaincopy/*product.c*/ #include #include #include #include #include #inc
2012-04-11 21:23:00 2431
转载 多线程编程(一):线程创建和退出
一、引言二、实例以下实例中创建了2个线程,其中第一个线程是在程序运行到中途时调用pthread_exit函数退出,第二个正常退出。在主线程中,收集这两个线程的退出信息,并释放资源。从实例可以看出,这两个线程是并发运行的。[cpp] view plaincopy/*thread.c*/ #include #include void threa
2012-04-11 21:22:11 435
转载 mutex 互斥锁线程控制
一、引言 mutex是一种简单的加锁的方法来控制对共享资源的存取。这个互斥所只有两种状态:上锁和解锁。可以把互斥锁看成某种意义上的全局变量。在同一时刻,只能有一个线程掌握某个互斥锁,拥有上锁状态的线程能够对共享资源进行操作。若其它线程希望上锁一个已经上锁的互斥锁,则该线程就会挂起,直到上锁的线程释放该互斥锁为止。可以说,这把锁使得共享资源得以有序在各个线程中操作。互斥锁主要操作:
2012-04-11 21:21:32 489
转载 linux socket实现网络聊天室(一):服务器和客户端对话
[cpp] view plaincopy1.服务器端 #include #include #include #include #include #include #include #include #define SERVPORT 3333 #define BACKLOG 10 #define MAX_CONNECTED_NO 10 #def
2012-04-11 21:19:46 1928
转载 socket编程API总结
一、代码注释1.[cpp] view plaincopy#include #include #include #include #include #include #include #include #define SERVPORT 3333 #define BACKLOG 10 #define MAX_CONNECTED_NO
2012-04-11 21:19:16 526
转载 多线程同步与互斥
1.互斥[cpp] view plaincopy#include #include #include #include #include pthread_mutex_t mutex = PTHREAD_MUTEX_INITIALIZER; int lock_var = 0; time_t end_time; void pthread1(
2012-04-11 21:17:21 386
转载 linux socket网络编程:fcntl select(多个客户端连接服务器端情形)
一、引言 在实际情况中,人们往往遇到多个客户端连接服务器端的情况。由于之前介绍的函数如connect,recv,send等都是阻塞性函数,若资源没有充分准备好,则调用该函数的进程将进入睡眠状态,这样就无法处理I/O多路复用的情况了。 本文给出两种I/O多路复用的方法:fcntl(),select()。可以看到,由于Linux中把socket当作一种特殊的文件描述符,这给用户的处
2012-04-11 21:16:16 799
原创 epoll多线程
#include #include #include #include #include #include #include #include #include #include #include #include #include #include #define THREAD_MAX 128#define LISTEN_MAX 5000#define SE
2012-04-11 21:11:16 2955
转载 epoll服务器示例, 监听5000个端口, 使用线程池
运行这个程序需要预先设置栈内存和文件描述符上限, 否则运行失败ulimit -n 16384ulimit -s 4096文件名:server.c编译: gcc server.c -Wall -O2 -pthread -o server程序源码如下(请自行编辑宏定义SERVER_IP为自己的IP):/*Linux 2.6 x86_64 only*/#inc
2012-04-11 21:08:56 1093
转载 Shell脚本调试技术
一. 前言shell编程在unix/linux世界中使用得非常广泛,熟练掌握shell编程也是成为一名优秀的unix/linux开发者和系统管理员的必经之路。脚本调试的主要工作就是发现引发脚本错误的原因以及在脚本源代码中定位发生错误的行,常用的手段包括分析输出的错误信息,通过在脚本中加入调试语句,输出调试信息来辅助诊断错误,利用调试工具等。但与其它高级语言相比,shell解释器缺乏相应的调
2012-04-11 11:22:06 570
转载 epoll使用
epoll使用 epoll的工作原理是,你如果想进行IO操作时,先向epoll查询是否可读或可写,如果处于可读或可写状态后,epoll会通过epoll_wait函数通知你,此时你再进行进一步的recv或send操作。 epoll仅仅是一个异步事件的通知机制,其本身并不作任何的IO读写操作,它只负责告诉你是不是可以读或可以写了,而具体的读写操作,还要应用层自己
2012-04-10 19:53:17 503
原创 9种不同的服务器程序设计范式
0>迭代服务器(无进程控制,用作测量基准)1>并发服务器,每个客户请求fork一个子进程.2>预先派生子进程, 每个子进程无保护地调用accept.3>预先派生子进程,使用文件上锁保护accept.4>预先派生子进程,使用线程互斥锁上锁保护accept.5>预先派生子进程,父进程向子进程传递套接字描述符.6>并发服务器,每个客户请求创建一个线程.7>预先创建线程服务器,
2012-04-07 22:17:24 523
转载 浅谈Linux的内存管理机制
看到一篇较好的浅析Linux内存管理机制的文章,转载过来与大家分享。 浅谈Linux的内存管理机制一 物理内存和虚拟内存 我们知道,直接从物理内存读写数据要比从硬盘读写数据要快的多,因此,我们希望所有数据的读取和写入都在内存完成,而内存是有限的,这样就引出了物理内存与虚拟内存的概念。物理内存就是系统硬件提供的内存大小,是真正的内存,相对于物理内存,在linux下
2012-04-07 18:27:29 489
原创 最牛的离职申请
最近有一同事离职,正好让我看到,说出来大家雅俗共赏乎. 就写了一副对联,左右排开,跟过家门口贴的对联模式一样. 上联:蛟龙潜水疑深浅 下联:大鹏展翅恨天低 横批:壮志无门 与此君聊了聊,他说他见过的最牛的离职申请才叫牛,就一句话:领导无能,自己无才. 哈哈,大家共同分享一下,表达对领导老是跟手下人玩小聪明的不齿.
2012-04-07 13:46:03 1513
原创 各种网络常用协议
因特网应用:---------------路由协议:OSPF:通过原始套接字直接使用IPRIP:使用UDPBGP:使用TCP---------------BOOTP(引导协议)DHCP(引导协议)NTP(时间协议)TFTP(低级FTP)SNMP(网络管理)---------------SMTP(电子邮件)Telnet(远程登录)SSH(安
2012-04-02 14:57:45 697
原创 unix网络编程第2章:传输层:TCP,UDP和SCTP
这一章基本上没什么可说的,基本上就是了解了端口的作用。端口是为了分清进程通信用的,如果你同意的话。
2012-04-01 16:36:34 485
原创 再论检测usb口的设备插拔
以前做过usb口设备的检测,当初有很多疑问,现在水平比当初稍微长了一点,可以总结一下正常情况下怎么做。 两种方式: 1>shell 如果你不用在C代码中实现的可以用此办法。 2>access 如果要在C代码中表达此思想的话,那么就要用到轮循机制中的/dev/input/event%d,当然是用access,检测是否有设备的插入与拔出。 由于工
2012-04-01 10:56:23 863
原创 unix网络编程第1章:简介
从现在开始学习网络编程,刚看了第一章,基本上说了网络的基本概念,我是学通信的,这些都好理解。 目前只不过是把曾经学到的通信知识,进行程序化而已。 努力,努力,努力。因为各种原因,java与android只能先放一放了。
2012-04-01 10:51:09 380
wifi_p2p_technical_specification_v1.1_content.
2014-03-12
Wi-Fi_Display_Technical_Specification_v1.0.0
2014-03-12
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人