質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
C

C言語は、1972年にAT&Tベル研究所の、デニス・リッチーが主体となって作成したプログラミング言語です。 B言語の後継言語として開発されたことからC言語と命名。そのため、表記法などはB言語やALGOLに近いとされています。 Cの拡張版であるC++言語とともに、現在世界中でもっとも普及されているプログラミング言語です。

Q&A

解決済

2回答

455閲覧

記憶領域を管理するための良い方法はありますか?

EKr

総合スコア5

C

C言語は、1972年にAT&Tベル研究所の、デニス・リッチーが主体となって作成したプログラミング言語です。 B言語の後継言語として開発されたことからC言語と命名。そのため、表記法などはB言語やALGOLに近いとされています。 Cの拡張版であるC++言語とともに、現在世界中でもっとも普及されているプログラミング言語です。

0グッド

3クリップ

投稿2020/07/22 05:56

編集2020/07/22 06:07

現在C言語で書かれた組み込み系ソフトウェアで記憶領域のエリアマップにエクセルを使っているのですが、肥大化してきてメンテナンス性が落ちています。
構造体のメンバーとそれぞれの用途、初期値などが書かれているファイルになります。バックアップの仕様書のようなものです。

何かツールや良い方法があれば教えていただきたいです。

軽くて見やすいものが良いですのですが、マクロを使ってエリアの自動チェックなどを行いたいので、データベースなどは避けたいです。
また、非ソフトの人間も見るので、ビジュアル化ができる方が望ましいです。

よろしくお願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

hidezzz

2020/07/22 06:03

「C」タグと「Python」タグが付いていますが、管理対象はCプログラムの構造体で記述された記憶領域ということで合ってますか?そのようなPython製のツールを探しているということですか?
EKr

2020/07/22 06:06

コメントありがとうございます。 失礼しました。タグを間違えて入れておりました。具体的にはCの構造体ということで認識合っております。よろしくお願い致します。
hidezzz

2020/07/22 06:53 編集

「記憶領域の管理」とは、「構造体のメンバーとそれぞれの用途、初期値」をドキュメントするという意味ですか?「doxygen」というツールを使えば、ソースコードの構造体定義にdoxygenで規定された書式でコメントを書いてそこからドキュメントを作成することが出来ます。(JavaDocを知っているのであればそれのC版のような感じです) 「記憶領域の管理」に、メモリの配置とかメモリサイズの管理のような意味も含まれますか?
EKr

2020/07/22 07:23

ありがとうございます。doxygenは聞いたことがあります。そういった使い方ができるのですね。試してみたいと思います。 現在はメモリの配置も記載されていますが、メンバ個別のアドレスはほとんど使わないので、本当は構造体別のざっくりしたアドレスの定義があればよいです。
hidezzz

2020/07/22 07:28

では回答の方にdoxygenについて書きます。
guest

回答2

0

ベストアンサー

「記憶領域の管理」が「構造体のメンバーとそれぞれの用途、初期値」をドキュメントするという意味であれば、「doxygen」というツールが使えるかもしれません。(JavaDocを知っているのであればそれのC版のような感じです)

Doxygen - Wikipedia
Doxygen
Doxygen: Main Page

現在ソースコードの構造体定義のコメントとExeclシートのドキュメントの2重管理をしている状態であれば、ソースコードの構造体定義のコメントのメンテナンスの一元管理にして、そこからドキュメントを作るような流れにすることが出来ます。

ソースコードの構造体定義にdoxygenで規定された書式でコメントを書いて、そこからドキュメントを作成することが出来ます。(構造体コメントをdoxygen対応にする手間はかかります。)
また今回の質問内容には含まれていませんが、構造体だけでなくプログラムのほうも関数ヘッダの部分にdoxygenコメントをちゃんと書けば関数仕様もドキュメントを作成してくれます。

投稿2020/07/22 07:41

hidezzz

総合スコア1248

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

EKr

2020/07/22 08:00

ありがとうございます。コードをマスターにするアプローチは考えもしませんでした。確かに定期的にJenkinsなどで生成するようにすれば、仕様書とコードが乖離することも無さそうですね。試しに使ってみたいと思います。ありがとうございます。
guest

0

データベース設計・SQL開発向けのA5:SQL Mk-2というフリーのツールがあります。
A5:SQL Mk-2
試しにCの構造体をER図上に作成したら意外に使えそうなので画像添付します。
イメージ説明

構造体をエンティティに見立てて、テーブルの列情報を構造体メンバーに置き換えた感じです。

いかがでしょうか?

###追記
ER図からエンティティ定義書をEXCEL出力する機能もあります。
イメージ説明

投稿2020/07/22 06:50

編集2020/07/22 06:57
DreamTheater

総合スコア1095

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

EKr

2020/07/22 07:59

回答ありがとうございます。私の求めていたイメージとは若干異なりますが、これはこれでドキュメント作成に効果を発揮しそうです。活用できる場面がないか、使ってみたいと思います。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問