プログラムでも書いてみよう

真面目なプログラムを書く不真面目な男の日記

C言語初心者向け

[ リスト | 詳細 ]

記事検索
検索

全1ページ

[1]

タイトルの件、大抵の入門書は構造体と共有体はまず間違いなく載っていると思う。
 
では、以下のような構造体定義はご存知でしょうか?
struct DataStruct{
  unsinged int flagA:1;
  unsinged int patternB:2;
}
 
構造体のフィールド名の後ろにコロンをつけて、その後に数値が書かれています。
これは、ビットフィールドと言います。
構造体のメンバ変数のサイズをBit単位で指定する方法です。
 
上記の構造体でしたらflagAは1Bitで表せる範囲の0〜1の値をとり、PatternBは2Bitで表せる0〜3の値をとります。
この方法により、変数がとりうる値を制限することが出来ますのでフラグなどを格納する際に利用できます。
また、ビットサイズでデータの内容を指定したいケースとしては通信などのストリーム変換にも使えるでしょう。
 
ただ、この記述を実際に利用するケースは少なく殆どはビット演算やストリームに対応させた変換で行われます。
 
便利に使えそうなケースとしてはBCD(2進化10進数)なんかを共用体と組み合わせると便利かもしれません。
 
union BCDData{
  unsigned char data;
  struct BCDVal{
    unsigned char val1:4;
    unsigned char val2:4;
  }
}
 
めったにお目にかかることは無いでしょうが、この定義に出くわしたら面食らってしまうので頭の片隅に置いておきましょう(笑)
また、万が一出くわしたらストリームなどのようにデータサイズを想定した利用をしているケースもありますので気をつけましょう。
前回、開発に必要な最低限のものを整えたので実際に使って見ましょう。
このとき、コマンドラインベースで作業を行うことになります。
コマンドラインは以下のような画面で、キーボードからパソコンに一つ一つ命令をしていく方法です。
イメージ 1
 
どこのファイルをコンパイルしてどこに出力するなどをすべてキーボードから指定することになりますのでパス名に日本語が入るケースやスペースが入るケースは作業のしやすさを考えると避けたほうがよいでしょう。
 
今回は、ソースの階層をc:\cTestData\sourceとして、生成される実行ファイルをc:\cTestData\Executeとしますので、エクスプローラで上記の2つのフォルダを作成してください。
 
ではソースを実装してみましょう。
メモ帳を開いて以下のコードを書いてc:\cTestData\source\HallowWorld.cとして保存してください。
ソースの内容としては画面に"hallow world"と表示するプログラムです。
 
/************サンプルコード***************/
#include <stdio.h>
int main(int argc ,char* argv[]){
 printf("hallow world");
 return 0;
}
/**********サンプルコード終了*************/
 
ここまでの作業で、環境を整えソースの実装も完了したのでコンパイル・リンクして生成された実行ファイルを動作させて見ましょう。
 
windowsのスタートメニューから「すべてのプログラム」→「Micorosoft Windows SDK v7.1」→「windows sdk 7.1 command pronpt」を開いてください。
そうすると上記の画面のコマンドプロンプトの画面が表示されます。
 
Step1
まず、デフォルトの実行ファイル生成先はカレントフォルダになっていますのでカレントフォルダをc:\cTestData\Executeに移動します、下記のコマンドを入力してEnterを押してください。
 
cd c:\cTestData\Execute
 
Step2
次にコンパイラ・リンカでc:\cTestData\source\HallowWorld.cをコンパイルして実行ファイルを生成します。
コンパイラ・リンカはcl.exeになりますので以下のコマンドを入力してEnterを押してください。
 
cl c:\cTestData\source\hallowworld.c
 
Step3
これでカレントディレクトリに実行ファイルのHallowWorld.exeが生成されましたのでこれを実行してみましょう。
下記のコマンドを入力してEnterを押してください。
 
HallowWorld.exe
 
その結果として画面に"Hallow World"と表示されるはずです。
 
上記Step1からStep3で想定外の動作をした場合、一番考えられるのがフォルダが作成されていないなどのケアレスミスかソースの記述ミスですので一つ一つミスがないか確認しましょう。
 
画面の状態(格Stepで入力した部分は赤下線、Step3の結果で表示された文字は白下線で表示しています)
イメージ 2
 
これで、「C言語を勉強するために無料でテストできる環境を整える」は終了です。
あとは試してみたいソースファイルを記述していろいろと試してみてください。
 
自作ソフトi-port紹介ページ
http://www.geocities.jp/ys_and_otherjp/index.htm
掲題の件、あるブログを見たときに試験を受けるためにC言語を勉強している人を見かけましたので、そのような人のために「Windows環境で無料でC言語がコンパイルできどのような動きか試せる」環境作りについて書いていきたいと思います。
対象環境はwindows XP以降で問題ないと思います。
 
以前統合環境について書いたときに「C言語のソースはもちろんテキストベースで書いてある、これをコンピュータが分かる形に直して始めて実行形式のファイルが出来る、それをするためのものが、コンパイラとリンカである。」見たいな事を書いた。
そのコンパイラとリンカを動作させる環境構築についてのことだと考えていただければよい。
 
そのコンパイラ・リンカなのだがmicrosoftがフリーで提供している開発環境のセットがある。
それが「Microsoft Windows SDK」である。
実際に複雑なアプリケーションを作成するには、かなりの知識が必要になるが学習用にC言語のサンプルをコンパイルし動作させるにはこのレベルで十分である。
 
また、この開発環境のセットはwindowsに対しての開発環境で.net frameworkのコンパイラとしてコンパイラ・リンカがリリースされているため、.net framework4.0も必要になる。
 
よって、インストールが必要なものは以下の2つになる。
1, .net framework 4.0
2.Microsoft Windows SDK for Windows 7 and .NET Framework 4
 
では1のインストールから
以下のサイトからダウンロードしてインストールである。
イメージ 6
 
手順1.使用許諾に同意できる場合は、「同意する」を選択してNextを選択して進むと自動でインストールされる。
イメージ 7
 
続いて2のインストール
以下のサイトからダウンロードしてインストールである。
イメージ 1
このサイトからdownloadして、そのままインストールをしてください。
インストールの画面スナップショットは以下のとおりなので、インストーラの手順に従ってインストールしてください。
 
手順1.インストールの開始画面-Nextのボタンを押して次の画面に進む。
イメージ 2
 
手順2.使用許諾に同意できる場合は、「I Agree」を選択してNextを選択して進む。
イメージ 3
 
手順3.インストールする場所を選んで次に進む(ハードディスクの容量が少ない場合を除いてそのままNextで)
イメージ 4
 
手順4.インストールオプションの選択画面でここで「visual c++ compilers」を追加して次へ進む。
イメージ 8
 手順5.最終確認画面が表示されNextで進むとインストールが開始される。
イメージ 5
 
実は、これだけで必要なツールはそろっているので次はC言語でソースを記述してコンパイル・リンクして動作させて見ましょう。
 
自作ソフトi-port紹介ページ
http://www.geocities.jp/ys_and_otherjp/index.htm
さて、タイトルの件について。
 
C言語にしろ他の言語にしろ、ソースやサンプルはひたすら出てくるがその環境設定について困っていると言うケースが多いと思う。
なので、C言語についてだが統合環境が何をしているかと言うことをあらためて、書いてみた。
 
まず、統合環境は何を統合しているか。。。
大抵の場合であるが、ソースエディタ・コンパイラ・リンカ・デバッガを統合している。
問う言うことは統合しているだけでこれらをばらばらに集めて使っても同じ物が出来るということである。
 
C言語のソースはもちろんテキストベースで書いてある、これをコンピュータが分かる形に直して始めて実行形式のファイルが出来る。
それをするためのものが、コンパイラとリンカである。
 
コンパイラは関数をコンピュータが分かるような中間形式のファイルを作成する、Windows環境では拡張子objのファイルを作ることである。
これは、ソースファイル1つに対して1つのobjファイルが作成される。
 
このobjファイルを組み合わせて実行形式のファイルを作るのがリンカである。
 
気が向いたら、次からはPlatformSDKでも使って、これらの使い方を書いてみる。
 
i-port紹介ページ

全1ページ

[1]


よしもとブログランキング

もっと見る

[PR]お得情報

ふるさと納税サイト『さとふる』
実質2000円で特産品がお手元に
11/30までキャンペーン実施中!
いまならもらえる!ウィスパーうすさら
薄いしモレを防ぐ尿ケアパッド
話題の新製品を10,000名様にプレゼント
いまならもらえる!ウィスパーWガード
薄いしモレを防ぐパンティライナー
話題の新製品を10,000名様にプレゼント

その他のキャンペーン


プライバシー -  利用規約 -  メディアステートメント -  ガイドライン -  順守事項 -  ご意見・ご要望 -  ヘルプ・お問い合わせ

Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved.

みんなの更新記事