自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(40)
  • 资源 (2)
  • 收藏
  • 关注

原创 Linux系统调用-- recv/recvfrom/recvmsg函数详解

【recv/recvfrom/recvmsg系统调用】  功能描述: 从套接字上接收一个消息。对于recvfrom 和 recvmsg,可同时应用于面向连接的和无连接的套接字。recv一般只用在面向连接的套接字,几乎等同于recvfrom,只要将recvfrom的第五个参数设置NULL。如果消息太大,无法完整存放在所提供的缓冲区,根据不同的套接字,多余的字节会丢弃。假如套接字上没有消息可以读取,除

2009-12-31 11:12:00 1144 1

原创 Linux发送arp请求与接收arp响应

Linux 中获得本机网卡MAC地址很简单,ioctl()就OK。可如何获得局域网其他主机的MAC地址呢…链路层广播ARP请求,然后接收ARP响应。实现介个功能其实已有现成三方库可用,如libnet。不过想加深对协议的理解和Linux网络编程API的理解,jiayi 还是决定用Linux的PF_PACKET自己实现,改啊改,终于成功~以下是大体思路1. 为数据报分配空间,创建相应的结构体 req,

2009-12-31 10:46:00 2635 1

原创 Linux中文件的压缩与解压缩

对许多用户来说,在DOS和Windows环境下利用工具软件ARJ、Winzip等,压缩或解压文件是比较容易的事。但是,在Linux中如何对文件进行压缩与解压呢?本文基于Red Hat 6.0,介绍了压缩与解压文件的几种方法与技巧,希望对读者有一定的帮助。 命令:compress格式:compress 选项 文件列表功能:用Lempel-ziv

2009-12-31 10:45:00 327

原创 配置arm 交叉编译环境

创建ARM Linux交叉编译环境实践  一、准备工作              首先需要一台运行Linux操作系统的PC以完成我们的编译工作。       其次要准备如下一些源文件。        1、源文件准备         binutils-2.14.tar.gz          ftp://ftp.gnu.org/gnu/binu

2009-12-31 10:37:00 356

原创 Linux做一个功能完备的路由器

本文主要介绍如何用Linux做一个功能完备的路由器,这里将主要介绍静态路由器和动态路由器的配置,但不包括IP伪装或者说公用一个IP地址访问外面网络等问题。其已经不属于本主题讨论的范围,请参考其他如防火墙的配置等的内容。LRP(Linux Router Project)已经成立了有好几年的时间了。这个计划的目的是利用Linux操作系统将老旧的个人电脑如486当成网络的路由器使用。利用Linux低成本

2009-12-31 10:36:00 305

原创 用ioctl取得本机ip

#include #include #include #include #include #include #include #include #include #include #include /*用ioctl函数,命令用SIOCGIFADDR可获得本机的IP地址,命令SIOCSIFADDR可设置IP地址,命令SIOCGHWADDR可获得网卡的硬件地址,还有很多,如SIOCGFLAGS、S

2009-12-31 10:34:00 528

原创 C++ string详解

之所以抛弃char*的字符串而选用C++标准程序库中的string类,是因为他和前者比较起来,不必 担心内存是否足够、字符串长度等等,而且作为一个类出现,他集成的操作函数足以完成我们大多数情况下(甚至是100%)的需要。我们可以用 = 进行赋值操作,== 进行比较,+ 做串联(是不是很简单?)。我们尽可以把它看成是C++的基本数据类型。首先,为了在我们的程序中使用string类型,我们必须包含头文

2009-12-31 10:31:00 204

原创 CString、TCHAR*、char*转换

char*、TCHAR*转换CString CString str(****) 下面详细写一下其它转换 ////////////////////////////// /* *********************************************************************** * 函数: TransCStringToTCHAR * 描述:将CString 转换

2009-12-31 10:29:00 2183 2

原创 回调函数的概念及其使用

1 什么是回调软件模块之间总是存在着一定的接口,从调用方式上,可以把他们分为三类:同步调用、回调和异步调用。同步调用是一种阻塞式调用,调用方要等待对方执行完毕才返回,它是一种单向调用;回调是一种双向调用模式,也就是说,被调用方在接口被调用时也会调用对方的接口;异步调用是一种类似消息或事件的机制,不过它的调用方向刚好相反,接口的服务在收到某种讯息或发生某种事件时,会主动通

2009-12-31 10:27:00 261

原创 c++ 文件操作方法说明

在C++中,有一个stream这个类,所有的I/O都以这个“流”类为基础的,包括我们要认识的文件I/O,stream这个类有两个重要的运算符: 1、插入器(向流输出数据。比如说系统有一个默认的标准输出流(cout),一般情况下就是指的显示器,所以,cout2、析取器(>>) 从流中输入数据。比如说系统有一个默认的标准输入流(cin),一般情况下就是指的键盘,所以,cin>>x;就表

2009-12-31 10:26:00 207

原创 关于C++中的const关键字的用法

一 const基础下面四个定义语句是大多数书籍讲解const关键字都会用到的,[1]const int* a = &b;[2]int const *a = &b;[3]int* const a = &b;[4]const int* const a = &b;        如果你能区分出上述四种情况,证明你基础不错,不过也不要高兴太早,这个只是最基础的部分了。不知道也很容易:如果c

2009-12-31 10:23:00 205

原创 windows 生成dll库

头文件:#ifdef __DLL__#define DLL __declspec(dllexport)#else#define DLL __declspec(dllimport)#endifextern "C"{DLL   int func1(int aTop,int aLeft);DLL   int func2();DLL   int func3(char* aFul

2009-12-31 10:21:00 329

原创 setsockopt 设置socket

1. 如果在已经处于 ESTABLISHED状态下的socket(一般由端口号和标志符区分)调用closesocket(一般不会立即关闭而经历TIME_WAIT的过程)后想继续重用该socket:BOOL bReuseaddr=TRUE;setsockopt(s,SOL_SOCKET ,SO_REUSEADDR,(const char*)&bReuseaddr,sizeof(BOOL));2.

2009-12-31 10:14:00 417

原创 BMP文件格式

BMP是英文Bitmap(位图)的简写,它是Windows操作系统中的标准图像文件格式,能够被多种Windows应用程序所支持。随着Windows操作系统的流行与丰富的Windows应用程序的开发,BMP位图格式理所当然地被广泛应用。这种格式的特点是包含的图像信息较丰富,几乎不进行压缩,但由此导致了它与生俱生来的缺点--占用磁盘空间过大。所以,目前BMP在单机上比较流行。  BMP文件格式分析

2009-12-31 10:12:00 275

原创 MFC实现打开、保存文件对话框和浏览文件夹对话框

一、打开文件夹:1、CFileDialog实现CFileDialog hFileDlg(TRUE,NULL,NULL,OFN_FILEMUSTEXIST|OFN_PATHMUSTEXIST|OFN_READONLY,       TEXT("支持的图像文件 (*.jpg;*.gif;*.bmp;...)|*.jpg;*.gif;*.bmp|专用Tiff图像文件(*.ti

2009-12-31 10:10:00 858

原创 VC 自定义消息 postmessage用法

  1. 在 resource.h文件添加如下代码 定一个自己的消息#define WM_MY_MESSAGE      WM_USER + 100       //---------------------by tyds2.在...view.h的文件添加如下://{{AFX_MSG(CPostmessageView)afx_msg void Ontydspos

2009-12-31 10:08:00 454

原创 读写注册表说明实例

一、说明:   注册表是Windows重要组成部分,注册表记录了大量有关电脑软硬件的信息。注册表中的值通过其名称标识。值名称由与键名相同的字符组成。值本身可以是字符串、二进制数据或者是32位无符号值。在这里我们主要运用以下技巧:  (一)、预定义的注册表键。注册表包含了几个预定义键:HKEY_LOCAL_MACHINE 包含描述计算机及其配置的条目。其中包括关于处理器、系统主板、内存和

2009-12-31 10:04:00 243

原创 windows 文件属性设置读取函数

设置文件属性: SetFileAttributes(文件名, 属性值)读取文件属性:GetFileAttributes(文件名);读取文件属性SetFileAttributes(文件名, FILE_ATTRIBUTE_READONLY); // 设定为只读SetFileAttributes(文件名, FILE_ATTRIBUTE_HIDDEN );       //设定为隐藏SetFile

2009-12-31 10:03:00 575

原创 CFile操作详解

各种关于文件的操作在程序设计中是十分常见,如果能对其各种操作都了如指掌,就可以根据实际情况找到最佳的解决方案,从而在较短的时间内编写出高效的代码,因而熟练的掌握文件操作是十分重要的。本文将对Visual C++中有关文件操作进行全面的介绍,并对在文件操作中经常遇到的一些疑难问题进行详细的分析。  1.文件的查找  当对一个文件操作时,如果不知道该文件是否存在,就要首先进行查找。MFC中有一

2009-12-31 09:59:00 945

原创 制作简单视频播放器

[知识点]1、构建视频NetConnection和NetStream;2、音量控制用soundTransform(这个让我耗了一些精力,在AS2中可以setvolume,在AS3就不行了);3、暂停用pause(),恢复回放暂停的视频流用resume();4、接收视频信息用onMetaData(如视频总时间data.duration);5、侦听视频流的开始和结束用NetStatusEvent.NE

2009-12-31 09:57:00 831

原创 netlink 编程介绍

Linux从2.2开始支持PF_NETLINK域的通讯方式,这个方式主要的用途是在Linux的内核空间和用户空间进行通讯。目前在网络上面关于netlink编程的中文资料很少,为了促进对netlink编程的理解我编写了这篇文章,由于我对netlink的了解不是很透彻,特别是对于内核部分不是很熟悉,所以文章中肯定有很多错误的地方还请大家指正。文章分下面几个部分进行讲述netlink 基础知识

2009-12-30 15:16:00 6217 3

原创 qt 常见类型转换

Qstring 转换char*问题!方法一:QString qstr("hello,word");const char * p = qstr.toLocal8Bit().data();方法二:const char *p = qstr.toStdString().data();转换过来的是常量把当前时间转化为QString...public QDateTime qdate = QDate

2009-12-19 11:53:00 474

转载 Linux内核配置系统浅析

1. 配置系统的基本结构Linux内核的配置系统由三个部分组成,分别是:Makefile:分布在 Linux 内核源代码中的 Makefile,定义 Linux 内核的编译规则; 配置文件(config.in):给用户提供配置选择的功能; 配置工具:包括配置命令解释器(对配置脚本中使用的配置命令进行解释)和配置用户界面(提供基于字符界面、基于 Ncurses 图形界面以及基于

2009-12-19 11:49:00 165

原创 socket编程之主机名和网络名查询

一、函数说明:    1)uname(2)        说明:        可以告诉程序关于系统的信息。        原型:        #include         int uname(struct utsname *buf)        参数:        struct utsname        {            char sysname[SYS_NMLN];   

2009-12-19 11:46:00 397

原创 找回误删并清除了回收站的文档

找回误删并清除了回收站的文档 步骤: 1、单击“开始——运行,然后输入regedit (打开注册表)2、依次展开:HEKEY——LOCAL——MACHIME/SOFTWARE/microsoft/WINDOWS/ CURRENTVERSION/EXPLORER/DESKTOP/NAMESPACE 在左边空白外点击“新建” ,选择:“主键”,把它命名为“645FFO40——5081——1

2009-12-19 11:41:00 150

原创 GDB的使用

GDB的使用  当程序出错并产生core 时快速定位出错函数的办法  gdb 程序名 core文件名(一般是core,也可能是core.xxxx)  调试程序使用的键  r run 运行.程序还没有运行前使用  c cuntinue 继续运行。运行中断后继续运行  q 退出  kill 终止调试的程序  h help 帮助   命令补全功能  step 跟入

2009-12-19 11:36:00 200

原创 NFS服务器的安装

一、NFS服务器的安装     检查linux系统中是否安装了nfs-utils和portmap两个软件包  (RHEL4系统默认已经安装了这两个软件包)    命令#rpm –q nfs-utils portmap    二、查看NFS服务器是否启动    命令#service nfs starus    #service portmap status    三、

2009-12-19 11:33:00 202

原创 Source Insight技巧收集

Source Insight技巧收集1、背景色选择    要改变背景色Options->preference->windows background->color设置背景色2、解决字符等宽对齐问题。    SIS默认字体是VERDANA,很漂亮。这网页上应该也是用的VERDANA字体。但由于美观的缘故,VERDANA字体是不等宽的。比如下面两行    llllllllll    MMM

2009-12-19 11:31:00 1271

原创 LINUX目录详解

/bin引导启动所需的命令或普通用户可能用的命令(可能在引导启动后)。/sbin类似/bin ,但不给普通用户使用,虽然如果必要且允许时可以使用。/etc特定机器的配置文件。/rootroot用户的家目录。/lib根文件系统上的程序所需的共享库。/lib/modules核心可加载模块,特别是那些恢复损坏系统时引导所需的(例如网络和文件系统驱动)。/dev设备文件。/tmp临时文件。引导启动后运行的

2009-12-19 11:24:00 213

原创 文件系统制作总结(cramfs)

1构造目标板的根目录及文件系统1.1 建立一个目标板的空根目录我们将在这里构建构建根文件系统,创建基础目录结构. 存放交叉编译后生成的目标应用程序(BUSYBOX,TINYLOGIN),存放库文件等。[arm@localhost root]# mkdir dir[arm@localhost root]# pwd/root/dir[arm@localhost root]# c

2009-12-19 11:14:00 1080

原创 压缩,解压文件

.tar解包:tar xvf FileName.tar打包:tar cvf FileName.tar DirName(注:tar是打包,不是压缩!)---------------------------------------------.gz解压1:gunzip FileName.gz解压2:gzip -d FileName.gz压缩:gzip FileName .tar.gz解压:tar zx

2009-12-19 10:37:00 269

原创 Qt 中的多线程 (一)

QT通过三种形式提供了对线程的支持。它们分别是,一、平台无关的线程类,二、线程安全的事件投递,三、跨线程的信号-槽连接。这使得开发轻巧的多线程Qt程序更为容易,并能充分利用多处理器机器的优势。多线程编程也是一个有用的模式,它用于解决执行较长时间的操作而不至于用户界面失去响应。在Qt的早期版本中,在构建库时有不选择线程支持的选项,从4.0开始,线程总是有效的。线程类Qt 包含下面一些线程相关的类:Q

2009-12-19 10:31:00 478

原创 QObject QT所有类的基类

QObject是QT所有类的基类,QObject是Qt Object Model的核心CODE:/*什么是Qt Object Model,主要包括如下的东西1.信号和槽2.良好的对象属性,如可查询和很好看,,,~~  3.有力的事件和事件过滤器4.国际化字符设计5.定时器为GUI的事件提供毫秒级的支持6.很优秀的对象树结构7.当对象销毁时指针自动设置为0  8.a dynamic cast

2009-12-19 10:24:00 2509

原创 Linux环境变量设置

关于用户环境变量PATH的设置;在一般情况下,Linux文件系统中bin或sbin目录中的文件都是可执行的。有时我们为了方便不输入路径就能调用指令或工具,这时要就要设置用户的环境变量PATH。看下面的一例:[root@localhost ~]# lsadduml.sh  lsfile.sh  mkuml-2004.07.17  mkuml-2004.07.17-ananas.tar.bz2  my

2009-12-19 10:10:00 229

原创 linux脚本编写基础

Linux脚本编写语法基础介绍:1 开头程序必须以下面的行开始(必须方在文件的第一行):#!/bin/sh符号#!用来告诉系统它后面的参数是用来执行该文件的程序。在这个例子中我们使用/bin/sh来执行程序。当编写脚本完成时,如果要执行该脚本,还必须使其可执行。要使编写脚本可执行:编译 chmod +x filename 这样才能用./filename 来运行2 注释在进行shell编程时,以#开

2009-12-19 10:09:00 222

原创 修改qt程序的图标(for windows)

最近经常在windows写qt程序。编译完的qt程序图标是windows默认的应用程序图标,不好看。于是就想给它换一个,找了一下qt的帮助文档,里面有提到这个问题。方法也挺简单的: 首先当然要有一个图标了,呵呵。把这个图标复制到程序的主目录下,姑且名字叫”myicon.ico”吧。没有?可以自己用vc画一个。然后编写一个icon.rc文件。里面只有一行文字: IDI_ICON1 ICON “myi

2009-12-19 10:00:00 405

原创 移植QtE4.5.2到开发板

1. configure参数:./configure /-qconfig myconfig /-prefix /usr/QtEmbedded-4.5.2-arm /-nomake tools /-nomake examples /-nomake demos /-nomake docs /-nomake translations /-stl /-continue /-qt-sql-sqlite /-

2009-12-19 09:58:00 410

原创 如何将QString转换为char *或者相反

先看看官方是如何说的:How can I convert a QString to char* and vice versa ?(trolltech)Answer:In order to convert a QString to a char*, then you first need to get a latin1 representation of the string b

2009-12-19 09:34:00 234

原创 Linux图形界面基本知识

 输入第一个程序的代码,代码原型如下:#include int main(int argc,char*argv[]){       GtkWidget *window;       gtk_init(&argc,&argv);       window=gtk_window_new(GTK_WINDOW_TOPLEVEL);       gtk_window_set

2009-09-09 09:48:00 429

原创 linux popen函数

  描述popen() 函数 用 创建管道 的 方式启动一个 进程, 并调用 shell. 因为 管道是被定义成单向的, 所以 type 参数 只能定义成 只读或者 只写, 不能是 两者同时, 结果流也相应的 是只读 或者 只写. command 参数 是 一个 字符串指针, 指向的是一个 以 null 结束符 结尾的字符串, 这个字符串包含 一个 shell 命令. 这个命令 被送到

2009-05-22 10:05:00 8485

WDS_MAT_MACclone

介绍WDS,MAT, MACCLONE 的原理及使用方法

2012-04-24

MAC CLONE介绍

MAC clone 技术文档,是介绍ALTAI C1设备在没有WDS情况下(无线报文是3地址情况),如何实现终端通过DHCP拿地址

2012-04-24

空空如也

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

TA关注的人

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