独立した構造体によって定義された一連のメッセージがあります。これらの構造体は、アプリケーション間で送信される共通のヘッダーを共有します。これらの構造体を使用して作成されたメッセージの生データキャプチャを取得し、それらをプレーンテキストにデコード/解析するデコーダーを作成しています。
デコードする必要のある1000を超える異なるメッセージがあるため、すべての構造体形式をXMLで定義してから、XSLまたは何らかの変換を使用するのが最善の方法か、それともこれを行うためのより良い方法があるのかわかりません。
100万を超えるメッセージを含むログをデコードする必要がある場合があるため、パフォーマンスが問題になります。
デコーダー/パーサーの作成に取り掛かるテクニック/ツール/アルゴリズムに関する推奨事項はありますか?
struct:
struct {
dword messageid;
dword datavalue1;
dword datavalue2;
} struct1;
生データの例:
0101010A0A0A0A0F0F0F0F
デコードされたメッセージ(望ましい出力):
message id: 0x01010101, datavalue1: 0x0A0A0A0A, datavalue2: 0x0F0F0F0F
私はこの開発を行うためにC++を使用しています。