Linux编程:getopt_long及其使用
Linux系统下,需要大量的命令行选项,如果自己手动解析他们的话实在是有违软件复用的思想,不过还好,GNU C library留给我们一个解析命令行的接口(X/Open规范),好好使用它可以使你的程序改观不少。
使用getopt_long()需要引入头文件
#include <getopt.h>
现在我们使用一个例子来说明它的使用。
一个应用程序需要如下的短选项和长选项。
短选项 长选项 作用
-h --help 输出程序命令行参数说明然后退出
-o filename --output filename 给定输出文件名
-v --version 显示程序当前版本后退后
为了使用getopt_long函数,我们需要先确定两个结构:
1.一个字符串,包括所需要的短选项字符,如果选项后有参数,字符后加一个":"符号。本例中,这个字符串应该为"ho:v"。(因为-o后面有参数filename,所以字符后面要加":")
2.一个包含长选项字符串的结构体数组,每一个结构体包含4个域,第一个域为长选项字符串,第二个域是一个标识,只能为0或1,分别代表没有、有。
第三个域永远为NULL。第四个域为对应的短选项字符串。结构体数组的最后一个元素全部为NULL和0,标识结束。在本例中,它应该像一下的样子:
相关文档:
【简介】如何编写linux下nand flash驱动-1
version: 1.0
date:20090721
Author:crifan
Mail:green-waste(At)163.com
【编写驱动之前要了解的知识】
1. 硬件特性:
【Flash的硬件实现机制】
Flash全名叫做Flash Memory,属于非易失性存储设备(Non-volatile Memory Devi ......
Linux设备驱动编程之定时器
2006-10-26 13:34
作者:
出处:Linux
责任编辑:方舟
相关专题:
Linux设备驱动程序开发入门
Linux内核中定义了一个timer_list结构,我们在驱动程序中可以利用之:
struct timer_list {
struct list_head list;
unsigned long expires; //定时器到期 ......
首先说明,本人的linux是rethat9,对其他的版本可能不适用
xp系统下的虚拟机中安装了linux后,虚拟机VMware中的linux界面太小,是由于linux分辨率太低(通常为800×600)造成的,可以通过安装VMware Tools来更改分辨率到1024×768来解决这个问题,下面说明安装 ......
使用TAB键
用鼠标拷贝和粘贴提高操作速度 左键拖动---拷贝 中键点击---粘贴
1、mkdir 建立新目录名 加“." 在目录名前为隐藏目录(ls -a可查看)
rm -rf 目录名 删除目录及子目录 rm -- -ee删除-ee文件 或者 rm "文件名"
2、m ......
umask()函数:此函数的主要作用是在创建文件时设置或者屏蔽掉文件的一些权限。一般与open()函数配合使用。open函数原型:
#include<sys/types.h>
#include<sys/stat.h>
#include<fcntl.h>
int open( const char * pathname, int flags);
int open( const char ......