- 博客(40)
- 资源 (24)
- 收藏
- 关注
原创 linux中select()函数分析
Select在Socket编程中还是比较重要的,可是对于初学Socket的人来说都不太爱用Select写程序,他们只是习惯写诸如connect、accept、recv或recvfrom这样的阻塞程序(所谓阻塞方式block,顾名思义,就是进程或是线程执行到这些函数时必须等待某个事件的发生,如果事件没有发生,进程或线程就被阻塞,函数不能立即返回)。可是使用Select就可以完成非阻塞(所谓非阻塞方式
2012-11-30 21:19:04
516
原创 linux 管道学习
管道是Linux中很重要的一种通信方式,是把一个程序的输出直接连接到另一个程序的输入,常说的管道多是指无名管道,无名管道只能用于具有亲缘关系的进程之间,这是它与有名管道的最大区别。 有名管道叫named pipe或者FIFO(先进先出),可以用函数mkfifo()创建。 Linux管道的实现机制 在Linux中,管道是一种使用非常频繁的通信机制。从本质上说,管道也是一种文件
2012-11-30 21:16:02
506
原创 module编译和出现insmod invalid format问题的解决
insmod: error inserting 'hello.ko': -1 Invalid module format一些不那么神秘的信息被纪录在文件/var/log/messages中;Jun 4 22:07:54 localhost kernel: hello: version magic '2.6.5-1.358custom 686REGPARM 4KSTACKS gc
2012-11-30 15:34:46
1341
原创 sysfs与kobject交互
对于sysfs中的每个目录,内核中都会存在一个对应的kobject。每个kobject都输出一个或多个属性,他们在kobject的sysfs目录中表现为文件,其内容由内核生成,这些内容揭示了kobject和sysfs在底层是如何交互的。只要调用kobject_add(),就能在sysfs中显示kobject.一、创建sysfs入口需要注意一下几点:1.kobject
2012-11-26 16:45:38
1184
原创 ubuntu下用图形化比较工具Meld
还不错的哦! 1,先下载http://archive.ubuntu.com/ubuntu/pool/universe/m/meld/ 2,application->programming->melddiff 差异查看器 运行。
2012-11-26 14:46:57
1484
原创 .gitignore
*.o*.ko.gitignore*.mod.o*.bin*.so*.mod.cCVS*.bz2*.a*.cmd*.order*.img*.symvers*.gz*.bz2voipCVS*.0.tmp_versionsutilimagesbasecall_contr/interface/interface
2012-11-23 16:31:34
522
原创 简约主义—Thunderbird邮件处理
发Mozilla Thunderbird(中文简称“雷鸟”)是经过对Mozilla的邮件组件进行重新设计后的产品,其目标是为那些还在使用没有整合邮件功能的单独浏览器或者需要一个高效的邮件客户端的用户提供一个跨平台的邮件解决方案。另外,由于完全专注于单独邮件客户端的开发,开发者可以摒弃其他那些不需要的组件,尽最大可能把这个客户端程序做完美。与以前作为Mozilla浏览器的邮件组件的时候相比,现在这款
2012-11-23 16:09:35
2341
原创 在ubuntu 8.10下安装thunderbird中文版
由于系统自带英文版的thunderbird,使用起来有点不方便,所以想换成中文版,一、安装1,首先去官方网站下载相应的包,打开http://www.mozilla.com/en-US/thunderbird/all.html,在列表中选择中文简体版,2、将下载的包解压到目录 /opt下面,解压得到thunderbird文件夹。代码:sudo tar -xvf thunderbi
2012-11-23 11:54:06
965
原创 ubuntu插件问题与答案
1,/bin/sh: msgfmt: not found找到软件包(新立得)libgettext-ruby-util 和 libgettext-ruby1.82,Traceback (most recent call last): File "./mk_build_info.py", line 24, in out = subprocess.Popen([
2012-11-23 09:35:51
1112
原创 ubuntu下如何使用source insight查找映射的盘符
ubuntu10.10下,在new project中的选择文件夹中可以看到本机的文件系统在Z:盘下。我用是用的网络映射服务器。因此得知道网络映射的地址,经查找为:./root/.gvfs/192.168.200.* 我是用的root用户
2012-11-22 15:06:33
1908
原创 ubuntu下安装tftp服务
sudo apt-get install tftpd-hpa tftp-hpa打开/etc/default/tftpd-hpa它的配置文件。#Defaults for tftpd-hpaRUN_DAEMON="no"OPTIONS="-l -s /var/lib/tftpboot"修改设置如下:#Defaults for tftpd-hpaRUN_DAEMON="yes
2012-11-22 14:46:34
608
原创 Ubuntu 10.04使用Wine安装Source Insight
一、Ubuntu安装wine工具$sudo apt-get install wine注:如安装不了加入如下源:{{ deb http://cz.archive.ubuntu.com/ubuntu lucid main universe}}这是Ubuntu 10.04的源。wine版本是1.1.42的,这个版本对中文支持的非常好。二、下载Source Insight
2012-11-22 13:56:30
713
原创 解决Ubuntu 10.10下Gedit中文乱码问题
装好了Ubuntu 10.10后,打开部分Windows下的txt文本文件的时候,中文显示为乱码。但是自己用Gedit编写新文件的时候,输入的中文却可以正常显示,保存后再退出也可以正常显示。而且对于Windows下的文本文件,也不是全部含有中文的都显示为乱码。整理下思路,如果真的是中文无法正常显示的问题,也就是字体设置问题,是不应该有文件能够正常显示中文的,应该全部乱码才对。而事实上并非如此,
2012-11-22 09:01:48
532
原创 千万要避免的五种程序注释方式
2012-11-20 13:36 4324人阅读 评论(3) 收藏 举报目录(?)[+]你是否有过复查程序时发现有些注释毫无用处?程序注释是为了提高代码的可读性,为了让原作者以外的其他开发人员更容易理解这段程序。我把这些让人郁闷的注释方式归为了五类,同时把写出这些注释的程序员也归为了五类。我希望读了这篇文章后你感觉自己不属于其中的任何一种
2012-11-21 09:15:42
476
原创 一个合格的程序员应该读过哪些书
编者按:2008年8月4日,StackOverflow 网友 Bert F 发帖提问:哪本最具影响力的书,是每个程序员都应该读的?“如果能时光倒流,回到过去,作为一个开发人员,你可以告诉自己在职业生涯初期应该读一本, 你会选择哪本书呢?我希望这个书单列表内容丰富,可以涵盖很多东西。”很多程序员响应,他们在推荐时也写下自己的评语。 以前就有国内网友介绍这个程序员书单,不过都是
2012-11-21 09:14:43
576
原创 ubuntu安装git
ubuntu GIT 安装与使用1.安装程序$sudo apt-get install git$sudo apt-get install git-core 2.那通过命令更新版本库git clone git://git.kernel.org/pub/scm/git/git.git 3.创建一个新版本库$mkdir gittutorch$cd
2012-11-20 20:52:34
501
原创 ubuntu下wireshark的安装
安装Ubuntu和Debian下都可以通过apt-get install wireshark来安装wireshark,但是,因为安全原因,默认情况下,是不允许非root用户来capture数据包的。此时,直接打开wireshark,显示为No Interfaces;然后尝试sudo wireshark,直接stopped。 下面的链接中提供了两种解决方案: http://anons
2012-11-20 20:39:09
572
原创 linux下route命令
# routeKernel IP routing tableDestination Gateway Genmask Flags Metric Ref Use Iface192.168.8.0 * 255.255.255.0 U 0 0 0
2012-11-20 15:19:12
504
原创 Linux tcpdump命令详解
简介用简单的话来定义tcpdump,就是:dump the traffic on a network,根据使用者的定义对网络上的数据包进行截获的包分析工具。 tcpdump可以将网络中传送的数据包的“头”完全截获下来提供分析。它支持针对网络层、协议、主机、网络或端口的过滤,并提供and、or、not等逻辑语句来帮助你去掉无用的信息。 实用命令实例默认启动tc
2012-11-20 15:04:02
842
原创 Linux下getsockopt/setsockopt 函数说明
Linux下getsockopt/setsockopt 函数说明【 getsockopt/setsockopt系统调用】 功能描述: 获取或者设置与某个套接字关联的选 项。选项可能存在于多层协议中,它们总会出现在最上面的套接字层。当操作套接字选项时,选项位于的层和选项的名称必须给出。为了操作套接字层的选项,应该 将层的值指定为SOL_SOCKET
2012-11-20 11:40:16
434
原创 fcntl即F_SETFL,F_GETFL的使用,设置文件的flags
1、获取文件的flags,即open函数的第二个参数: flags = fcntl(fd,F_GETFL,0);2、设置文件的flags: fcntl(fd,F_SETFL,flags);3、增加文件的某个flags,比如文件是阻塞的,想设置成非阻塞: flags = fcntl(fd,F_GETFL,0); flags |=
2012-11-20 11:31:14
2255
原创 C语言:stat,fstat和lstat函数
这三个函数的功能是一致的,都用于获取文件相关信息,但应用于不同的文件对象。对于函数中给出pathname参数,stat函数返回与此命名文件有关的信息结构,fstat函数获取已在描述符fields上打开文件的有关信息,lstat函数类似于stat但是当命名的文件是一个符号链接时,lstat返回该符号链接的有关信息,而不是由该符号链接引用文件的信息。第二个参数buf是指针,它指向一个用于保存文件描述信
2012-11-20 10:27:40
804
原创 dup、dup2介绍
dup与dup2函数介绍----转载dup和dup2也是两个非常有用的调用,它们的作用都是用来复制一个文件的描述符。它们经常用来重定向进程的stdin、stdout和stderr。这两个函数的 原形如下:#include int dup( int oldfd );int dup2( int oldfd, int targetfd )利用函数dup,我们可以复制一个描述符
2012-11-20 10:06:01
454
原创 Linux下进程间通信机制:FIFO(命名管道)
FIFO ,又称命名管道 ,是Linux下(unix环境下)一种进程间通信的机制,应用广泛。 函数mkfifo 用于创建命名管道,使用命令man 3 mkfifo 可查看此函数信息。FIFO创建后,可以像普通文件一样对其访问。 Linux下一个同名命令mkfifo 也用于创建FIFO,例如:执行命令$ mkfifo /tmp/fif
2012-11-19 11:28:18
714
原创 Linux管道编程实例
[cpp] view plaincopy/*管道 可以把管道想象为两个实体之间的单向连接器。注意,管道是半双工的, 如果需要全双工通讯,应该转而考虑套接字。 匿名管道又称管道,提供了一个进程与它的兄弟进程通讯的方法,只存在于父进程中; 命名管道,可以存在与文件系统中,任意进程都可找到它,使得不同先祖的进程也可以通讯。 #include int pipe( i
2012-11-19 11:17:27
430
原创 sscanf,sscanf_s及其相关用法
#include 定义函数 int sscanf (const char *str,const char * format,........);函数说明 sscanf()会将参数str的字符串根据参数format字符串来转换并格式化数据。格式转换形式请参考scanf()。转换后的结果存于对应的参数内。返回值 成功则返回参数数目,失败则返回-1,错误原因存于errno中
2012-11-17 15:21:35
448
原创 Unix Network Programming 2nd Edtion Source Code 编译问题解决
按照README的指示走#cd unpv12e#cd lib#makegcc -g -O2 -D_REENTRANT -Wall -c -o connect_nonb.o connect_nonb.cIn file included from connect_nonb.c:1:unp.h:114: redefinition of `struct in_pktinfo'
2012-11-16 17:56:57
811
原创 Unix NetWork Programming——环境搭建(解决unp.h等源码编译问题)
下面开始用简单但典型的客户端和服务器端程序说明如何进行网络编程。这一小节讲的是客户端,一个用来连接并读取服务器发送来的时间的客户端。这里涉及到了编写代码,因此要搭建unix网络编程环境unix系统我没安装,系统不易获得而且也没必要安装unix。用linux是最佳选择。再者我本来就是ubuntu系统,所以就在ubuntu下搭建环境了。1,安装编译器,为了齐
2012-11-16 17:21:42
537
原创 程序员分级-八个等级
你是否想听一下,如果我告诉你,算是玩笑吧,程序员有八个级别。已经死掉的程序员这是最高级别。你的代码存活了下来,超越了你的死亡。你将在计算机史上记下永恒的一笔。其他 的程序员将会研究你的成果和著作。你也许获得过图灵奖,或写出过有影响力的论文,或发明了一两件重要的、影响到编程史进程的技术。你不仅仅在维基百科上有 条目记录——有专门的网站在致力于研究你的生活和工作。很少有程序员能在有生之
2012-11-16 11:03:18
3270
原创 一些linux书及资料
linux内核源代码情景分析 非扫描版 上下册合订版 字清楚 带书签 1575页 pdfhttp://download.csdn.net/source/2002579*************************************************************linux设备驱动开发详解 pdf,针对ARM9 s3c2410 经典 宋宝华http://
2012-11-14 15:15:02
969
原创 编译内核出现"make CONFIG_DEBUG_SECTION_MISMATCH=y"警告
编译时ko模块时,出现:WARNING: modpost: Found 2 section mismatch(es).To see full details build your kernel with:'make CONFIG_DEBUG_SECTION_MISMATCH=y'解决方法:把struct platform_driver定义的probe与remove的devi
2012-11-14 10:47:46
3528
原创 图灵:死于同性恋歧视的解谜大师
图灵 解谜大师,沉默如谜新京报新知周刊 年轻时的图灵以桀骜不驯,不修边幅著称。 剑桥大学的计算机房现在被称为“图灵房”。 图灵设计的自动破译机。 “曼彻斯特Mark I”是世界上第一台能完全执行存储程序的电子计算机模型。9月10日,英国首相布朗代表英国政府正式向一位伟人道歉。这是一位喜欢咬指甲的年轻同学,他当年衣着随
2012-11-13 15:11:38
2522
原创 神奇的platform_get_resource函数
阅读platformdriver的代码时,发现在probe函数直接调用了platform_get_resource获取io内存,但是却没有做任何检测!probe函数怎么知道这块io内存属于这个驱动呢?后来发现原来在arch目录下的对应目录里面有个devs.c文件(这个文件可能因不同的架构而不一样),这个文件里面声明了一个platform设备的资源数组foo_devices,原型如下:
2012-11-12 13:43:28
555
原创 2012年全球20大半导体厂商排名:高通崛起
新浪科技讯 北京时间11月9日晚间消息,调研公司IC Insights周三发布报告,对2012年全球20大半导体厂商排名进行了预测,英特尔、三星和台积电继续分列前三位,与2011年排名相同。 报告预计,高通今年的排名将从去年的第七位升至第四位,德仪从第四位降至第五位,第六至第十位排名依次为东芝、Renesas、SK海力士、美光(Micron)和意法半导体(ST)。 第十
2012-11-10 16:38:17
1292
原创 Ubuntu下安装go语言
Go语言是Google开发的一个开源项目,目的之一是为了提高开发人员的编程效率。Go语言语法灵活,简洁,清晰,高效。它的并发特性可以方便的用于多核处理器和网络开发,同时灵活新颖的类型系统可以方便的编写模块化的系统。go可以快速编译,同时具有垃圾内存自动回收功能,并且还支持运行时反射。go十一个高效、静态类型,但是邮局有解释语言的动态类型特征的系统级语法。 由于只介绍Ubuntu下386的
2012-11-08 09:32:45
1113
原创 platform_driver_register() 与 platform_device_register()的区别
这是设备与驱动的两种绑定方式:platform_device_register():在设备注册时进行绑定;platform_driver_register():在驱动注册时进行绑定;以一个USB设备为例:(1)先插上USB设备并挂到总线中,然后在安装USB驱动程序过程中从总线上遍历各个设备,看驱动程序是否与其相匹配,如果匹配就将两者邦定。这就是platform_driv
2012-11-06 16:51:36
1240
原创 Rob Pike:走进Go语言
摘要:本文整理自Google首席工程师Rob Pike的演讲Slide,主要讲述的了Go的部分设计原理和初衷,也有提到Go语言在Google内外的应用现状。但本文的目的更多的是关于软件工程而不是编程语言的设计,更准确地说是如何设计编程语言来帮助软件工程。对Go语言感兴趣的朋友可以看看。序言:关于GoGo语言是一个开源、并发、高效、简单、有趣(但对某些人来说可能很无聊
2012-11-02 09:18:56
1351
Wi-Fi_Display_Technical_Specification_v1.0.0
2014-03-12
wifi_p2p_technical_specification_v1.1_content.
2014-03-12
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅