Linux
小粒麦子
这个作者很懒,什么都没留下…
展开
-
ubuntu安装vmware tools
VMware提供的一套很贴心的程序,用于解决虚拟机的分辨率问题(我们前面有提过)、改善鼠标的性能,并且能将虚拟机的剪贴板内容直接粘贴到宿主机中。当然,不安装VMware Tools也不会带来什么灾难,只不过从用户体验方面考虑,装上VMware Tools会给你对虚拟机的操作带来尽可能多的方便。VMware Tools必须在虚拟机已经开启且已安装操作系统的前提下才能安装。如果你注意过VMwa原创 2013-01-09 10:18:25 · 797 阅读 · 0 评论 -
setsocketopt设置socket应用
setsocketopt设置socket应用1.closesocket(一般不会立即关闭而经历TIME_WAIT的过程)后想继续重用该socket:BOOL bReuseaddr=TRUE;setsockopt(s,SOL_SOCKET ,SO_REUSEADDR,(const char*)&bReuseaddr,sizeof(BOOL));2.原创 2013-04-26 14:17:42 · 4319 阅读 · 0 评论 -
recv()退出线程
今天遇到recv()过程中,退出程序问题在recv()在等待数据时,由于对方断开,造成recv()返回SIGPIPE,造成退出进程。send()也会遇到相同问题,当服务器close一个连接时,若client端接着发数据。根据TCP协议的规定,会收到一个RST响应,client再往这个服务器发送数据时,系统会发出一个SIGPIPE信号给进程,告诉进程这个连接已经断开了,不要再写了。根据信号的原创 2013-04-26 14:15:29 · 3562 阅读 · 0 评论 -
网络传输数据出错问题
网络上传输的数据采用大端方式,而存储在x86平台上数据采用小端方式,因此要注意转换。htonl()、htons()、ntohl()、ntohl()函数的使用。网络字节顺序与本地字节顺序之间的转换函数: htonl()--"Host to Network Long" ntohl()--"Network to Host Long"原创 2013-05-02 11:35:04 · 2493 阅读 · 0 评论 -
嵌入式linux保存参数数据
大多数软件开发都会涉及到数据参数的保存与读取,小至运行的单片机的软件,大至操作系统级别的软件(如linux,windows,mac),均会有专门的子程序或者模块进行参数的保存和读取。不同的平台下开发,参数的保存与读取会存在一定的差异化,例如,单片机下,保存参数是写入eeprom或者 rom,windows和linux下的软件则会以配置文件的形式保存参数。下面以我以前在工作中所遇到情况,重点写写原创 2013-05-03 09:36:01 · 2115 阅读 · 1 评论 -
linux shell脚本中的延时
linux shell脚本中的延时还是使用 sleep 或usleep函数。详细如下: 1、sleep : 默认为秒。sleep 1s表示延迟一秒 sleep 1m表示延迟一分钟 sleep 1h表示延迟一小时 sleep 1d表示延迟一天 2、usleep : 默认以微秒。 1s = 1000ms = 1000000原创 2013-05-21 16:16:26 · 115455 阅读 · 2 评论 -
Asyle在source Insight 中的使用
Asyle在source Insight 中的使用Windows用SourceInsight编辑C/C++程序,但是SourceInsight没有提供对代码格式化的功能,如果将Artistic Style集成到SourceInsight中,那就可以为它扩展出代码格式化的功能了。假定AStyle.exe的目录是“C:/AStyle/”,AStyle集成到SourceInsight中的方法。原创 2013-05-29 16:27:46 · 1895 阅读 · 0 评论 -
Vim的IDE配置(详细教程)
转自:Figthing我的vim IDE界面: 1、安装Vim和Vim基本插件首先安装好Vim和Vim的基本插件。这些使用apt-get安装即可:lingd@ubuntu:~/arm$sudo apt-get install vim vim-scripts vim-doc其中vim-scripts是vim的一些基本插件,包括语法高亮的支持、缩进等等。vim中文帮转载 2013-05-31 10:38:45 · 37055 阅读 · 1 评论 -
Vim复制代码段
使用vim有时需要移动一大段代码,以前都是在gedit里复制粘贴,今天找了一下,方法如下:复制特定的某一段:把光标移到要复制的文本的头部,按下“v”,往后移动光标,光标所过之处的字符>都会高亮,移到欲复制文本的尾部后,按下“y”,高亮文本全部被复制到剪粘板。按下“p”粘贴到目的地。剪切特定的某一段:把光标移到要剪切的文本的头部,按下“v”,往后移动光标,光标所过之处的字符>都会高亮原创 2013-06-03 14:46:45 · 7288 阅读 · 0 评论 -
控制台、串口、终端程序的说明
tcflush() 丢弃要写入引用的对象,但是尚未传输的数据,或者收到但是尚未读取的数据,取决于 queue_selector 的值: TCIFLUSH 刷新收到的数据但是不读 TCOFLUSH 刷新写入的数据但是不传送 TCIOFLUSH 同时刷新收到的数据但是不读,并且刷新写入的数据但是不传送通俗地说就是将输出缓冲器清空,把输入缓冲区清空。缓冲区里的数据都废弃转载 2013-09-24 16:00:46 · 2918 阅读 · 0 评论 -
tcflush
tcflush() 丢弃要写入引用的对象,但是尚未传输的数据,或者收到但是尚未读取的数据,取决于 queue_selector 的值:TCIFLUSH 刷新收到的数据但是不读TCOFLUSH 刷新写入的数据但是不传送TCIOFLUSH 同时刷新收到的数据但是不读,并且刷新写入的数据但是不传送将输出缓冲器清空,把输入缓冲区清空。缓冲区里的数据都废弃。原创 2013-09-24 15:55:26 · 3429 阅读 · 0 评论 -
Linux串口编程
Linux串口编程1.串口操作需要的头文件#include //标准输入输出定义#include //标准函数库定义#include //Unix标准函数定义#include #include #include //文件控制定义#include //POSIX中断控制定义#in转载 2013-09-24 16:58:56 · 761 阅读 · 0 评论 -
TCP传输大文件(图片、文档)
遇到TCP传输大文件问题,主要是(1)、传输快,但拼接成的大文件数据错(2)、加校验,传输变慢(3)、接收包数跟发送包数不对应费了一段时间才解决。今天,整理一下,留以后备用。首先,TCP是有连接、自带校验的传输协议,不需要再另外加代码(如接收端回复码给发送端)确保其正确性,这样可以保证TCP的速度,基本能达到4M/s以上。如接收包数和发送包数不一致,这只是说两边原创 2013-10-11 15:27:26 · 12046 阅读 · 2 评论 -
Linux内核编码规范
Linux kernel coding style(https://www.kernel.org/doc/Documentation/CodingStyle)这是一个简短的文档,描述了linux内核的首选代码风格。代码风格是因人而异的,而且我不愿意把我的观点强加给任何人,不过这里所讲述的是我必须要维护的代码所遵守的风格,并且我也希望绝大多数其他代码也能遵守这个风格。请在写代码时至少考虑转载 2014-03-17 14:53:25 · 856 阅读 · 0 评论 -
Ubuntu 12.04更新源
Ubuntu 12.04更新源(解决下载慢的问题)1、首先备份Ubuntu12.04源列表sudo cp /etc/apt/sources.list /etc/apt/sources.list.backup (备份下当前的源列表) 2、修改更新源sudo gedit /etc/apt/sources.list (打开Ubuntu 12.04源列表文件)转载 2014-11-26 22:39:28 · 737 阅读 · 0 评论 -
recv()设置超时
遇到recv()阻塞接收的问题,网络不通就一直等,想改成非阻塞的,也不可靠谱。最后设置了一个超时时间。设置如下: struct timeval tv_timeout; tv_timeout.tv_sec = 10; tv_timeout.tv_usec = 0;setsockopt(sock_fd,SOL_SOCKET,SO_RCVTI原创 2013-04-26 14:09:06 · 5461 阅读 · 0 评论 -
linux kernel mtd 分区
在移植linux kernel时遇到分区问题。有一点想法,不一定正确,错误请大家指出。这里基于linux2.6.28.6来说的,其他的位置有可能不同。linux对flash的分区在结构体struct mtd_partition 中,在里面可以设定分区。增加,删除,修改。分区的大小可由自己的存放文件(uboot、kernel、文件系统等)设定。这里的分区对应着块设备/dev/mtdb原创 2013-03-28 11:02:48 · 7599 阅读 · 0 评论 -
uboot一些粗浅的认识(一)
uboot 有关引导的两个重要参数是 bootargs和bootcmd。1、bootargs 携带的是引导文件的参数信息。exp:uboot命令行:setenv bootargs "root=/dev/mtdblock2 rootfstype=yaffs2 console=ttySAC0,115200" yaffs文件系统的引导(1)root=“。。。”是关于文件系统存放的位原创 2013-03-28 09:26:39 · 1104 阅读 · 0 评论 -
arm-linux-gcc root用户普通用户环境变量设置
arm-linux-gcc root用户普通用户环境变量设置 root用户1、编辑/root/.bashrc,加入arm-linux-gcc所在路径PATH2、source /root/.bashrc 普通用户1、编辑/etc/profile,加入arm-linux-gcc所在路径PATH2、source /etc/profile原创 2013-01-09 12:28:36 · 3462 阅读 · 0 评论 -
ubuntu配置ftp服务器
Ubuntu 12.04系统首先介绍一下FTP服务器FTP 是File Transfer Protocol(文件传输协议)的英文简称,而中文简称为“文传协议”。用于Internet上的控制文件的双向传输。同时,它也是一个应用程序(Application)。基于不同的操作系统有不同的FTP应用程序,而所有这些应用程序都遵守同一种协议以传输文件。在FTP的使用当中,用户经常遇到两个概念:"下载原创 2013-01-09 10:32:59 · 769 阅读 · 0 评论 -
dpkg:warning: files list file for package "********" missing, assuming package has no files
dpkg: serious warning: files list file for package "********" missing, assuming package has no files该错误通常发生在以下情况,使用dpkg -i安装deb包后,直接删除了程序所有相关的目录和文件,但是dpkg库中仍然保留了该程序的相关信息。因此,当执行apt命令时,dpkg自检时便会转载 2013-01-09 09:13:11 · 8309 阅读 · 0 评论 -
ubuntu libtool_args+=: not found 解决办法
今天编译opencv2.0的时候,make 后遇到如下情况:libtool eval: 1: libtool_args+=: not foundlibtool eval: 1: libtool_args+=: not foundlibtool eval: 1: compile_command+=: not foundlibtool eval: 1: finalize_comman原创 2013-01-10 16:35:02 · 7897 阅读 · 0 评论 -
Oops 消息
Oops 消息 Most bugs show themselves in NULL pointer dereferences or by the use of other incorrect pointer values. The usual outcome of such bugs is an oops message. 大多数bug通常是因为废弃了一个NULL指针或转载 2013-02-17 11:48:08 · 899 阅读 · 0 评论 -
linux程序开机自启动 不用回车 找不到库
linux自启动应用程序,刚开始是/etc/init.d/rcS加入应用程序或者脚本命令就可以实现开机自动运行,不过出现了“找不到库”问题,于是把应用程序放到/etc/profile中自己开机启动的程序,但是不能自启动,需要敲回车。解决方法: 从开发板的角度讲,一般只要在/etc/init.d/rcS中加入你的程序或者脚本命令就可以实现开机自动运行;想在超级终端输入回车原创 2013-03-05 09:39:53 · 2829 阅读 · 0 评论 -
编译警告
如何看待编译警告当编译程序发现程序中某个地方有疑问,可能有问题时就会给出一个警告信息。警告信息可能意味着程序中隐含的大错误,也可能确实没有问题。对于警告的正确处理方式应该是:尽可能地消除之。对于编译程序给出的每个警告都应该仔细分析,看看是否真的有问题。只有那些确实无问题的警告才能放下不管。说明:由于编译的警告各种各样,根本不可以一一罗列出来,下面只是列举出比较典型的一些警告转载 2013-03-08 15:56:42 · 969 阅读 · 0 评论 -
常用Linux内存管理 及调试工具
常用Linux内存管理 及调试工具在Linux下,除了Gdb,还有很多调试工具,例如Binutil系列工具、Glibc提供的内存检测工具、MemWatch内存错误检测工具以及valgrind工具。它们都各有所长,侧重方面有所不同。本节介绍几种常用的调试工具。3.3.1 mcheck函数mcheck是Glibc提供函数,声明如下:int mcheck (v转载 2013-02-26 14:43:45 · 1083 阅读 · 0 评论 -
去除vim中的^M符号
去除vim中的^M符号原因:有两种情况,会出现当用VIM打开文件时显示^M符号:1、vim被配置为fileformat=unix,而你打开的文件都是dos格式的。unix格式的换行符为0A(ascii码)也就是(\n),dos格式的换行符为 0D 0A(也就是(\r\n)),其实就显示为^M。一般下面的这个命令就可以让Vim能自动识别UNIX转载 2013-03-12 09:46:08 · 2514 阅读 · 0 评论 -
ubuntu英文版变成中文版
适用于ubuntu 12.04英文版的系统,其它版本的设置应该是大同小异的。进入ubuntu系统,在顶部齿状标志找到system...2.在personal找到Language Support3.进入Language Support后,在language的页面中点击Install/Remove Languages...原创 2013-03-15 11:01:04 · 10892 阅读 · 0 评论 -
Ubuntu 12.04中文输入法的安装
Ubuntu 12.04中文输入法的安装 Ubuntu上的输入法主要有小小输入平台(支持拼音/二笔/五笔等),Fcitx,Ibus,Scim等。其中Scim和Ibus是输入法框架。在Ubuntu的中文系统中自带了中文输入法,通过Ctrl+Space可切换中英文输入法。这里我们主要说下Ubuntu英文系统中,中文输入法的安装。一、是安装语言包。我们选择System Sett原创 2013-03-15 11:28:08 · 2448 阅读 · 0 评论 -
arm+linux swap出错问题
今天,程序跑了两个小时,忽然出现如下信息:swap_dup: Bad swap file entry 002fdf80VM: killing process intrusion_testswap_free: Bad swap file entry 002fdf80swap_free: Bad swap file entry 002fc280Killed看了一下,应该是s原创 2013-03-29 16:49:44 · 5281 阅读 · 0 评论 -
关于oop错误定位的学习(转)
接下来的这些信息,和这个模块的调试没多大关系,它们是虚拟内存页目录、页表信息、oops错误号以及最后访问的sysfs文件等。pgd = c39d8000 [00000000] *pgd=339cf031, *pte=00000000, *ppte=00000000 Internal error: Oops: 817 [#1] last sysfs file: /sys/devices/pla转载 2013-03-20 09:54:25 · 942 阅读 · 0 评论 -
ok6410移植linux2.6.28加yaffs文件系统
用forlinx的ok6410开发板做项目的demo,真受罪,以后谨慎选择。记录一下,不然好不容易移植好的又忘了。没什么实质的内容,只是方便自己记忆。其linux2.6.28的手册的内容有不少错误的地方,要注意。1、SD卡启动uboot,这个建议直接用其linux3.0配套的sdboot(或者叫mmc.bin);2、通过usb烧写linux2.6.28的u-boot.bin原创 2013-03-18 17:10:51 · 1043 阅读 · 0 评论 -
FTP应答码&响应码
FTP应答码&响应码转载 2017-12-25 13:15:14 · 4866 阅读 · 0 评论