文档首页 > > 移植指南> 移植iniparser

移植iniparser

分享
更新时间:2020/07/14 GMT+08:00

介绍

简要介绍

iniparser是针对INI文件的解析器。INI文件则是一些系统或软件的配置文件。

语言:C

一句话描述:INI配置文件解析器

开源协议:MIT

建议的版本

建议使用版本为“iniparser-3.1”

环境要求

云服务器要求

本文以云服务器KC1实例测试,云服务器配置如表1所示。

表1 云服务器配置

项目

说明

规格

kc1.large.2 | 2vCPUs | 4GB

磁盘

系统盘:高IO(40GB)

操作系统要求

操作系统要求如表2所示。

表2 操作系统要求

项目

说明

下载地址

CentOS

7.6

在公共镜像中已提供。

Kernel

4.14.0-115

在公共镜像中已提供。

配置编译环境

安装wget工具。

yum install wget -y

获取源码

获取“iniparser-3.1”源码包。

cd /usr/local/src

wget https://codeload.github.com/ndevilla/iniparser/tar.gz/v3.1

编译和安装

  1. 解压软件包。

    cd /usr/local/src

    tar -zxvf v3.1

  2. 进入iniparser的安装目录。

    cd iniparser-3.1/

  3. 安装iniparser。

    make

  4. 编译成功后,检查是否生成库文件和头文件。

    1. 检查库文件。

      cd /usr/local/src/iniparser-3.1

      ls

      回显信息如下,生成静态库文件“libiniparser.a”和动态库文件“libiniparser.so.0”
      AUTHORS  doc  html  INSTALL  libiniparser.a  libiniparser.so.0  LICENSE  Makefile  README  src  test
    2. 检查头文件。

      cd /usr/local/src/iniparser-3.1/src

      ls

      回显信息如下,生成头文件“dictionary.h”“iniparser.h”
      dictionary.c  dictionary.h  dictionary.o  iniparser.c  iniparser.h  iniparser.o

运行和验证

测试iniparser是否安装完成。

  1. 创建iniparser的测试程序路径。

    cd /usr/local/src

    mkdir iniparser_test

    cd iniparser_test/

  2. 拷贝相关库文件和头文件到测试路径。

    cp /usr/local/src/iniparser-3.1/src/dictionary.h /usr/local/src/iniparser_test/

    cp /usr/local/src/iniparser-3.1/src/iniparser.h /usr/local/src/iniparser_test/

    cp /usr/local/src/iniparser-3.1/libiniparser.a /usr/local/src/iniparser_test/

    cp /usr/local/src/iniparser-3.1/libiniparser.so.0 /usr/local/src/iniparser_test/

  3. 创建待测试的配置文件“example.ini”

    vim example.ini

    编辑如下内容,并保存退出。

    [tcp]
    port = 8000;
    ip = 127.0.0.1;
  4. 创建运行程序测试iniparser的功能。

    vim example.c

    编辑如下内容,并保存退出。

    #include <stdio.h>
    #include <stdlib.h>
    #include "iniparser.h"
    
    int main(void)
    {
        dictionary *ini;
        int n = 0;
        char *str;
        ini = iniparser_load("example.ini");//parser the file
        if(ini == NULL)
        {
            fprintf(stderr,"can not open %s","example.ini");
            exit(EXIT_FAILURE);
        }
        printf("dictionary obj:\n");
        iniparser_dump(ini,stderr);//save ini to stderr
        printf("\n%s:\n",iniparser_getsecname(ini,0));//get section name
        n = iniparser_getint(ini,"tcp:port",-1);
        printf("port : %d\n",n);
        str = iniparser_getstring(ini,"tcp:ip","null");
        printf("ip : %s\n",str);
        iniparser_freedict(ini);//free dirctionary obj
        return 0;
    }
  5. 编译运行“example.c”程序。

    gcc example.c -o example -L. -liniparser

    ./example

    回显信息如下,则表示iniparser安装成功且可正常使用。

    dictionary obj:
    [tcp]=UNDEF
    [tcp:port]=[8000]
    [tcp:ip]=[127.0.0.1]
    
    tcp:
    port : 8000
    ip : 127.0.0.1
分享:

    相关文档

    相关产品

文档是否有解决您的问题?

提交成功!非常感谢您的反馈,我们会继续努力做到更好!
反馈提交失败,请稍后再试!

*必选

请至少选择或填写一项反馈信息

字符长度不能超过200

提交反馈 取消

如您有其它疑问,您也可以通过华为云社区问答频道来与我们联系探讨

智能客服提问云社区提问