那曲檬骨新材料有限公司

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

基于libconfig進行配置文件解析

嵌入式USB開發 ? 來源:嵌入式USB開發 ? 作者:嵌入式USB開發 ? 2023-06-08 10:18 ? 次閱讀

本文轉自公眾號,歡迎關注

基于libconfig進行配置文件解析 (qq.com)

準備

官網

https://hyperrealm.github.io/libconfig/

源碼

git clone https://github.com/hyperrealm/libconfig.git

在自己工程中使用

這里基于VS2022,其他環境類似。

庫方式

打開libconfig\\libconfig_vs2017.sln

圖片

點擊左側工程目錄解決方案

菜單欄 生成->生成解決方案

圖片

生成的庫文件位于libconfig\\build\\x64下的

libconfigd.lib

libconfigd.dll

還有一些測試程序

比如命令行下./c_example1d.exe可以運行測試程序

圖片

在自己的工程目錄添加libconfig文件夾,添加inc和lib子目錄

將libconfigd.lib

libconfigd.dll

復制到lib目錄下

將源碼路徑libconfig\\lib下所有的h文件復制到自己的inc目錄下

右鍵點擊工程名->屬性

設置頭文件包含路徑

$(MSBuildProjectDirectory)\\Src\\libconfig\\inc;

設置庫文件包含路徑

$(MSBuildProjectDirectory)\\Src\\libconfig\\lib;

圖片

設置鏈接的庫

圖片

測試代碼

#include < stdio.h >


#include < stdlib.h >


#include < libconfig.h >


#include "param_cfg.h"


int main(int argc, char** argv)
{


config_t cfg;


config_setting_t* setting;


int version;


int pid;


int vid;


config_init(&cfg);


/* 讀配置文件. */


if (!config_read_file(&cfg, "wq.cfg"))


{


fprintf(stderr, "%s:%d - %s\\n", config_error_file(&cfg),


config_error_line(&cfg), config_error_text(&cfg));


config_destroy(&cfg);


return(EXIT_FAILURE);


}


/* 獲取版本信息. */


if (config_lookup_int(&cfg, "version", &version))


printf("version: %d\\n\\n", version);


else


fprintf(stderr, "No 'version' setting in configuration file.\\n");


/* Output a list of all books in the inventory. */


setting = config_lookup(&cfg, "id");


if (setting != NULL)


{


config_setting_lookup_int(setting, "pid", &pid);


config_setting_lookup_int(setting, "vid", &vid);


}


printf("pid=%#x;vid=%#x\\r\\n",pid,vid);


config_destroy(&cfg);


return(EXIT_SUCCESS);


}

Exe所在目錄創建配置文件wq.cfg

// 配置文件.


// 版本:


version = 10;


// PID&VID:


id =


{


pid = 0x1993;


vid = 0x0101;


};

將libconfigd.dll復制到exe所在目錄。

看到打印如下

version: 10


pid=0x1993;vid=0x101

審核編輯:湯梓紅

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 嵌入式
    +關注

    關注

    5092

    文章

    19177

    瀏覽量

    307663
  • 文件
    +關注

    關注

    1

    文章

    570

    瀏覽量

    24822
  • 源碼
    +關注

    關注

    8

    文章

    652

    瀏覽量

    29452
收藏 人收藏

    評論

    相關推薦

    探討PROE的配置文件——系統配置文件config.pro

    PROE的配置文件讓不少初學者感到煩惱,盡管不少教材里都會提到關于PROE的配置文件。但大多數顯得過于理論化,而不便于初學者理解,可操作性不強。本文力求以通俗的語言結合
    發表于 09-28 15:50 ?0次下載

    ICD配置文件的詳細介紹和配置內容的詳細概述

    配置文件配置文件是利用SCL語言描述變電站設備對象模型后生成的文件,用于在不同廠商的配置工具之間交換配置信息。
    的頭像 發表于 06-02 11:16 ?1.8w次閱讀
    ICD<b class='flag-5'>配置文件</b>的詳細介紹和<b class='flag-5'>配置</b>內容的詳細概述

    SHARC音頻模塊:配置文件對裸機框架進行配置的重要性

    詳細介紹如何從一個配置文件配置裸機框架的重要方面。
    的頭像 發表于 06-27 06:02 ?2431次閱讀
    SHARC音頻模塊:<b class='flag-5'>配置文件</b>對裸機框架<b class='flag-5'>進行</b><b class='flag-5'>配置</b>的重要性

    Keil的黑色界面配置文件配置方法

    本文檔的主要內容詳細介紹的是Keil的黑色界面配置文件配置方法。
    發表于 12-03 15:05 ?26次下載

    Python進行配置文件的教程免費下載

    本文檔的主要內容詳細介紹的是Python進行配置文件的教程免費下載。
    發表于 09-30 16:41 ?6次下載
    Python<b class='flag-5'>進行</b><b class='flag-5'>配置文件</b>的教程免費下載

    AD8283評估板設計和配置文件

    AD8283評估板設計和配置文件
    發表于 05-31 16:04 ?9次下載
    AD8283評估板設計和<b class='flag-5'>配置文件</b>

    labview讀寫配置文件實例分享

    labview讀寫配置文件實例分享
    發表于 11-01 16:05 ?45次下載

    怎樣使用配置文件修改鏡像源

    /use-condarc.html#show-channel-urls-show-channel-urls ? 使用配置文件修改鏡像源 使用 conda info 命令查看 .condarc 配置文件
    發表于 12-13 16:01 ?1115次閱讀

    SpringBoot配置文件application

    Map配置 YML配置文件: sys-num: mymap: "{'a':'aaa','b':'bbb'}" 方法內: public class learnMap { @Value
    的頭像 發表于 01-13 15:28 ?681次閱讀

    KT142C語音芯片配置文件總是不起作用?配置文件的問題集中歸納

    KT142C語音芯片配置文件總是不起作用?配置文件的問題集中歸納
    的頭像 發表于 10-20 15:04 ?627次閱讀
    KT142C語音芯片<b class='flag-5'>配置文件</b>總是不起作用?<b class='flag-5'>配置文件</b>的問題集中歸納

    linux修改網卡ip配置文件

    Linux是一種開源的操作系統,因此,它給用戶提供了很高的自由度,可以根據個人需要進行各種定制和配置。其中,修改網絡接口配置文件是常見的操作,可以通過修改網卡ip配置文件來設置網絡接口
    的頭像 發表于 11-17 10:51 ?2377次閱讀

    springboot的全局配置文件有幾種

    Spring Boot是一種快速開發框架,其通過提供配置文件來實現對應用程序的配置。全局配置文件在Spring Boot中起著非常重要的作用,可以用于配置各種不同的屬性,包括數據庫連接
    的頭像 發表于 12-03 15:28 ?1652次閱讀

    zookeeper的核心配置文件是什么

    Zookeeper是一個常用的分布式協調服務,它被廣泛應用于大型分布式系統中。Zookeeper的核心配置文件是zoo.cfg,它包含了Zookeeper服務器的各種配置參數,可以通過修改這些參數
    的頭像 發表于 12-04 10:33 ?884次閱讀

    php的配置文件是什么

    PHP的配置文件是一種用于配置PHP解釋器的文本文件。它包含了一系列的指令和選項,用于影響PHP的行為和性能。通過修改配置文件,可以改變PHP解釋器的默認行為,從而滿足不同的需求。 在
    的頭像 發表于 12-04 15:55 ?1609次閱讀

    linux網卡配置文件

    網卡配置文件 ? ? 網卡目錄[root@localhost opt]# ls /etc/sysconfig/network-scripts/網卡文件名字,和我們ifconfig看到的一樣
    的頭像 發表于 12-10 10:09 ?289次閱讀
    24山是那二十四山| 香港六合彩彩色图库| 缅甸百家乐官网赌博现场下载 | 大发888扑克下载| 百家乐官网节目视频| 网上百家乐是不是真的| 澳门百家乐官网战法| 百家乐suncity| 百家乐官网方案| 大发888使用条款| 百家乐官网龙虎玩| 德州扑克单机| 风水24向吉项| 百家乐官网闲庄概率| 百家乐是否有路子| 百家乐官网干洗店| 山丹县| 澳门百家乐赌客| 娱乐城开户送彩金| 百家乐投注技巧球讯网| 荥阳市| 澳门百家乐官网站| 百家乐官网怎样赢| 巧家县| 线上百家乐手机版| 狮威百家乐娱乐城| 网上百家乐官网游戏玩法| 百家乐官网官方网址| 现金网排行| 大发888娱乐游戏技巧| 属鼠做生意办公桌摆貔貅好不好| 长城百家乐官网游戏| 网上百家乐赌钱| 百家乐官网棋牌游| 百家乐官网专业赌徒| 大发888总结经验| 真钱百家乐哪里最好| 百家乐规则澳门| 缅甸百家乐官网赌场娱乐网规则| 百家乐官网网投打法| 真钱赌博|