トップページ > Mlib ver 3.7

Mlib ver 3.7Windows環境でのグラフ描画用Cライブラリ

最新ニュース(2013/9/6)


mlibを使ったプログラミングの講義の資料を公開します。詳しい解説があるのでぜひ参考にして下さい。
計測制御工学特論Bへ

お陰様で3000ダウンロードを突破しました。どうもありがとうございます。 使いものになるかどうかわかりませんが、どうぞ見ていってください。 また、質問、ご意見等ございましたら遠慮なくご連絡ください。

はじめに

電気系や機械系の学生の皆さん等は学部3年までにC言語の基礎的な演習等を受けてきたと思います.また,C言語による数値演算の講義等も受けてきたかも知れません.C言語を使って数値計算をする場合,おそらくUNIXベースのOSを使用していて,端末ウインドウでプログラムをコンパイル、実行し、その出力結果は端末ウインドウに現れていたと思います.もしくは,出力結果をファイルに落として,グラフ描画ソフトで結果を確認というのもあったかもしれませんね.

ところが,いざ研究室に配属されると,いきなり難しい数値シミュレーション等をC言語でやることになって困惑したことはないですか?しかも,UNIXではなくWindowsベースで...シミュレーションのアルゴリズムやそのコーディングを考えるだけでも精一杯なのに,違うOSでしかも統合開発環境のMicrosoft Visual C++とかC++ Builderを使うことになったりするともう大変です.まずは統合開発環境とは何ぞやというところから、勉強しなければなりません.

しかも,結果をグラフ化するためにコンソール型のアプリケーションではなく,Windowsアプリケーションとして作らなければならないとなると,フォームの作成やら,MFCやら,オブジェクト指向の考え方とか,クラスやらと、調べれば調べるほど聞いたこともない言葉ばかりが出てきて、いつまでたっても全く本題に入れないということになりかねません.学生さんだけではなく,昔からUNIXベースでCをやってこられた経験者の方でも同じかもしれません.Windows環境でちょっとした計算をCでやろうとしても,上記のように新たに覚えることがありすぎて,時間の都合上断念することもあるかもしれません.

長々と書いてきましたが,ここでご紹介するのは,そのようなちょっとしたC言語の計算と1次元、2次元データのグラフ化Windowsのアプリケーションとして簡単に作成できるC言語ライブラリです.Windowsアプリケーションとして実行しますので、わざわざ出力結果をファイルに落として、グラフソフトで表示というような手間はありません。また、基本的なコントロールボタン等もプログラム上で配置出来ますので、シミュレーションだけではなく、Windowsを用いた計測器、計測ボード等からのデータ取得といったリアルタイムでのグラフ化が必要なアプリケーションにも最適です。ぜひご利用下さい。

インストール方法

統合開発環境の必要最低限の知識(プロジェクトの作成法,コンパイルと実行,ファイルのプロジェクトへの追加,デバッグ法)があれば十分なように配慮しています。まず、win32アプリケーションとして空のプロジェクトを作成します。その後、このライブラリで提供する2種類のヘッダーファイル(mlib.hとdef.h)をプロジェクトに追加して,メインの処理プログラムを作成するだけです. 本ライブラリはWindowsの核となるAPIであるWIN32 APIだけを使用するため、必ずしも統合開発環境Visual Cでなくとも,CコンパイラとWindows PlatformSDK (WIN32APIを利用可能にする"windows.h"が入っている)があればよい.

ただし,フリーで利用できる"Visual C++ 2008, 2010 Express Edition"(PlattformSDKは含まれている)で動作を確認しているので、積極的にVisual Cを利用してもらいたい.

Visual C++ 2010 Expressはこちらで無料ダウンロードできる.

使用例



本ライブラリでは上の図のように,複数のボタンやUNIX環境でのコンソール画面にあたるメモウインドウ,数値入力用のエディットボックス,グラフ描画用のグラフィックウインドウを備えた画面が作られ,各プッシュボタンに対応した処理をユーザが自由に作成できます.

まず,空プロジェクトをWin32アプリケーションで作成します。(意味がわからない人はstart.pdfをみるべし)
その後、以下の二つのファイルをダウンロード(右クリックで対象をファイルに保存)し、プロジェクトのヘッダーファイルに追加します.

  ボタンの配置に関してはdef.h    グラフ関連のライブラリ関数はmlib.h

最後にメインのプログラム例えば以下のような(test.c)を新規作成し

#include "def.h"
#include "Mlib.h"
void main (int Number){
  Printf(“Hello World!”);
}

等としておけば,ボタンを押すとメモウインドウにHello World!と表示されるはずです. 関数等のより詳細なマニュアルはmanual_ver3_7.pdf を参照して下さい.

すべてをまとめたプロジェクトファイルのサンプルを Vector からダウンロードできます.

これを解凍して./sample ver3_7/sample ver3_7/sample ver3_7.vcprojをダブルクリックすればサンプルプロジェクトが立ち上がりますので、実行させ、プッシュボタンを押してみてください. (プロジェクトの変換のウイザードが出た場合は変換して下さい)

応用例

このライブラリで最近作成したInterface社AD変換ボードの取り込みプログラムの例を示します。
Interface社の取り込みドライバの説明はMFC アプリケーションで表記されています。C++の知識、MFCの知識が必要ですね。 このライブラリを使えば、もっと手っ取り早く取り込み、波形描画等も出来ると思います。

ご興味のある方には簡単なサンプルプログラムもお分けいたします。これまで20名ほどにお分けいたしました。

尚、(株)タートル工業のAD変換器からのデータ取り込みにも使用しています。

あとがき

このライブラリは
WisdomSoft
猫でもわかるプログラミング
C言語で始めるWindowsプログラミング
他多くのページを参考にさせて頂きました。ここに感謝の意を表します。

作者はこれまで本格的にC言語を使用した経験や、Windowsアプリケーションを作成した経験はありませんので、ソースは非常にC言語っぽくないものになっていると思います。また、おかしいところも多々あると思いますが、一応それなりには動作します。

本ライブラリは自由に配布しても結構です。実行可能形式の配布であれば商用での利用も問題ありません。
ご意見、ご質問等があればこちらまでお願いします。

著者:群馬大学 理工学部 電子情報理工学科 三輪空司 
ページトップへ戻る
Copyright(C) 三輪空司 All Rights Reserved.