Linux gperf命令

一、简介

GNU 的 gperf 工具是一种 “完美的” 散列函数,可以为用户提供的一组特定字符串生成散列表、散列函数和查找函数的 C/C++ 代码。通过本文学习如何使用 gperf 实现 C/C++ 代码中高效的命令行处理。

二、安装

源码下载

http://www.gnu.org/software/gperf/
https://savannah.gnu.org/projects/gperf

用户手册

http://www.gnu.org/software/gperf/manual/gperf.html
http://www.cnblogs.com/napoleon_liu/archive/2010/12/27/1918057.html

三、实例

参考

http://blog.chinaunix.net/uid-9950859-id-98839.html
http://www.ibm.com/developerworks/cn/linux/l-gperf.html

示例1:参数解析

首先,编写.gperf 文件,此处以example1.gperf为例,内容如下

%{
    /* C code that goes verbatim in output */
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
%}
    struct tl{ const char* name ; const char s2;};
%%
"--name",‘n‘
"--love",‘l‘
%%

int main(int argc,char **argv)
{
    const struct tl * str2;
    int i;
    char *test;

    for(i=1; i<argc; i++)
    {

        if((str2 = in_word_set(argv[i],strlen(argv[i]))) != 0)
        {
            switch (str2->s2)
            {
                case ‘n‘:
                    test=argv[i+1];
                    printf("My name is %s.\n",test);
                    i++;
                    break;
                case ‘l‘:
                    printf("successed !\n");
                    break;
            }
        }
    }

    return 0;
}

然后,执行如下指令,将.gperf 文件转换为.c文件

gperf -t -L C example1.gperf > example1.c
编译
gcc -g -o example1 example1.c

运行

时间: 2024-10-03 23:06:52

Linux gperf命令的相关文章

Linux常用命令(echo、date、ls、cd、history、cat)

一.linux常用命令有很多今天我们来总结一下常用的入门命令: 1.linux下关机命令:poweroff.init 0.halt.shutdown -h now 2.linux下重启命令:reboot.init 6.shutdown -r now 3.shutdown命令: 格式:shutdown  options TIME 其中options有以下几个: -r:执行重启 -c:取消shutdown命令 -h:执行关机 其中TIME有以下几个: now:表示现在 +m:相对时间表示法,从命令提

Linux常用命令学习

补充: 管道符号:   | 含义: 命令1 的正确输出作为命令2的输出对象. 格式: 命令1   |  命令2 举例: ls -ctrl |  more 常用命令: netstat   -an    |  grep    ESTABLISHED         查看正在连接的端口 netstat   -an    |   grep   LISTEN find   .    -name   test.txt    |     cat    -n          在当前目录下找到文件名为test.

linux 解压缩命令

linux zip命令 zip -r myfile.zip ./*将当前目录下的所有文件和文件夹全部压缩成myfile.zip文件,-r表示递归压缩子目录下所有文件. 2.unzipunzip -o -d /home/sunny myfile.zip把myfile.zip文件解压到 /home/sunny/-o:不提示的情况下覆盖文件:-d:-d /home/sunny 指明将文件解压缩到/home/sunny目录下: 3.其他zip -d myfile.zip smart.txt删除压缩文件中

linux常用命令详解

linux常用命令 cut命令 例如:cut -d\| -f1,4 xx.txt -d 表示字段分隔符 -f 表示要显示的字段域,如果域之间,(逗号)隔开表示显示对应的单个域,如果用-隔开表示显示连续的域 sort命令 例如:sort -t\| -k2 xx.txt -n 按数值排序 -r 降序 -t 字段分隔符 -k 以哪个字段为关键字进行排序 -u 去重 -f 排序时不区分大小写 uniq命令 注意:使用uniq命令时,一定要先进行排序 -c 显示文件中行重复的次数 -d 只显示重复的行 -

linux mail 命令参数

使用mail发邮件时,必须先将sendmail服务启动. mail –s “邮件主题” –c”抄送地址” –b “密送地址” -- -f 发送人邮件地址 –F 发件人姓名 < 要发送的邮件内容 三种常用格式发信    mail -s test [email protected]                         #第一种方法,你可以把当前shell当成编辑器来用,编辑完内容后Ctrl-D结束    echo “mail content”|mail -s test [email pr

使用配置hadoop中常用的Linux(ubuntu)命令

生成key: $ ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa $ cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys -t   密钥类型可以用 -t 选项指定.如果没有指定则默认生成用于SSH-2的RSA密钥. -f filename             指定密钥文件名. 来源:http://www.aboutyun.com/thread-6487-1-1.html 远程登录执行shell命令key ssh远

Linux常用命令大全

系统信息 arch 显示机器的处理器架构(1) uname -m 显示机器的处理器架构(2) uname -r 显示正在使用的内核版本 dmidecode -q 显示硬件系统部件 - (SMBIOS / DMI) hdparm -i /dev/hda 罗列一个磁盘的架构特性 hdparm -tT /dev/sda 在磁盘上执行测试性读取操作 cat /proc/cpuinfo 显示CPU info的信息 cat /proc/interrupts 显示中断 cat /proc/meminfo 校验

(转)linux常用命令

原地址:http://www.cnblogs.com/svage/p/3700122.html 1.删除目录及子目录下的 .svn目录 find . -type d -name ".svn" | xargs rm -rf 2./tmp 目录的权限 drwxrwxrwt rwt的意思是:对目录有执行权限,但不能删除,即sticky bit rwx : 可读可写可执行 4+2+1 3.改变群组.用户.权限 chgrp   群组名   改变的目录 groupadd -g gid gname

linux date 命令使用

http://blog.sina.com.cn/s/blog_654c6ec70101mx99.html http://codingstandards.iteye.com/blog/1157513 linux date 命令使用,码迷,mamicode.com