自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(41)
  • 收藏
  • 关注

原创 C语言: 指针强制类型转换

1. 指向字符串的指针强制转换成指向整型的指针:#include #include #include int main(int argc, char** argv){ char buffer[500]; memset(buffer, 0, 500);  *(int *)buffer = 123;  printf("buffer is %d\n", *buffer

2015-03-16 18:00:33 3725

原创 安装TFTP服务器

<br />安装TFTP服务器<br />        ## install xinetd, tftpd-hpa and tftp-hpa packages<br />        $ sudo apt-get install xinetd tftpd-hpa tftp-hpa<br /> <br />        ## create tftp-server root directory<br />        $ sudo mkdir /tftpboot<br />        $ sudo c

2011-04-15 10:46:00 745

转载 Linux内核中读写文件数据的方法

<br />Linux内核中读写文件数据的方法 有时候需要在Linux kernel--大多是在需要调试的驱动程序--中读写文件数据。在kernel中操作文件没有标准库可用,需要利用kernel的一些函数,这些函数主要有: filp_open() filp_close(), vfs_read() vfs_write(),set_fs(),get_fs()等,这些函数在linux/fs.h和asm/uaccess.h头文件中声明。下面介绍主要步骤: 1. 打开文件 filp_open()在kernel中可以打

2011-04-07 10:27:00 1388

原创 执行文件的减肥工具strip

<br />strip可清除执行文件中不必要的标识符号及调试信息,可减少文件而不影响正常使用.但与compress不同的是,文件一旦strip后,就不能再恢复原样,被strip后的文件不包含调试信息,就不能用dbx来调试程序了.

2010-10-26 17:07:00 930

原创 RPM相关几项

<br />1.打RPM包时,系统会默认使用GCC的"-fstack-protector"参数来编译,导致utility运行时,报"***stack smashing detected***" 的错误.所以我们需要加:export CFLAGS="-fno-stack-protector".<br />2.解压RPM包的命令:rpm2cpio ***.rpm | cpio -div<br />3.查看某文件属于哪一个RPM包的命令:rpm -ql ***<br />4.打包RPM的命令:rpmbuild -

2010-10-26 17:04:00 653

原创 有关Linux终端

<br />终端是一种字符型设备,它有多种类型:<br />1. 串口终端 (/dev/ttySn)<br />串口终端就是实体的串口终端设备.<br />Linux: /dev/ttyS0 -> /dev/tts/0      DOS: COM1<br />    /dev/ttyS1 -> /dev/tts/1               COM2<br />    /dev/ttyS2 -> /dev/tts/2               COM3<br />    /dev/ttyS3 -> /d

2010-10-26 16:00:00 1323

原创 invalid module format问题

<br />如果因内核源码版本号和当前内核不同或者编译目标不同导致的invalid module format错误.<br />例如: uname -a 输出为:2.6.30.10-105.fc11 i686, 而modinfo **.ko输出为:2.6.30.10-105.fc11.i586<br />则可把内核源码中.include/linux/vermagic.h (utsrelease.h,module.h)中定义的Vermagic宏定义改掉,重新build driver则可与当前内核版本一致.<b

2010-10-26 15:08:00 1308

原创 platform_driver_register 与 platform_device_register

<br />platfrom_driver_register() 是在设备注册时进行绑定的.以USB为例:先插上USB设备并挂到总线上,然后在安装USB设备驱动的过程中,从总线上遍历各个设备,看是否有与驱动相匹配的设备,如果有,则两者绑定,就是platfrom_driver_register() <br /> <br />platfrom_device_register() 是在驱动注册时进行绑定的.以USB为例:先安装USB驱动程序,然后当USB设备插入时,就遍历总线上各个驱动,看两者是否匹配,如果相配则

2010-10-26 15:00:00 1805

原创 如何在Linux上安装SourceInsight?

<br />在Linux上安装SouceInsight 3.0的方法:<br />(1) 先安装wine:apt-get install wine<br />(2) 用wine来执行SouceInsight3.exe以便通过wine来完成SouceInsight3的安装过程.<br />(3) 为支持更多的语言,可以导入相应的CLF文件,比如Lua.CLF 文件.导入方法是:<br />    Preferences->Languages->DocTypes->指定Lua.

2010-10-14 14:54:00 2843 2

原创 用D-Bus连接A2DP的方法

<br />D-Bus是针对桌面环境优化的IPC机制,用于进程间的通信或进程与内核的通信。支持DBus的系统都有两个标准的消息总线:系统总线和会话总线。系统总线用于系统与应用的通信。会话总线用于应用之间的通信。有一个叫d-feet的python程序,我们可以用他来观察系统中的DBus世界。<br />可以用dbus命令行工具dbus-send来实现Bluetooth的A2DP的连接: <br />1. 获得object path: <br />    # dbus-send –system –print-r

2010-10-14 14:49:00 3713 1

原创 安装fedora12后,如何找会原来的ubuntu10.04?

<br />在同一个硬盘上,先安装了ubuntu10.04,然后再安装fedora12.装完fedora12后,重新启动没有了ubuntu10.04 的选项.因为fedora的grub覆盖掉了原来的ubuntu10.04的grub2.解决方法是:<br />(1) 先从grub命令行进入ubuntu10.04的修复模式.<br />(2) 然后在ubuntu10.04下,执行:apt-get install grub-pc 安装grub2.<br />(3) 最后执行upgrade-from-grub-le

2010-10-14 14:43:00 970

原创 如何把FAT32格式的文件系统转换成NTFS?

<br />(1) 从开始->运行中输入cmd,进入控制台.<br />(2) 运行:CONVERT H: /FS:NTFS<br />如果失败,则右击H盘->属性->工具->查错->自动修复文件系统错误.然后再运行一次"CONVERT H: /FS:NTFS".<br />(3) 进入某磁盘分区(例如H盘)后,执行:CHKDSK /F<br /> 

2010-10-14 14:34:00 940

原创 MeeGo 安装须知

<br />1. 制作安装MeeGo的U盘<br />    (1) 下载MeeGo1.0:http://meego.com/downloads/releases/1.0/meego-v1.0-netbooks<br />    (2)  用fdisk -l查看U盘的设备文件名,例如:/dev/sdb1<br />    (3)  使用Byte-copy方式将image复制到U盘: dd bs=4096 if=meego-netbook-chromium-ia32-1.0-20100524.1.img of

2010-10-14 14:27:00 1136

原创 进程间通信:信号机制

最近工作中,有需要用到一个进程向另一个进程发信号.于是,写了一简单的例子:一. 信号接受方 #include #include  static void sigaction_handle(int signum, siginfo_t * info, void * p){    printf("received signal/n");    printf("the int valu

2010-01-23 13:34:00 811

转载 org.freedesktop.DBus 的12个Methods简要说明

org.freedesktop.DBus.RequestName (in STRING name, in UINT32 flags, out UINT32 reply)请求公众名。其中flag定义如下:DBUS_NAME_FLAG_ALLOW_REPLACEMENT 1DBUS_NAME_FLAG_REPLACE_EXISTING 2DBUS_NAME_FLAG_D

2009-09-18 15:45:00 5440

转载 OpenMax

OpenMax是一个多媒体应用程序的标准.由NVIDIA公司和Khronos在2006年推出. OpenMAX是Khronos制定的API,Khronos也是OpenGL的制定者,同时在着手制定的标准/规范还有OpenGL es,OpenVG,OpenEL等,其中大多数是针对手持设备/嵌入式设备的.OpenMax的作用:1.加速跨OS和silicon平台的多媒体组建的开发,整合和编程.

2009-09-17 10:04:00 1314 4

原创 Bluetooth Stacks for Linux

OpenBT : OpenBT was the first Linux Bluetooth stack available.It was originally developed by Axis Communications Inc. and is now an open source project hosted at Sourceforge.No further development is

2009-08-31 18:51:00 1228

原创 无线网络加密方式

无线网络加密方式1. Open System : None, WEP 2. Share Key : WEP 3. WPA-PSK : TKIP 4. WPA2-PSK : AES

2009-07-30 16:15:00 1405

转载 iwlist、iwconfig

iwlist、iwconfig 这两个命令需要你有无线网卡才能够进行使用。其用法如下: · iwlist:利用无线网卡进行无线AP的检测与取得相关的数据。· iwconfig:设置无线网卡的相关参数。 dhClient如果你是使用DHCP协议在局域网内取得IP的话,那么是否一定要去编辑ifcfg-eth0内的BOOTPROTO呢?有个更快速的做法,就是利用dhClient这

2009-07-30 16:14:00 8122

原创 802.11a/g/n

802.11a/g/n都是WLAN(Wireless Local Area Network)标准,他们使用的频段和调制方式和传输速率不同. 802.11a : 使用5.7GHz频段, 最高传输速率 54Mbps.802.11g : 802.11b的继任者,使用2.4GHz频段, 最高传输速率 54Mbps.802.11n : 标准还没有得到IEEE的正式批准,但采用 MIMO OF

2009-07-30 09:25:00 1476

原创 msleep() 与mdelay()

在Linux Driver开发中,经常要用到延迟函数:msleep,mdelay/udelay.虽然msleep和mdelay都有延迟的作用,但他们是有区别的.mdelay是忙等待函数,在延迟过程中无法运行其他任务.这个延迟的时间是准确的.是需要等待多少时间就会真正等待多少时间.而msleep是休眠函数,它不涉及忙等待.你如果是msleep(10),那实际上延迟的时间,大部分时候是要多于1

2009-05-31 14:43:00 35405 6

转载 OOM killer "Out of Memory: Killed process" SOLUTIONS / SUMMARY

Since this problem seems to popup on different lists, this message hasbeen cross-posted to the general Red Hat discussion list, the RHEL3(Taroon) list and the RHEL4 (Nahant) list.  My apologies for no

2009-05-14 18:01:00 3956

原创 用VLC 播放DVB-S的节目

播放DVB-S的节目:$ vlc -vvv --color --ts-es-id-pid --program=1206 dvb: --dvb-frequency=12462000 --dvb-srate-22425000 --dvb-voltage=13 --dvb-lnb-lof1=11300000 --dvb-fec 3 --dvb-satno 0 --dvb-tone 0 注解:

2009-05-14 14:31:00 2182

转载 Anatomy of an Android Application - 剖析Android應用程式的四大區塊

Anatomy of an Android Application - 剖析Android應用程式的四大區塊原則上Android的應用程式會由下面四個區塊所組合而成Activity Broadcast Intent Receiver Service Content Provider並不是所有的Android程式都需要有這四個部份才行,而是由上面那四項去挑選出來組合而成。

2009-04-22 14:44:00 2066 2

转载 Android模拟器adb命令介紹

在SDK的Tools文件夹下包含着Android模拟器操作的重要命令adb,adb的全称为Android Debug Bridge就是调试桥的作用。通过adb我们可以在Eclipse中方面通过DDMS来调试Android程序,说白了就是debug工具。adb的工作方式比较特殊采用Socket TCP 5554等端口的方式让IDE和Qemu通讯,默认情況下adb会daemon相关的网络端口,所以当我

2009-04-22 14:28:00 10174

转载 使用标准C++的类型转换符:static_cast、dynamic_cast、reinterdivt_cast、和const_cast

1 static_cast用法:static_cast ( exdivssion ) 该运算符把exdivssion转换为type-id类型,但没有运行时类型检查来保证转换的安全性。它主要有如下几种用法:①用于类层次结构中基类和子类之间指针或引用的转换。  进行上行转换(把子类的指针或引用转换成基类表示)是安全的;  进行下行转换(把基类指针或引用转换成子类表示)时,由于没有动态类型检查,所以是

2009-04-10 10:23:00 1104 1

原创 kscope --- Linux Source Insight

今天我windows系统的SourceInsight似乎出问题了,点一下function, Context Windows里很慢才show出来function定义的地方.用起来很不爽,于是卸载重装,结果老装不好.于是去下了个source insight 4,发现跟3.5的界面不一样了,而且需要注册号.于是放弃了4,继续安装3.5.不过在google的时候,发现了kscope这个好东东,说是Li

2009-04-09 18:10:00 3847 3

转载 mplayer编译过程中出现ivtv错误

mplayer编译过程中出现ivtv错误+-------------------------------------vo_ivtv.c: In function ivtv_reset:vo_ivtv.c:79: error: storage size of sd isnt knownvo_ivtv.c:80: error: storage size of sd1 isnt know

2009-03-25 16:02:00 3147

原创 mplayer source install on Ubuntu --- Can't open /dev/fb0

I successfully compiled and installed the Mplayer on Ubuntu. However, when I try to play a video, it only gives sound with no video output. I get a list of errors when starting playback. Cant ope

2009-03-19 10:34:00 3210 1

原创 mkinitrd 与 mkinitramfs

在进行内核编译时,需要进行制作initrd.img.在Fedora下面一般是用mkinitrd,而在Ubuntu/Debian下是用mkintramfs.它们的用法稍微有些不一样,如下所示:mkinitrd /boot/initrd.img 2.6.26mkintramfs 2.6.26 -o /boot/initrd.img 其中2.6.26为/lib/modules下的目录

2009-03-17 13:22:00 24572 10

原创 "Unkown symbol in module"

在insmod uvcvideo.ko时,出现"Unkown symbol in module"错误.原因一般有二:1.其依赖的其他模块没有被装载.2.其依赖的其他模块已被替换,跟其版本等不匹配. 在ubuntu更新的kernel里,因为default没有装载v4l2相关的模块,所以需要手动安装.或者直接执行make install,然后modprobe uvcvideo.

2009-03-17 12:09:00 2837

原创 升级Ubuntu kernel 版本

升级Ubuntu Kernel版本的最简单方法:1.在/etc/apt/source.lst中加入源:deb http://security.ubuntu.com/ubuntu hard-security main(可能已经存在)2.apt-get install linux-image-2.6.24-22-386然后reboot,选择进入新的kernel系统3.apt-get

2009-03-13 19:04:00 2444 1

原创 使ubuntu 8.04允许root用户login图形界面

1.ubuntu 8.04默认是不允许root用户登陆图形界面,如果要启用root,需做以下更改: (1)重设 root 的密码: $sudo passwd root #按提示输两次新的密码,并加以确认。(2)$sudo vi /etc/gdm/gdm.conf AllowRoot=false #修改为 AllowRoot=true 2.点击 "系统" -> "系统管理" -> "登陆窗口" 菜单

2009-02-19 17:26:00 1370

原创 How to install kernel-2.6.***src.rpm?

Step 1: download kernel-2.6.26.6-49.fc8.src.rpm from           http://kojipkgs.fedoraproject.org/packages/kernel/2.6.26.6/49.fc8/src/kernel-2.6.26.6-49.fc8.src.rpm.Step 2:           $ groupadd m

2009-02-16 13:39:00 972

原创 浮点数比较

      今天终于解决了一个困扰了一周的bug.我们的项目在kdevelop里开发的code,通过使用autotools做成源码安装包后,发现播放录制文件有问题.视频播放特别快.而声音是正常的. 因为代码是一样的,所以一开始我就没有去怀疑代码有问题.总认为是源码安装包没有做好.但是,以前也是用同样的方法做的包,以前的就没有问题.于是,又在想可能是代码哪个地方被改动了.结果代码的确是一样的.于是,

2009-02-06 20:20:00 598

转载 内核模块加载时的版本检查(转载)

 2.4内核下,执行“cat /proc/ksyms”,将会看到内核符号,而且在名字后还会跟随着一串校验字符串,此校验字符串与内核版本有关。在内核源码头文件linux/modules目录下存在许多*.ver文件,这些文件起着为内核符号添加校验后缀的作用,如ksyms.ver文件里有一行#define printk _set_ver(printk),linux/modversions.h 文件会

2009-02-04 17:42:00 1851

原创 I/P/B帧 概念介绍

在特定的比特率下要获得好的图像质量,需要非常高的压缩比,而仅利用帧内图像编码是不能实现的.然而纯帧内图像编码可最佳地满足随机存取方面的要求. 因为随机存取和高效率压缩之间的要求相互冲突,定义了三种主要图像类型: I图像, 帧内编码图像 I-picture, intra-coded picture只使用帧内信息编码的图像,不需要参考其他图像.这种编码的图像在编码序列中提供解码开始的存取点

2009-02-03 10:10:00 2797 1

转载 C语言学习:fseek与ftell函数(转载)

fseek与ftell函数fseek函数是 用来设定文件的当前读写位置.函数原型: int fseek(FILE *fp,long offset,int origin);函数功能:把fp的文件读写位置指针移到指定的位置.fseek(fp,20,SEEK_SET); 意思是把fp文件读写位置指针从文件开始后移20个字节.ftell函数是用来获取文件的当前读写位置;函数原型: long ftell

2009-01-22 10:51:00 1857

原创 有关TS的几个概念

在MPEG-II标准中,为了将一个或更多的音频、视频或其他的基本数据流合成单个或多个数据流,以适应于存储和传送,必须对其重新进行打包编码,在码流中还需插入各种时间标记、系统控制等信息,最后送到信道编码与调制器。这样可以形成两种数据流——传输流(TS)和节目流(PS),分别适用于不同的应用.两种流均由PES分组或包含其他必要信息的分组构成,对于几乎不发生差错的环境而言,节目流通常更为适合,而且支持节

2009-01-21 15:36:00 1657

原创 Update Kernel on EeePC

Build Kernel:    1. download the 2.6.21.4 kernel for you eeepc from ASUS support website: http://support.asus.com/download/Download.aspx?SLanguage=en-us or from here    2. unpack this file by runn

2009-01-21 11:23:00 748

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除