linux vi编辑器操作手册
摘要:简介http://www.cnblogs.com/0201zcr/p/4781341.html Linux下的文本编辑器有很多种,vi 是最常用的,也是各版本Linux的标配。注意,vi 仅仅是一个文本编辑器,可以给字符着色,可以自动补全,但是不像 Windows 下的 word 有排版功能。 ...
阅读全文
posted @
2015-09-06 08:37
spinsoft
阅读(294)
推荐(0)
linux下gcc编译多个源文件、gdb的使用方法
摘要:stay hungry,stay foolishlinux下gcc编译多个源文件、gdb的使用方法一. gcc常用编译命令选项假设源程序文件名为test.c。1. 无选项编译链接用法:#gcc test.c作用:将test.c预处理、汇编、编译并链接形成可执行文件。这里未指定输出文件,默认输出为a....
阅读全文
posted @
2015-05-07 08:42
spinsoft
阅读(521)
推荐(0)
linux设备驱动第四篇:驱动调试方法
摘要:http://www.cnblogs.com/donghuizaixian/archive/2015/04/02/4387083.html上一篇我们大概聊了如何写一个简单的字符设备驱动,我们不是神,写代码肯定会出现问题,我们需要在编写代码的过程中不断调试。在普通的c应用程序中,我们经常使用print...
阅读全文
posted @
2015-04-07 10:59
spinsoft
阅读(2653)
推荐(1)
移动应用中的AR开发,5款最受欢迎工具推荐!
摘要:英文原文:Top 5 Tools for Augmented Reality in Mobile Apps 还记得前段时间在网上很火的 3D 小熊不?托它的福,为相当一部分人科普了增强现实(AR)这一技术。而在之前,我们也有文章专门介绍了几款 AR 应用,这些应用的出现恰恰反映出了增强现实技术...
阅读全文
posted @
2015-03-24 09:13
spinsoft
阅读(1245)
推荐(0)
libevent
摘要:Libevent 是一个用C语言编写的、轻量级的开源高性能网络库,主要有以下几个亮点:事件驱动( event-driven),高性能;轻量级,专注于网络,不如 ACE 那么臃肿庞大;源代码相当精炼、易读;跨平台,支持 Windows、 Linux、 *BSD 和 Mac Os;支持多种 I/O 多路...
阅读全文
posted @
2015-03-10 10:48
spinsoft
阅读(404)
推荐(0)
linux 统计 程序 运行时间
摘要:测试 代码运行时间linux 中的 中 有个函数可以获取当前时间,精确到 微秒 ----> gettimeofday() 1 #include // int gettimeofday(struct timeval *tv, struct timezone *tz); 2 /***...
阅读全文
posted @
2014-06-04 11:43
spinsoft
阅读(1111)
推荐(0)
Linux rescue
摘要:Linux rescue适用场景: 当误操作修改系统启动文件/etc/fstab, /etc/rc.d/rc.sysinit时,就会造成系统启动时读取磁盘或初始化环境失败,导致linux无法正常启动,此时就可以借助Linux的救援模式临时进入系统,进行文件修改,纠正错误救援(rescue)模式的本质...
阅读全文
posted @
2014-05-05 08:07
spinsoft
阅读(1024)
推荐(0)
Linux网络编程组播测试代码
摘要:Linux网络编程组播测试代码(转载)组播客户端代码如下:#include #include #include #include #include #include #define BUFLEN 255int main(int argc, char **argv){struct sockaddr_in peeraddr, myaddr;int sockfd;char recmsg[BUFLEN + 1];unsigned int socklen;/* 创建 socket 用于UDP通讯 */sockfd = socket(AF_INET, SOCK_DGRAM, 0);if (sockfd #
阅读全文
posted @
2013-11-13 13:44
spinsoft
阅读(1552)
推荐(0)
VI 你不知道的事
摘要:1G 顶部G 底部ctrl+F 前进ctrl+B 后退/text 向前搜索?text 向后搜索I i 插入字符串a 光标后插入字符A 跳到句末尾wq 写入并退出h k j l 上下左右移动光标/键盘上的箭头一样o 光标前打开新的一行输入文字O光标后打开新的一行输入文字yy复制光标的一行p将复制的行放到光标后边dd删除光标行x删除光标后的一个字符
阅读全文
posted @
2013-10-16 15:30
spinsoft
阅读(150)
推荐(0)
<转>linux操作系统编程——共享内存读写(采用信号量进行同步互斥)
摘要:http://blog.csdn.net/yanghaoran321/article/details/7872722程序要求: 创建一个写端和一个读端,写端写入数据后读端才开始读,读端读完数据后,写端才可以开始写,这样的同步采用信号机制实现,并且写端与读端打开顺序不同也能实现功能;程序如下:(1)write.c(写端)[cpp]view plaincopyprint?#include#include#include#include#include#include#include#include"sem.h"typedefstruct{charbuf[1024];}memor
阅读全文
posted @
2013-09-23 16:57
spinsoft
阅读(670)
推荐(1)
<转>UNIX 共享内存应用中的问题及解决方法
摘要:http://www.ibm.com/developerworks/cn/aix/library/au-cn-sharemem/共享内存是一种非常重要且常用的进程间通信方式,相对于其它IPC机制,因其速度最快、效率最高,被广泛应用于各类软件产品及应用开发中。System V IPC 为UNIX平台上的共享内存应用制定了统一的API标准,从而为在UNIX/Linux平台上进行跨平台开发提供了极大的便利;开发人员基于一套基本相同的源代码,便可开发出同时支持AIX、Solaris、HP-UX、Linux等平台的产品。然而,各个平台对System V 标准的API在实现上各有差异,由此对相关应用开发带
阅读全文
posted @
2013-09-23 16:57
spinsoft
阅读(566)
推荐(1)
<转>linux进程间通信<一>
摘要:这篇文章真心不错,只是代码比较久,有些地方需求大家自行修改。先全文转载,以备复习只用。原文链接为:http://www.ibm.com/developerworks/cn/linux/l-ipc/part1/#b正文:1、 管道概述及相关API应用1.1 管道相关的关键概念管道是Linux支持的最初Unix IPC形式之一,具有以下特点:管道是半双工的,数据只能向一个方向流动;需要双方通信时,需要建立起两个管道;只能用于父子进程或者兄弟进程之间(具有亲缘关系的进程);单独构成一种独立的文件系统:管道对于管道两端的进程而言,就是一个文件,但它不是普通的文件,它不属于某种文件系统,而是自立门户,单
阅读全文
posted @
2013-09-23 16:55
spinsoft
阅读(337)
推荐(1)
从给内核单独编译设备驱动模块,到使用模块
摘要:Using Linux Device Drivers as ModulesThis page contains instructions on using Linux device drivers as loadable kernel modules.Linux has a facility for linking device drivers into the running kernel. This is called Modules support. With the vast variety of supported devices, pre-linking a kernel with
阅读全文
posted @
2013-09-13 08:59
spinsoft
阅读(398)
推荐(0)
用GDB调试程序
摘要:http://www.cnblogs.com/sdgwc/p/3301294.htmlGDB是一个强大的命令行调试工具。大家知道命令行的强大就是在于,其可以形成执行序列,形成脚本。UNIX下的软件全是命令行的,这给程序开发提代供了极大的便利,命令行软件的优势在于,它们可以非常容易的集成在一起,使用几个简单的已有工具的命令,就可以做出一个非常强大的功能。于是UNIX下的软件比Windows下的软件更能有机地结合,各自发挥各自的长处,组合成更为强劲的功能。而Windows下的图形软件基本上是各自为营,互相不能调用,很不利于各种软件的相互集成。在这里并不是要和Windows做个什么比较,所谓“寸有所
阅读全文
posted @
2013-09-04 16:38
spinsoft
阅读(254)
推荐(0)
内核模块入门之深入浅出
摘要:出学内核模块,略做总结。希望对广大菜鸟有所帮助。为了不浪费大牛们的时间,在开头先列出文章中将要讲到的几个知识点,都了解的可以飘过哈!一、内核模块代码的特点二、内核模块的Makefile 的编写三、内核模块的安装、卸载四、模块的可选信息五、内核模块导出六、内核加载常见的问题一、内核模块代码的特点 何谓内核模块?为什么需要内核模块? 你当然可以不需要内核模块,只需要将代码编入内核中即可。但这又导致了内核将越来越庞大。使用内核模块还有一个特点,那就是“即插即用”,可以在系统运行是加载和卸载,大大方便了模块的使用和开发。那么,内核模块在代码编写上有啥特点呢? View Code (1)必须有一下函..
阅读全文
posted @
2013-08-29 08:37
spinsoft
阅读(580)
推荐(0)
Linux 启动顺序
摘要:Linux 启动顺序:1、 BIOS自检2、 运行系统内核并检测硬件3、 运行系统的第一个进程init4、 init读取系统引导配置文件/etc/inittab中的信息进行初始化 /etc/rc.d/rc.sysinit------系统初始化脚本 /etc/rc.d/rcX.d/[KS]*------根据运行级别配置服务 /etc/rc.d/rc.local---------执行本地特殊配置 其它---------不同运行级别的特殊服务Linux启动运行init程序来启动相关程序初始化,与启动相关的一个概念是运行级,运行级是操作系统当前运行的级别,在不同运行级别上可以定义属于该运行级的启动程序
阅读全文
posted @
2013-08-28 13:36
spinsoft
阅读(515)
推荐(0)
linux中top命令详解
摘要:在linux的top命令里的cpu信息是什么意思呢? Cpu(s): 62.1% us, 15.9% sy,0.1% ni, 19.4% id,2.0% wa,0.1% hi,0.4% si Mem: 8247956k total,8232004k used,15952k free,205240k buffers Swap: 8191992k total,48k used,8191944k free,7156092k cached top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器。下面详细介绍它的使用方法。 top – 0.
阅读全文
posted @
2013-07-10 13:18
spinsoft
阅读(750)
推荐(0)
用户态到内核态切换之奥秘解析
摘要:学号:SA12**6112本文将主要研究在X86体系下Linux系统中用户态到内核态切换条件,及切换过程中内核栈和任务状态段TSS在中断机制/任务切换中的作用及相关寄存器的变化。一:用户态到内核态切换途径: 1:系统调用 2:中断 3:异常对应代码,在3.3内核中,可以在/arch/x86/kernel/entry_32.S文件中查看。二:内核栈内核栈:Linux中每个进程有两个栈,分别用于用户态和内核态的进程执行,其中的内核栈就是用于内核态的堆栈,它和进程的task_struct结构,更具体的是thread_info结构一起放在两个连续的页框大小的空间内。在内核源代码中使用C语言定义了...
阅读全文
posted @
2013-06-27 13:29
spinsoft
阅读(841)
推荐(0)
[分享]收集的Linux学习资源
摘要:下面是我收集的一些Linux资源,与大家分享。大家共同学习,一起进步。国内的专业Linux网站(GB)1. ChinaUnix:http://www.chinaunix.net/2. Linux伊甸园论坛: http://bbs.linuxeden.com/index.php国内的专业Linux网站(BIG5)1. 香港Linux用户协会: http://wiki.linux.org.hk/w/Mainpage,了解香港Linux的好网站。2. Linux@Taiwan:http://www.Linux.org.tw/,台湾的Linux爱好者组织,CLDP的家,列有翻译的Linux HOWTO
阅读全文
posted @
2013-06-26 12:47
spinsoft
阅读(278)
推荐(0)
Linux共享库
摘要:共享库的命名惯例按照共享库的命名惯例,每个共享库有三个文件名:real name、soname和linker name。真正的库文件(而不是符号链接)的名字是real name,包含完整的共享库版本号。例如上面的libcap.so.1.10、libc-2.8.90.so等。soname是一个符号链接的名字,只包含共享库的主版本号,主版本号一致即可保证库函数的接口一致,因此应用程序的.dynamic段只记录共享库的soname,只要soname一致,这个共享库就可以用。例如上面的libcap.so.1和libcap.so.2是两个主版本号不同的 libcap,有些应用程序依赖于libcap.so
阅读全文
posted @
2013-06-09 11:50
spinsoft
阅读(580)
推荐(0)