- 博客(18)
- 资源 (4)
- 收藏
- 关注
原创 pthread_t
类型定义: typedef unsigned long int pthread_t; //come from /usr/include/bits/pthread.h 用途:pthread_t用于声明线程ID。 sizeof (pthread_t) =4;
2012-05-28 16:30:42 4352 1
原创 atoi函数
C语言库函数名: atoi 功 能: 把字符串转换成整型数. 名字来源:array to integer 的缩写. 原型: int atoi(const char *nptr); 函数说明: 参数nptr字符串,如果第一个非空格字符不存在或者不是数字也不是正负号则返回零,否则开始做类型转换,之后检测到非数字(包括结束符 \0) 字符时停止转换,返回整型数。
2012-05-28 16:28:01 593
原创 snprintf函数
int snprintf(char *str, size_t size, const char *format, ...); (1) 如果格式化后的字符串长度 < size,则将此字符串全部复制到str中,并给其后添加一个字符串结束符('\0'); (2) 如果格式化后的字符串长度 >= size,则只将其中的(size-1)个字符复制到str中,并给其后添加一个字符串结束
2012-05-28 16:25:17 668
原创 insmod: error inserting './sctp.ko': -1 Unknown symbol in module
insmod: error inserting './---.ko': -1 Unknown symbol in module出错之后,dmesg|tail查看哪里出错了。比如说:unknow symbol crc_ccit解决:在lib-moudles-2.6.32....-kernel-lib下有crc-ccit.ko加载上即可
2012-05-22 15:56:08 4313
原创 error: 'memcpy' was not declared in this scope
最近要做些实时传输方面的东西,做过才发现这东西不好找,也不好装那本以为能顺顺利利装好,装得时候很郁闷,make老是报我错:make这一步就出问题了。sdh_pocket_reader.cpp:208: error: 'memcpy' was not declared in this scope不知道是不是有很多人会出现这种情况导致装不了,但是我会出现同样的错误。其实解决办法很容
2012-05-21 17:27:54 15913 2
原创 Linux如何清空Socket缓冲区
最近碰到一个问题,对于阻塞模式的socket通讯,如果要实现设备的命令控制,那么进入命令流前,缓冲区不能存有上次通讯没有取回的信息,否则一旦命令发出,然后读取缓冲区,很显然会读到上一次的剩余数据。做法当然很简单,就是先清除接收区的缓冲数据,可是如何清除?socket不是这么接收数据的由于socket是以数据流的形式发送数据,接收方不知道对方一次性发送了多少数据,也能保证对方一次性发送的数据
2012-05-17 17:03:42 7343 1
原创 socket编程中的memset函数的作用是什么
原型是extern void *memset(void *buffer, int c, int count) buffer为指针或是数组,c是赋给buffer的值,count是buffer的长度.这个函数在socket中多用于清空数组.如:原型是memset(buffer, 0, sizeof(buffer))
2012-05-17 15:19:01 2727
原创 运行bash 说权限不足的问题
运行某个程序时,bash 说权限不足的问题在Linux下,你自己编写的脚本需要执行的时候,需要加上执行权限:chmod +x ./你的程序或把所有权限都加上:chmod +777 ./你的程序再运行即可。
2012-05-17 09:38:47 14440 2
原创 socke连接的一些问题的解决:1.connect: Connection refused 2.connect: No route to host
socke连接的一些问题的解决:1.connect: Connection refused 2.connect: No route to host解决:先试下可以ping通不?如果可以,就关闭防火墙,如果不行就请检查网络连接
2012-05-17 09:37:04 1072
原创 C中#if 0 ---#endif和#if 1 ---#endif
这句话起什麽作用?条件总为假,用来跳过某些代码段,编译时跳过#if 0与#endif之间的代码,该语句导致#if 0---#endif之间的语句不会被编译,他是一条预编译语句。 当注释掉大块代码时,使用"#if 0"比使用"/**/"要好,因为用"/**/"做大段的注释要防止被注释掉的代码中有嵌套的"/**/",这会导致注释掉的代码区域不是你想要的范围, 当被注释掉的代码很大时容易
2012-05-14 16:20:55 1461
原创 centos 配置IP和解除自动待机休眠
发现了个常见的问题就是会自动休眠,我是插上显示器才发现的,本来在桌面环境下我是配置好的,但结果还是发生了,再次网上搜索结果后才找到解决方法vi \etc\X11\xorg.conf添加以下内容Section "ServerFlags" Option "BlankTime" "0" Option "StandbyTime" "0" O
2012-05-14 11:05:48 5845 2
原创 arm处理器的高低电平如何划分
TTL电平的,数字电路中,由TTL电子元器件组成电路使用的电平。电平是个电压范围,规定输出高电平>2.4V,输出低电平=2.0V,输入低电平<=0.8V,噪声容限是0.4V。如果你给ARM 提供 3.7V电压的话 输出: 高 3.5V 低 0.2V输入 只要 =2.0V 就认为是高电平
2012-05-09 17:03:11 2658
原创 linux下提示bash:command not found
首先就要考虑root 的$PATH里是否已经包含了这些环境变量。 主要是这四个:/bin ,/usr/bin,/sbin,/usr/sbin。 四个主要存放的东东: ./bin: bin为binary的简写主要放置一些系统的必备执行档例如:cat、cp、chmod df、dmesg、gzip、kill、ls、mkdir、more、mount、rm、su、tar等。/usr/
2012-05-09 09:27:40 14110
原创 什么是SVC模式
ARM 处理器有二十七个寄存器,其中一些是在一定条件下使用的,所以一次只能使用十六个... 寄存器 0 到寄存器 7 是通用寄存器并可以用做任何目的。不象 80x86 处理器那样要求特定寄存器被用做栈访问,或者象 6502 那样把数学计算的结果放置到一个累加器中,ARM 处理器在寄存器使用上是高度灵活的。寄存器 8 到 12 是通用寄存器,但是在切换到 FIQ 模式的时候,使用它们的影
2012-05-09 09:22:35 23177 1
原创 insmod: error inserting 'hello.ko': -1 Invalid module format
使用命令ismod helloworld.ko 加载编译成功的模块helloworld.ko时出现错误 insmod: error inserting 'helloworld.ko': -1 Invalid module format一般出错信息被记录在文件/var/log/messages中# cat /var/log/messages |tail 通过命令看一下模块的相关信息
2012-05-04 11:30:24 5999
原创 CentOS安装说明
CentOS 6.0 64bit操作系统简介、安装及网络配置说明 目录修改记录- 2 -1.CentOS简介- 4 -2. CentOS6.0 安装- 7 -2.1安装前准备- 7 -2.2 安装步骤如下- 8 -2.3 安装完成后的初始设置(系统第一次启动)- 17 -2.4 CentOS安装网络配置
2012-05-04 11:22:16 2468
原创 Linux内核树的搭建及简单的驱动调试
原由:一个基本的Linux设备驱动开发环境,由宿主机和目标机组成,宿主机就是用来做驱动开发工作的主机,目标机就是用来运行和测试设备驱动的主机,在宿主机上需要有开发工具(gcc,gdb,make等)和linux源码(版本要对应目标机上的linux内核),而目标机上只要运行linux即可。搭建交叉编译环境前提:1. 一台已经安装好linux系统的主机或者是已经安装好虚拟机的主机
2012-05-04 11:17:52 1187
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人