- 博客(22)
- 收藏
- 关注
转载 字符设备驱动数据结构之File_operations结构体
File_operations结构体 file_operation就是把系统调用和驱动程序关联起来的关键数据结构。这个结构的每一个成员都对应着一个系统调用。读取file_operation中相应的函数指针,接着把控制权转交给函数,从而完成了Linux设备驱动程序的工作。 在系统内部,I/O设备的存取操作通过特定的入口点来进行,而这组特定的入口点恰恰是由设备驱动程序提供的。
2011-11-02 13:30:30
1210
转载 设备号的静态申请与动态分配
设备号是在驱动module中分配并注册的,也就是说,驱动module拥有这个设备号(我的理解),而/dev目录下的设备文件是根据这个设备号创建的,因此,当访问/dev目录下的设备文件时,驱动module就知道,自己该出场服务了(当然是由内核通知)。 在Linux内核看来,主设备号标识设备对应的驱动程序,告诉Linux内核使用哪一个驱动程序为该设备(也就是/dev下的设备文件)服务;而次
2011-11-02 13:23:37
4564
转载 INADDR_ANY 百科
INADDR_ANY就是指定地址为0.0.0.0的地址,这个地址事实上表示不确定地址,或“所有地址”、“任意地址”。 一般来说,在各个系统中均定义成为0值。 一般来说,在各个系统中均定义成为0值。例如MontiVista Linux中在/usr/include/netinet/in.h定义为: /* Address to accept a
2011-10-28 16:35:44
716
转载 socket结构和几个IP地址转换函数
通用的结构体:struct sockaddr {unsigned short sa_family; /* address family, AF_xxx */char sa_data[14]; /* 14 bytes of protocol address */ };编程时常用的struct sockaddr_in {short int sin_family; /* Ad
2011-10-28 15:10:13
539
转载 Linux 的套接字编程 (2)
一、sendto函数view plainint Sendto(int sockfd, const void * data, int data_len, unsigned int flags, struct sockaddr *remaddr,int remaddr_len) 功能:基于UDP发送数据报,返回实际发送的数据长度,出错时
2011-10-27 22:18:47
541
转载 Linux 的套接字编程 (一)
一、需要的头文件数据类型:#include 函数定义:#include TCP/IP协议族:PF_INETTCP/IP的地址族:AF_INET 二、socke函数int socket(int domain, int type, int protocol); 这一个函数在客户端和服务器都要使用。 它是这样被声明的: 返回值的类型与open的
2011-10-27 22:17:11
794
转载 第九章 C99可变长数组VLA详解
C90及C++的数组对象定义是静态联编的,在编译期就必须给定对象的完整信息。但在程序设计过程中,我们常常遇到需要根据上下文环境来定义数组的情况,在运行期才能确知数组的长度。对于这种情况,C90及C++没有什么很好的办法去解决(STL的方法除外),只能在堆中创建一个内存映像与需求数
2011-10-02 10:54:44
621
转载 第十章 动态数组
当写下这个题目的时候,笔者心里其实非常犯难。因为从本质上来说,本章想阐述的内容与题目所宣示的概念,其实是不一样的。在编程中,我们常常要处理一段长度未知的数据,而且,运行过程中长度可能会发生变化,现行的C/C++标准没有提供在栈段和数据段内存中的实现,只提供堆中的实现,例如可以象下
2011-10-02 10:53:37
464
转载 TFTP
(1)/* if compile under visiual c++ else undefine this*/#include #include #include #pragma comment(lib, "winmm.lib")#pragma com
2011-09-16 16:06:03
5222
转载 uIP TCP/IP协议栈在51系列单片机上的应用
uIP 协议栈是一种免费的可实现的极小的TCP/IP协议栈,可以使用于由8位或16位微处理器构建的嵌入式系统。本文分析了uIP协议栈的结构和应用接口,并讨论了如何将其应用到51系列单片机上。关键字:TCP/IP 单片机 嵌入式系统一 引言近几年来,人们对连接各种装
2011-09-14 15:31:23
1298
转载 华为面试题
1、局部变量能否和全局变量重名? 答:能,局部会屏蔽全局。要用全局变量,需要使用"::" 局部变量可以与全局变量同名,在函数内引用这个变量时,会用到同名的局部变量,而不会用到全局变量。对于有些编译器而言,在同一个函数内可以定义多个同名的局部变量,比如在两个
2011-09-04 13:27:37
1039
转载 struct 结构体中 数组和指针
本文主要介绍在struct 结构体中对数组和指针的操作细节。 我们需要明确两个概念:a、 初始化:分配内存并写入值。b、 赋值: 查找内存并写入值。 在上一篇文章有提到数组和指针的初始化和赋值问题,对于数组,可以初始化,但不能对整个数组赋值,而
2011-09-04 12:49:28
11333
转载 通用指针类型
以下是通过指针传递参数给新线程传递参数方法:这种方法首先将要传递的数据转换成通用指针类型,然后传递给新线程,新线程再将其还原成原数据类型:void *start_routine(void *arg);int main(void) { int connfd; …
2011-08-25 19:16:45
2112
转载 linux下的so、o、lo、a、la文件有什么区别
o: 编译的目标文件a: 静态库,其实就是把若干o文件打了个包so: 动态链接库(共享库)lo: 使用libtool编译出的目标文件,其实就是在o文件中添加了一些信息la: 使用libtool编译出的库文件,其实是个文本文件,记录同名动态库和静态库的相关信息
2011-08-24 12:26:08
638
转载 Linux指定动态库搜索路径
众所周知,Linux动态库的默认搜索路径是/lib和/usr/lib。动态库被创建后,一般都复制到这两个目录中。当程序执行时需要某动态库, 并且该动态库还未加载到内存中,则系统会自动到这两个默认搜索路径中去查找相应的动态库文件,然后加载该文件到内存中,这样程序就可以使用该动态
2011-08-23 22:14:04
2148
转载 Linux 环境下使用RS-232接口
RS是英文 "推荐标准"的缩写232为标识号RS-485 串口通信表示计算机一次传送一个位的数据,当使用串行通信时,每个字的数据是一个位一个位的传输或接收的,每个位不是高电平,就是低电平.串行通信的速率通常是使用"位/每秒"的方式来表示的,即波特率
2011-08-20 20:15:11
1953
转载 等待来自多个信号来源的输入
这一段很短. 它只能被拿来当成写程序时的提示, 故范例程序也很简短. 但这个范例不只能用在序列埠上, 还可以用在被当成文档来使用的装置上.select 呼叫及伴随它所引发的巨集共用 fd_set. fd_set 则是一个位元阵列, 而其中每一个位元代表一个有效的文档叙述结
2011-08-20 20:14:35
686
转载 非同步式输入
#include #include #include #include #include #include #define BAUDRATE B38400#define MODEMDEVICE "/dev/ttyS1"#define _POSIX_SOURCE 1 /* POSI
2011-08-20 20:13:03
655
转载 非标准输入程序
在非标准的输入程序模式下, 输入的资料不会被组合成一行而输入后的处理功能 (清除, 杀掉, 删除, 等等.) 都不能使用. 这个模式有两个功能控制参数: c_cc[VTIME] 设定字元输入时间计时器, 及 c_cc[VMIN] 设定满足读取功能的最低字元接收个数.如果
2011-08-20 20:12:26
638
转载 linux下串口应用程序编程
这几天,由于多功能温度测量仪项目的需要,涉及到了GSM信息的串口读取,所以在Linux下串口信息的读取有了一点心得体会。1. 打开串口 与其他的关于设备编程的方法一样,在Linux下,操作、控制串口也是通过操作起设备文件进行的。
2011-08-20 18:47:36
7509
转载 华为_C++ 笔试题目
本文的写作目的并不在于提供C/C++程序员求职面试指导,而旨在从技术上分析面试题的内涵。 许多面试题看似简单,却需要深厚的基本功才能给出完美的解答。企业要求面试者写一个最简单的strcpy函数都可看出面试者在技术上究竟达到了怎样的程度,我们能真正写好一个strcpy函数吗?
2011-08-20 14:10:04
739
转载 Ubuntu下串口工具
虽然现在串口通信用的地方很少,但是配置交换机,路由器的初始配置时,没有它还真的不行,Windows下有很好用的超级终端,比较方便就可以配置。 Ubuntu下也有这样的串口通信工具,比如Minicom,kermit。minicom比较通用,kermit比较好用。
2011-08-19 16:39:00
1263
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人