上一页 1 ··· 57 58 59 60 61 62 63 64 65 ··· 71 下一页
摘要: /* ************************************************************************ * Filename: link.c * Description: * Version: 1.0 * Created: 2011骞?4鏈?9鏃?17鏃?2鍒?3绉? * Revision: none * Compiler: gcc * Author: wen hao (WH), hnrain1004@gmail.com * Company: sunplusapp * *************************************** 阅读全文
posted @ 2011-04-29 14:12 hnrainll 阅读(1397) 评论(0) 推荐(0) 编辑
摘要: 1、打 开 新 标 签 页启动 Vim 时用 "vim -p filename ...":tabe[dit] *:tabe* *:tabedit* *:tabnew*:tabnew 在当前标签页之后打开带空窗口的新标签页。:tabe[dit] [++opt] [+cmd] {file}:tabnew [++opt] [+cmd] {file} 打开新标签页并编辑 {file},其余和 |:edit| 类同。:tabf[ind] [++opt] [+cmd] {file} *:tabf* *:tabfind* 打开新标签页并编辑 'path' 里的 {file 阅读全文
posted @ 2011-04-29 13:45 hnrainll 阅读(12455) 评论(0) 推荐(0) 编辑
摘要: 打开多个文件:1.vim还没有启动的时候:在终端里输入vim file1 file2 ... filen便可以打开所有想要打开的文件2.vim已经启动输入:open file可以再打开一个文件,并且此时vim里会显示出file文件的内容。同时显示多个文件::split:vsplit在文件之间切换:1.文件间切换Ctrl+6—下一个文件:bn—下一个文件:bp—上一个文件对于用(v)split在多个窗格中打开的文件,这种方法只会在当前窗格中切换不同的文件。2.在窗格间切换的方法Ctrl+w+方向键——切换到前/下/上/后一个窗格Ctrl+w+h/j/k/l ——同上Ctrl+ww——依次向后切换 阅读全文
posted @ 2011-04-29 13:45 hnrainll 阅读(127652) 评论(4) 推荐(1) 编辑
摘要: /* ************************************************************************ * Filename: test.c * Description: 将10进制数转换成为其他任意进制数 * Version: 1.0 * Created: * Revision: none * Compiler: gcc * Author: wen hao * Company: * ************************************************************************/#include 阅读全文
posted @ 2011-04-29 10:41 hnrainll 阅读(610) 评论(0) 推荐(0) 编辑
摘要: 原地址:http://www.cnblogs.com/hicjiajia/archive/2011/01/20/1940154.html一、引言 对于没有接触过Unix/Linux操作系统的人来说,fork是最难理解的概念之一:它执行一次却返回两个值。fork函数是Unix系统最杰出的成就之一,它是七十年代UNIX早期的开发者经过长期在理论和实践上的艰苦探索后取得的成果,一方面,它使操作系统在进程管理上付出了最小的代价,另一方面,又为程序员提供了一个简洁明了的多进程方法。与DOS和早期的Windows不同,Unix/Linux系统是真正实现多任务操作的系统,可以说,不使用多进程编程,就不能算是 阅读全文
posted @ 2011-04-28 18:01 hnrainll 阅读(600) 评论(0) 推荐(1) 编辑
摘要: 版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明http://tuhao.blogbus.com/logs/22833492.htmlextern char **environ;int execl(const char*fullpath, const char*arg, ...);int execlp(const char*file, const char*arg, ...);int execle(const char*fullpath, const char*arg, ..., char* constenvp[]);int execv(const char*fullpath, 阅读全文
posted @ 2011-04-28 18:00 hnrainll 阅读(630) 评论(0) 推荐(0) 编辑
摘要: 源地址:http://blog.csdn.net/copal/archive/2010/04/06/5454279.aspx1. 概念按照 POSIX, 异步 (外部) 信号发送到整个进程.所有线程共享同一个设置, 即通过 sigaction 设置的线程处置方法.每个线程有自己的信号掩码, 线程库根据该掩码决定将信号发送到哪个线程.由于Linux 线程实现上的独特性, 外部信号始终发送到特定的线程. 2. 例子view plaincopy to clipboardprint?#include<pthread.h>#include<stdio.h>#include< 阅读全文
posted @ 2011-04-28 06:33 hnrainll 阅读(5195) 评论(0) 推荐(0) 编辑
摘要: MPlayer名称概要说明一般注记播放选项 ( 仅用于 MPLAYER)分路器 / 媒体流选项OSD/ 字幕选项音频输出选项 ( 仅用于 MPLAYER)视频输出选项 ( 仅用于 MPLAYER)解码 / 滤镜选项编码选项 ( 仅用于 MENCODER)键盘控制SLAVE 模式协议文件示例BUGS作者标准声明名称 mplayer − Linux下的电影播放器mencoder − Linux下的电影编码器概要 mplayer [选项] [ 文件 | URL | 播放列表 | - ]mplayer [全局选项] 文件1 [特定选项] [文件2] [特定选项]mplayer [全局选项] {一组文件 阅读全文
posted @ 2011-04-26 06:35 hnrainll 阅读(9264) 评论(0) 推荐(0) 编辑
摘要: 播放文件使用 MPlayer 播放媒体文件最简单的方式是:mplayer <somefile>MPlayer 会自动检测文件的类型并加以播放,如果是音频文件,则会在命令行中显示该播放文件的状态信息;而假如是视频文件的话,则会打开一个新的播放窗口。倒退与快进在播放文件的时候,你可以通过以下三组快捷键来对播放进程进行倒退与快进操作:左方向键和右方向键:分别执行倒退 10 秒和快进 10 秒操作下方向键和上方向键:分别执行倒退 1 分钟和快进 1 分钟操作下翻页键和上翻页键:分别执行倒退 10 分钟和快进 10 分钟操作播放 DVD虽然 MPlayer 不支持 DVD 菜单,但是却能够播 阅读全文
posted @ 2011-04-26 06:34 hnrainll 阅读(2347) 评论(0) 推荐(0) 编辑
摘要: 首先说明,虽然我已经成功地做到了调用MPlayer并给它发送命令然后读取结果,但是具体的过程细节到底是怎样的我还不是很清楚。同样是因为这样的原因,我在文中的叙述可能有技术上的错误,欢迎指正popen()函数用于打开一个进程,返回结果是一个FILE*类型,这个返回值根据打开方式的不同,分别指向使用popen()打开的程序的输入流或输出流,可以直接当成一个普通文件来使用。popen()的第一个函数是命令行,就是要执行的程序的命令,第二个参数可以是"r“或"w",这和fopen是差不多的,一个是读取,这时候返回结果可以当成打开的进程的输出流,另一个w就是输入,返回结果可 阅读全文
posted @ 2011-04-26 06:18 hnrainll 阅读(3278) 评论(0) 推荐(0) 编辑
摘要: 本来是因为毕业设计要用到mplayer的slave模式 ,找了半天没有中文的,所以花了一晚上的时间翻译了下,官方的帮助文档,发在blog,大家交流下,小弟英语水平一般,就一个cet-4水平,要是哪里大牛勿鄙.....==============================================================================###################### Translate by Killua ######################slave模式协议-------------------在关于slave模式,MPlayer为后台 阅读全文
posted @ 2011-04-26 00:05 hnrainll 阅读(3295) 评论(0) 推荐(1) 编辑
摘要: 很多时候我们需要在程序退出的时候做一些诸如释放资源的操作,但程序退出的方式有很多种,比如main()函数运行结束、在程序的某个地方用exit() 结束程序、用户通过Ctrl+C或Ctrl+break操作来终止程序等等,因此需要有一种与程序退出方式无关的方法来进行程序退出时的必要处理。方法就 是用atexit()函数来注册程序正常终止时要被调用的函数。 atexit()函数的参数是一个函数指针,函数指针指向一个没有参数也没有返回值的函数。atexit()的函数原型是:int atexit (void (*)(void)); 在一个程序中最多可以用atexit()注册32个处理函数,这些处理函数的 阅读全文
posted @ 2011-04-25 08:38 hnrainll 阅读(469) 评论(1) 推荐(0) 编辑
摘要: 进程间通信的一种方式是使用UNIX套接字,人们在使用这种方式时往往用的不是网络套接字,而是一种称为本地套接字的方式。这样做可以避免为黑客留下后门。创建使用套接字函数socket创建,不过传递的参数与网络套接字不同。域参数应该是PF_LOCAL或者PF_UNIX,而不能用PF_INET之类。本地套接字的通讯类型应该是SOCK_STREAM或SOCK_DGRAM,协议为默认协议。例如:int sockfd;sockfd = socket(PF_LOCAL, SOCK_STREAM, 0);绑定创建了套接字后,还必须进行绑定才能使用。不同于网络套接字的绑定,本地套接字的绑定的是struct sock 阅读全文
posted @ 2011-04-24 20:23 hnrainll 阅读(3154) 评论(0) 推荐(0) 编辑
摘要: 在linux环境下,结构体struct sockaddr在/usr/include/linux/socket.h中定义,具体如下:typedef unsigned short sa_family_t;struct sockaddr { sa_family_t sa_family; /* address family, AF_xxx */ char sa_data[14]; /* 14 bytes of protocol address */在linux环境下,结构体struct sockaddr_in在/usr/include/netinet/in.h中定义,具体如下:/* Structure 阅读全文
posted @ 2011-04-24 20:22 hnrainll 阅读(48486) 评论(0) 推荐(2) 编辑
摘要: struct sockaddr {unsigned short sa_family; /* address family, AF_xxx */char sa_data[14]; /* 14 bytes of protocol address */};sa_family是地址家族,一般都是“AF_xxx”的形式。好像通常大多用的是都是AF_INET。sa_data是14字节协议地址。此数据结构用做bind、connect、recvfrom、sendto等函数的参数,指明地址信息。但一般编程中并不直接针对此数据结构操作,而是使用另一个与sockaddr等价的数据结构sockaddr_in(在net 阅读全文
posted @ 2011-04-24 20:21 hnrainll 阅读(9833) 评论(0) 推荐(0) 编辑
摘要: 生产者线程用于往链表里添加节点,数个工作线程从链表取出节点并处理。对于一般的mutex_lock,mutex_unlock方式,如果这一段时间没有工作,那么工作线程将会不停的调用lock,unlock操作。而这样的操作毫无疑义。在这里系统给我们提供了另外一种同步机制,信号灯,Semaphore。信号灯其实就是一个计数器,也是一个整数。每一次调用wait操作将会使semaphore值减一,而如果semaphore值已经为0,则wait操作将会阻塞。每一次调用post操作将会使semaphore值加一。将这些操作用到上面的问题中。工作线程每一次调用wait操作,如果此时链表中没有节点,则工作线程将 阅读全文
posted @ 2011-04-24 19:51 hnrainll 阅读(12575) 评论(0) 推荐(0) 编辑
摘要: 内核同步:主要是防止多核处理器同时访问修改某段代码,或者在对设备驱动程序进行临界区保护。主要有一下几种方式:1. Mutex(互斥)头文件:#include <linux/mutex.h>初始化方法:DEFINE_MUTEX(name);或者void mutex_init(struct mutex *lock);使用方法:void mutex_lock (struct mutex *lock);Tries to lock the mutex, sleeps otherwise.Caution: can't be interrupted, resulting in proce 阅读全文
posted @ 2011-04-24 19:49 hnrainll 阅读(1616) 评论(0) 推荐(0) 编辑
摘要: 利用c.vim插件,你可以实现添加文件头 添加注释 插入一些代码片段 语法检查 读函数文档 注释代码块这一插件的作者是Fritz Mehner,目标就是打造程序员流畅的编辑环境。这一插件还能完成:Statement oriented editing of C / C++ programs Speed up writing new code considerably. Write code and comments with a professional appearance from the beginning. Use code snippets 接下来我们对这一插件详细介绍.3 安装插件S 阅读全文
posted @ 2011-04-24 19:37 hnrainll 阅读(1940) 评论(0) 推荐(0) 编辑
摘要: 作为程序员,要取得非凡成就需要记住的15件事。1.走一条不一样的路在有利于自己的市场中竞争,如果你满足于“泯然众人矣”,那恐怕就得跟那些低工资国家的程序员们同场竞技了。2.了解自己的公司以我在医院、咨询公司、物流企业以及大技术公司工作的经验来看,这一点所言不虚。不同公司的运营模式差异极大。如果你理解企业的运营模式,那你就不一样了!在这家公司中(或者对客户而言),你是参与业务运营的资产,你的工作能直接产生效益!3.与最优秀的人为伍很早以前,我喜欢打篮球,被分配到一个水平比较高的队里。一开始适应的确很困难,但环境的压力越大(重大比赛),我的长进也就越明显。每个领域其实都一样:你周围人的水平(以及对 阅读全文
posted @ 2011-04-24 19:32 hnrainll 阅读(169) 评论(0) 推荐(0) 编辑
摘要: 转自:http://blog.csdn.net/minico/archive/2007/12/15/1938050.aspx1.官方网站下载最新的gvim7.1 win32,然后选择完全安装;我是安装在d:\vim目录下面,安装后的目录结构如下:D:\VIM├─vim71│ ├─autoload│ ├─colors│ ├─compiler│ ├─doc│ ├─ftplugin│ ├─indent│ ├─keymap│ ├─lang│ ├─macros│ ├─plugin│ ├─spell│ ├─syntax│ ├─tools│ └─tutor└─vimfiles├─after├─autoloa 阅读全文
posted @ 2011-04-24 00:33 hnrainll 阅读(588) 评论(0) 推荐(0) 编辑
上一页 1 ··· 57 58 59 60 61 62 63 64 65 ··· 71 下一页