ページビューの合計

2011年9月13日火曜日

linuxプログラミングでのバグとりgcc,make,ddd

UNIXでの統合開発環境emacsでのプログラミング作業環境を引き続き構築する。(windows環境でのプログラミングは多くの方が行っており・・・visual studioの簡易無料版など、UNIXではfreeで、制限のないプログラミングが出来るので)

プログラミングで一番手こずるのがバグ取りだ。UNIXの長い歴史でこの分野の 開発tool が成長している。

バグには3つの種類がある。

①コンパイルエラー:コンパイルの際その言語の文法にそぐわないためバイナリー(機械語)に変換出来ない。
②ランタイムエラー:実行ファイルになってからのエラーで実行時に発生するエラー。
③論理エラー:コードのコンパイルと実行でエラーが発生しなくても、操作の結果が予想と異なるエラー。


emacsには、この3つのバグ取り作業 tool がシームレスにメニューにあり、この3つに対応した作業が出来る。

①にはgccがありメニューのコンパイルをクリックすればコンパイルモードに変身し、コンパイル出来ない箇所を一覧に表示する。バグのある行番号が明示されるのでこれをクリックとソースコード該当箇所に飛びバグ取り作業が行える。emacsを2つ起動して作業すれば迅そくに作業が行える。

②にはGDBがメニューにある。GDBはGCCでコンパイルされたデバック情報を扱うことが出来デバッガーだ。 ただしこれを使う場合、コンパイル時に -g オプションをつける。gdbで使えるデバック情報が実行ファイルに追加される。 (sampleファイルのコンパイル)

    $ gcc -g -o sample sample.c
 
(注意しなければいけないのは通常のコンパイルでは -g は外す。処理が遅くなるので。makeファイルを、test用と2つつくるとよい)

③についてはDDDがある。②の作業をGUIで行うツールで GDB のフロントエンドとなってり、③の作業もこれによって大巾にデバッグ作業が視覚化され、はかどる。
 DDDは各デストリビューションのリポジトリーからGUIツール(yumなど)で簡単にインストール出来た。MULTI_BOOT環境でのプログラミング環境構築がすすむ。

2011年4月13日水曜日

Dell Optiplexで 1TBのHDをXPとWin7で共有

写真・動画編集を行うために、最近1TByteのHDを購入しDELLOptiplexにMultiboot環境を構築したのでその経験を紹介したい。

 

  OptiplexGX20にはXP Proが初期インストールされている。
  購入したWin7Altimateをインストールするところから始める。

1.system commander7で80GbyteのHDに20 Gbyteの空き領域を作
    成する。

2.NTFSでフォーマット

3.Win7新規インストール

4.MBRがWin7で上書きされる

5.System commader7のCDで立ち上げMBRを修復 XPとWin7
    がsystem commader 上で独立して起動出来るようになる。
   (multiboot環境をWin7で行うのであればsystem commaderを削除 
  してもよい。その場合はWin7を立ち上げるとEarlier version of  
   windows と表記される)



6.BUFFALO HD-CE1 1TBをUSB接続

7.Win7を起動しDISK管理・・・マイコンピュータを右クリックしDISK管理
    クリック

8.接続した1TBのHDを認識したか確認・・・disk0とDISK1の表示

9.DISK1をNTFSで1TBをフォーマット

10.Win7ではDISKのパーテションが作れるので画像用に500Gbyte
      映像用に500Gbyteを作成(diskを右クリックし縮小、拡大の操作ま
      たはsystem commaderでパーティションを500Gbyteずつ切り
      win7でNTFSフォーマットしてもよい)


11.これでXPとWin7の両方からアクセス出来る

わたしのこの1年間の写真集をyoutubeに公開しました。

YouTube - 20101107-001わたしの小品『四季』.mpg

2010年11月16日火曜日

コンパイル環境を整える_fedora13,suse11.3,debian lenny


引き続き2台目のinspiron1501のmulti_boot環境を進めdebian lennyをインストール。これで3つのlinuxがインストールされた。

debian lennyのインストールでの注意点は、ブートローダのインストールがアプリケーションの終わったところで行われる。ハードディスク内のパーテションの記号番号が分からない時は、他のブートローダをわざと選択しdebianの入っているパーティションの記号番号をメモして改めてそのパーティションの先頭にブートローダを入れる。
いよいよ、プログラミング環境の構築に入る。エディターはemacs,xemacs,vim,geditを各デストリビューションのアプリケーションの追加作業ーダウンロードとインストールはguiとコマンドラインいずれかで簡単にできる。
まず、日本語環境がどうか調べる。fedora13,suse11.3はいずれも完璧に変換できた。
debianはxemacsは日本語変換ができない。emacs21.4aは次の操作で日本語変換が可能になった。
Options=>Mule=>SetLanguageEnvirement=>Japanese=>Ctrl+\ トグルで変わる

次にコンパイル環境を整える作業に入る。コンパイルはlinuxではshellがその機能を果たす。まず、端末を立ち上げ(ほとんどがbash) gcc,g++と打ち込み反応を待つと、状態が分かる。command not foundと反応した場合は次の順序でで進める。(fedora13の例)

  1. gcc,g++のインストール
    gccはGNUの高機能コンパイラーでfree
  2. どこに入ったかコマンドラインで調べる
    $type gcc  
     gcc is /usr/bin/gcc
    $type g++
    g++ is /usr/bin/g++
    と表示されれば、インストールは成功。
  3. もし bash:command not foundと出力すれば環境変数PATHへ次のように入力、保存
    する。
    ホーム直下の.bash_profileをエディターで開き
    PATH=$PATH:/usr/bin/gcc : /usr/bin/g++:
    と書き加え保存する。
    これで、コンパイルは出来るようになる。
    suse11.3,debian lennyは3の作業は必要なく、すぐコマンド入力後、コンパイル作業が可能だった。

2010年11月6日土曜日

ブートローダをどこに入れるか難しくなったSUSE11.3















引き続きシステムコマンダー9でのマルティブート環境に挑戦する。

SUSEの最新バージョンは11.3で
http://ja.opensuse.org/%E3%83%80%E3%82%A6%E3%83%B3%E3%83%AD%E3%83%BC%E3%83%89

からダウンロード出来る。inspiron1501に合う   openSUSEー 11.3-DVD-x-86_64.isoをローカルのデスクトップにダウンロード。cdburn xpでdvdに焼く。
システムコマンダー9の手動パーテション操作であらかじめLinuxパーテションを15ギガでつくり、再起動し作ったDVDを挿入。
 初期画面でpci=nomsi をオプションのラインに入れenter keyを押す。各設定をしながらすすみブートローダーの挿入に進むと、前のバージョンでは、高度な設定という別のウィザードがありそこでパーテション設定でSUSEをインストールした先頭パーテションにブートローダーを設定することができたが、今度のバージョンは一覧になり、どこのパーテションをブートローダーをいれるかでとまどう。何回か設定をやりなおして確定、次に進むを選択するとインストール作業が進んだ。
 
 インストール作業が終わり再起動する。最初に立ち上がったのはシステムコマンダー9でなく
SUSEだった。MBRが書き換わっている。初期画面でwindowsを選択しXPを立ち上げ、システムコマンダー9を起動し「システムコマンダーを有効にする」にし、再起動。
 そうすると、システムコマンダーの初期選択画面が出るので、手動でパーテション操作を選択し、
SUSE12.3を入れたパーテションを「boot可能にする作業」をし、再起動。
これでシステムコマンダーの初期画面(OS選択)にSUSE12.3が現れ起動すると無事立ち上がった。
 SUSE12.3は日本語環境が非常によい。プログラムの追加でXemcsをインストールし、立ち上げ日本語入力をすると、きちんと日本語変換ができた。これでプログラミングも軽快になる。

2010年11月3日水曜日

Fedora13を、2台目Inspiron1501へインストール・Inspiron1501はVista仕様のXP

















先月末オークションで2台目のinspiron1501を販売時の1/5の価格で購入した。プロジェクターでのプレゼンテーションを行う際、一台はストーリーの展開用に、もう一台は作業用に使うため。

2台目のこの機種はHDが120ギガバイト、DVDがRWで1台目のものよりよい。無線ラン機能付きで1/5の価格とは驚きである。

早速120ギガバイトのハードディスクのパーテションをntfs60ギガバイトとし、残りをext4の論理パーテションにし、そのうち20ギガバイトをFedora13に割り当てることにする。

ここで問題が発生。XP対応の「システムコマンダー7+」で大丈夫だと考え、ウインドウズを立ち上げインストール。再起動するがプロンプトだけでシステムコマンダー7の最初の画面がいっこうに出ない。

困り果て以前記載したこのブログを見てみると、Inspiron1501はVista仕様のXPであり「システムコマンダー9」での作業が必要であることがわかる。(忘れていた)起動しなくなったPCを「システムコマンダー9」CDで再度立ち上げXPを起動し「システムコマンダー9」を再インストール。「システムコマンダー9」の初期画面が出るようになりパーテション操作で20ギガバイトをFedora13に割り当てる。

Fedora13のDVD作成は、新しいinspiron1501では簡単になった。XPのデスクトップにFedora13のisoファイルをダウンロードしCDburnerXPでDVDに焼く。

この後、このDVDを再度挿入してPCを再起動する。Fedora13最初の画面のオプション設定で。
pci=nomsiを挿入するとインストーラーは順調に進みインストール作業は進む。
その際1200近いアプリケーションのインストール画面に入る前にブートローダーの入れる場所を
MBRではなく、Fedora13の入っているドライブの先頭に入れること。これを間違えると、XPが立ち上がらなくなる。(MBRがFedora13になってしまうため。もしMBRがFedora13になってしまったら、Fedora13の初期画面でOtherを選びXPを立ち上げ、インストールずみのシステムコマンダー9を起動、「ユーティリティウイザード」で「システムコマンダーを有効にする」にチェックを入れると数秒かからずしMBRをXPに切り替えることができる)

Fedora13を無事インストールすることが出来た。