📢 Webサイト閉鎖と移転のお知らせ
このWebサイトは2026年9月に閉鎖いたします。
新しい記事は移転先で追加しております。(旧サイトでは記事を追加しておりません)

 
(同じ利用者による、間の4版が非表示)
9行目: 9行目:
<br>
<br>
Qtには組み込みのTOMLパーサーが存在しないため、サードパーティ製ライブラリを使用する必要がある。<br>
Qtには組み込みのTOMLパーサーが存在しないため、サードパーティ製ライブラリを使用する必要がある。<br>
一般的に、<u>'''toml++ライブラリ'''</u>や<u>'''toml11ライブラリ'''等</u>のサードパーティ製ライブラリがよく使用されている。<br>
一般的に、<u>toml++ライブラリ</u>や<u>toml11ライブラリ</u>等のサードパーティ製ライブラリがよく使用されている。<br>
<br>
これらのライブラリを使用することにより、TOMLファイルの読み込み、書き込み、データの解析が容易になる。<br>
これらのライブラリを使用することにより、TOMLファイルの読み込み、書き込み、データの解析が容易になる。<br>
<br>
<br>
60行目: 61行目:
*: 例:
*: 例:
*: <syntaxhighlight lang="toml">
*: <syntaxhighlight lang="toml">
  [database]
[database]
  server = "192.168.1.1"
server = "192.168.1.1"
  ports = [ 8001, 8001, 8002 ]
ports = [ 8001, 8001, 8002 ]
  </syntaxhighlight>
</syntaxhighlight>
*: <br>
*: <br>
* インラインテーブル
* インラインテーブル
73行目: 74行目:
*: 例:
*: 例:
*: <syntaxhighlight lang="toml">
*: <syntaxhighlight lang="toml">
  [[fruits]]
[[fruits]]
  name = "apple"
name = "apple"
 
  [[fruits]]
[[fruits]]
  name = "banana"
name = "banana"
  </syntaxhighlight>
</syntaxhighlight>
*: <br>
*: <br>
* コメント
* コメント
755行目: 756行目:
<br><br>
<br><br>


== toml11ライブラリ ==
==== toml11ライブラリとは ====
toml11は、C++でTOML (Tom's Obvious, Minimal Language) ファイルを解析および生成するためのヘッダオンリーのライブラリである。<br>
このライブラリは、C++11以降の標準に準拠しており、使いやすさと効率性を重視して設計されている。<br>
<br>
toml11ライブラリの主な特徴として、高い性能と柔軟性が挙げられる。<br>
TOMLパーサーは再帰下降法を用いて実装されており、エラー報告機能も備えている。<br>
これにより、TOMLファイルの解析中に問題が発生した場合、具体的なエラー情報を得ることができる。<br>
<br>
このライブラリは、TOMLの様々なデータ型をサポートしている。<br>
例えば、文字列、整数、浮動小数点数、真偽値、日付時刻、配列、テーブル等を扱うことができる。<br>
また、ユーザ定義型への変換機能も提供しており、カスタムデータ構造との連携が容易である。<br>
<br>
toml11ライブラリの使用方法は比較的簡単である。<br>
ヘッダファイルをインクルードして、<code>parse</code>メソッドを使用することにより、TOMLファイルを読み込むことができる。<br>
解析されたデータは、C++の標準コンテナに似た方法でアクセスできる。<br>
<br>
また、toml11ライブラリはTOMLデータの生成もサポートしており、<br>
C++のオブジェクトからTOML形式の文字列を作成することが可能であり、これによりTOMLファイルの出力も簡単に行うことができる。<br>
<br>
toml11ライブラリは、依存関係が無く、ヘッダファイルのみで実装されているため、プロジェクトへの導入が容易である。<br>
<br>
このライブラリは、設定ファイルの処理やアプリケーション間でのデータ交換等、様々なシナリオで活用できる強力なツールとなっている。<br>
<br>
==== toml11ライブラリのライセンス ====
toml11ライブラリのライセンスはMITライセンスに準拠しているため、商用プロジェクトを含む幅広い用途で自由に使用することができる。<br>
<br>
==== toml++ライブラリのインストール ====
===== パッケージ管理システムからインストール =====
# RHEL
sudo dnf install toml11-devel
# SUSE
-
<br>
===== ソースコードからインストール =====
[https://github.com/ToruNiina/toml11 toml11ライブラリのGithub]にアクセスして、ソースコードをダウンロードする。<br>
ダウンロードしたファイルを解凍する。<br>
tar xf toml11-<バージョン>.tar.gz
cd toml11-<バージョン>
<br>
toml11ライブラリをビルドおよびインストールする。<br>
mkdir build && cd build
# CMakeコマンドを使用する場合
cmake -DCMAKE_BUILD_TYPE=Release          \
      -DCMAKE_INSTALL_PREFIX=<toml11ライブラリのインストールディレクトリ> \
      -DTOML11_PRECOMPILE=ON              \  # スタティックライブラリをインストールする場合
      ..
make -j $(nproc)
make install
<br>
==== 同期処理 ====
===== TOMLの読み込み =====
<br>
===== TOMLファイルの書き込み =====
<br>
==== 非同期処理 ====
===== TOMLの読み込み =====
<br>
===== TOMLファイルの書き込み =====
<br><br>
{{#seo:
|title={{PAGENAME}} : Exploring Electronics and SUSE Linux | MochiuWiki
|keywords=MochiuWiki,Mochiu,Wiki,Mochiu Wiki,Electric Circuit,Electric,pcb,Mathematics,AVR,TI,STMicro,AVR,ATmega,MSP430,STM,Arduino,Xilinx,FPGA,Verilog,HDL,PinePhone,Pine Phone,Raspberry,Raspberry Pi,C,C++,C#,Qt,Qml,MFC,Shell,Bash,Zsh,Fish,SUSE,SLE,Suse Enterprise,Suse Linux,openSUSE,open SUSE,Leap,Linux,uCLnux,Podman,電気回路,電子回路,基板,プリント基板
|description={{PAGENAME}} - 電子回路とSUSE Linuxに関する情報 | This page is {{PAGENAME}} in our wiki about electronic circuits and SUSE Linux
|image=/resources/assets/MochiuLogo_Single_Blue.png
}}


__FORCETOC__
__FORCETOC__
[[カテゴリ:Qt]]
[[カテゴリ:Qt]]