あおぞら家族ベストヒット 2011/5
・2011年5月16日刊 聖教新聞より引用

20110516.jpg












続きを読む
【2011/06/03】 あおぞら家族 | トラックバック(0) | コメント(0) | page top↑
Windows/Linux クロス開発環境構築 その1
ひでのふは主に Windows 上で動くプログラムを作る仕事をしているわけですが
このたび Linux 上でがっちょりプログラムを作るプロジェクトが降ってきました。

で、Windows は無料でヴィジュアルでインテグレィテッドフルな開発環境があったり
するように、Linux でも Eclipse で似たような開発環境が用意できます。

しかし、メインで使っているぱすこんは Windows なので、
そのまま Linux の Eclipse を使うことができません。
まさか開発のためだけに X Window を立ち上げるわけにも行きませんし。
かといって、Linux には telnet かなんかでログインして、
vi と gcc でゴリゴリやるなんて前時代的な開発手法を使うつもりは全くありません。

とゆーことで、こんな開発環境を考えてみました。

eclipse.jpg





Windows 上で Eclipse を立ち上げ、Linux 側で動くプログラムの開発を行います。
一言で言うならば、クロス開発環境の構築です。

今回の場合は...

 ▼ Windows 側をホスト(HOST)と呼びます。
 ▼ Linux 側をターゲット(TARGET)と呼びます。


いろいろネット上の情報も参考にしてあれこれやってはみたのですが
情報が古かったり、もっと便利なものが出てきたりしているので
自分であれこれ試してみたことを書き記して行きます。

全部で10回の連載を予定しています。

注意: MinGW/Cygwin 上で動く linux-i386 用 gcc を MinGW/Cygwin 上で作るのは
止めておいたほうがいいです。

一連のエントリ執筆に際し、特に参考になったサイト:
【連載記事「生産性向上への道 Eclipseで行うC/C++開発」】
http://monoist.atmarkit.co.jp/fembedded/index/eclipseccplusplus.html

【2011/06/04】 クロス開発環境 | トラックバック(0) | コメント(0) | page top↑
Windows/Linux クロス開発環境構築 その2 HOST側アプリのインスコ
さて、クロス開発環境構築にあたり、それぞれ以下のものをインスコします。
実際に使用した、各アプリのバージョンも記載してあります。

まずは HOST 側からです。

▼ HOST 側【Windows】
→ Eclipse(3.6.1 Herios SR1)
 ・特に気にしなければ、Pleiades を使うほうがよいでしょう。
 C/C++ の Full all in one がお勧めです。
 ・もしくは、eclipse.org のホームページから「downloads」を開き
Eclipse IDE for C/C++ Developers」をダウンロードしインスコしてください。

 ・上記のパッケージは C/C++ 開発に必要なプラグインも含まれています。
 ・インスコが終わったら、忘れずに「ヘルプ」→「更新の確認」で
 最新の環境にアゲておきましょう。
 ・Eclipse をインスコしたフォルダにある、eclipse.ini に
 以下の1行を追記しておいてください。
 通常 TARGET 側が UTF-8 環境のはずなので、この一行を追記しておかないと
 Eclipse のコンソールで文字化けが出ることになります。

-Dfile.encoding=utf-8



→ MinGW
 ・SourceForge からダウンロードしインスコしてください。
 ・トップページの緑色の「download」と書かれたボタンからダウンロードします。
 ・ここでダウンロードされるのはネット経由のインストーラーです。
 よって、常に最新版がインスコされることになります。
 ・32bit 版でも 64bit アプリのビルドとデヴァッグが可能です。
 ・msys も含まれています。別途ダウンロードする必要はありません。
 ・一連のエントリで、MinGW は C:\MinGW フォルダにインスコされていることを
 前提にしています。
 ・DOSプロンプトから以下のコマンドを実行し、
 make と gdb が起動することを確認します。

c:\MinGW\bin>mingw32-make.exe
mingw32-make.exe: *** No targets specified and no makefile found. Stop.

c:\MinGW\bin>gdb
GNU gdb (GDB) 7.2
Copyright (C) 2010 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "mingw32".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.


→ WinSCP(4.3.2)
 ・ここからダウンロードし、インスコしてください。


【2011/06/05】 クロス開発環境 | トラックバック(0) | コメント(0) | page top↑
Windows/Linux クロス開発環境構築 その3 TARGET側アプリのインスコ
次は TARGET 側のアプリのインスコです。
ちなみに TARGET 側の Linux は以下のバージョンを使用しています。

CentOS release 5.5 (Final)
Linux 2.6.18-194.el5 #1 SMP Fri Apr 2 14:58:14 EDT 2010 x86_64 GNU/Linux


▼ TARGET側【Linux】
→ gcc(3.4.6)
 ・開発機に最初からインスコされていた gcc をそのまま使用。

→ gdbserver(7.2)
 ・これは開発機に含まれていなかったので、ここからソースを取得し、
 ビルドしてインスコ。
 ・インスコが終わったら、下記のコマンドを投入して PATH を通しておきます。

# PATH="$PATH":/usr/src/debug/gdb-7.2/gdb:/usr/src/debug/gdb-7.2/gdb/gdbserver
# export PATH


 ・下記のコマンド投入し、gdbserver が起動することを確認します。

# gdbserver --version

GNU gdbserver (GDB) 7.2
Copyright (C) 2010 Free Software Foundation, Inc.
gdbserver is free software, covered by the GNU General Public License.
This gdbserver was configured as "i686-pc-linux-gnu"


 ・最後に忘れずに .bashrc にも PATH を通すスクリプトを追記しておきましょう。

PATH="$PATH":/usr/src/debug/gdb-7.2/gdb:/usr/src/debug/gdb-7.2/gdb/gdbserver



→ RSE(3.0.3)
 ・開発機に最初からインスコされていた rseserver をそのまま使用。
 ・ただこれは少し古いので、気になるようなら最新版をダウンロードしてインスコ。
 ・RSE は perl スクリプトから java を起動しているので、それらが動作する
 環境が必須。
 ・.bachrc に下記のスクリプトを追記し、自動で立ち上がるようにする。

LSOF=`lsof -i:4075`
if [ "$LSOF" = "" ]; then
cd /opt/rseserver
perl ./daemon.pl 4075 10000-10010 &
cd ~/.
fi



TARGET 側では、これらのアプリのインスコに加え、
SSH と以下のポートを開いておく必要があります。

#gdbserver
-A RH-Firewall-1-INPUT -p tcp -m tcp --dport 2345 -j ACCEPT
#RSE server
-A RH-Firewall-1-INPUT -p tcp -m tcp --dport 4075 -j ACCEPT
-A RH-Firewall-1-INPUT -p tcp -m tcp --dport 10000:10010 -j ACCEPT


上記の内容を /etc/sysconfig/iptables にでも追加して下さい。

【2011/06/06】 クロス開発環境 | トラックバック(0) | コメント(0) | page top↑
Windows/Linux クロス開発環境構築 その4 WinSCP の設定
最近の Linux のディストリビューションは、telnet とか FTP とかのサーヴィスが
立ち上がっていません。
もちろん立ち上げてもよいのですが、それはセキュリティ上好ましくない場合が
往々にしてあり得ます。

そこで、最近は telnet や FTP の代わりとして SSH を使用するわけですが
WinSCP は、フリーの SSH クライアントの一つとなります。

WinSCP はファイルの移動やリモートシェルの起動でとても世話になる神ツールです。

メニューから WinSCP を起動します。
有効なホスト名、ユーザ名、パスワードを入力してログインしてください。
秘密鍵は不要です。

winscp_login.jpg








ターゲット側にてデフォルトで備わっているサーバ証明書を受け入れるかどうか
聞かれますので、サクッと受け入れちゃってください。
接続先が誤っていないと言う自信があれば、問題ありません。

うまく接続できたら、すかさず「セッション」→「セッションを保存」で
セッションを保存してください。

winscp_sesssave.jpg








このときパスワードは保存してください。(推奨されませんがw)

これで次回からログインするときは「保存したセッション」から
ログインできるようになります。

セッションを保存した後、Language で 日本語から英語に切り替えて下さい。
これをしておかないと Eclipse のコンソール画面で文字化けが出ます。
まあ常に同じメッセージが出力されるので、
文字化けが気にならなければ日本語のままでも問題はないでしょう。



【2011/06/07】 クロス開発環境 | トラックバック(0) | コメント(0) | page top↑
Windows/Linux クロス開発環境構築 その5 RSEの設定
次はせっかくなので RSE のインスコにチャレンジします。
RSE をインスコすると Eclipse から TARGET に対し

 ▼ ファイル操作
 ▼ プロセス操作
 ▼ リモートシェル起動
 ▼ ターミナル起動


とまあ、TARGET 側に対して必要と思われる操作が行えるようになるのですが
正直 WinSCP があるので不要です。

それでも Eclipse と統合されているほうが使い勝手がよいという人もいると
思いますので、設定方法を書いて行きたいと思います。

まずは、パースペクティブを「リモートシステムエクスプローラー」に切り替えます。
リモートシステムエクスプローラーへの切り替えは、
最初に「ウィンドウ」→「パースペクティブを開く」→「その他」と進み

eclipse_parspective.jpg








「リモートシステムエクスプローラー」を選択します。

eclipse_parspective2.jpg











次に、リモートシステムのビューで右クリックし、新規接続を選択します。

rse_new.jpg











リモートシステムタイプで「Linux」を選択して「次へ」

rse_new1.jpg










リモートシステム接続(Linux)で、有効なホスト名と接続名を入力し「完了」
ホスト名は名前解決できるホスト名を指定する必要があります。

TARGET のサーバ名と接続名が一致しないと繋がりません。
「ホスト名」が正しい接続先になっていても弾かれます。
この場合でも、SSH だけを指定して繋ぐ分には繋がります。
TARGET のサーバ名は SSH で TARGET 側に接続し、
次のコマンドを入力して確認して下さい。

echo $HOSTNAME


rse_new2.jpg











設定が終了すると、このようなツリーが表示されるはずです。

rse_new3.jpg












設定が出来たらつないでみましょう。

まずは SSH のターミナルで TARGET 側と接続します。

rse_ssh_connect.jpg









.bashrc で rseserver が自動的に立ち上がるようになっていない場合は
以下のコマンド入力して rserserver を立ち上げてやりましょう。

cd /opt/rseserver/3.0.3/
perl ./daemon.pl 4075 10000-10010 &
cd ~/.


次にシェルをつなぎます。
まずはシェルのプロパティで「サーバー・ランチャー設定」が
「リモート・デーモン」で「デーモン・ポート」が 4075 であることを確認します。
(デフォルトでこの設定になっているはずです)

rse_shell_connect_property.jpg









設定が確認できたら SSH の時と同じように接続します。(少し時間がかかります)

上手く接続できれば、すべてのアイコンに緑の矢印がつきます。
接続できれば、リモートシステムのビューからターゲットのファイルを eclipse 上で
編集したり、プロセスの停止や起動ができるようになります。

rse_shell_connect.jpg










「接続名」は、プロパティの赤枠の箇所を確認して下さい。
「ホスト名」の方は IP アドレスでも名前解決できるサーバ名でもかまいません。

rse_property.jpg









ログインユーザは root でもかまいませんが、他のユーザで接続することが可能です。
ただし、rseserver は root 権限がないと起動することはできません。

接続に失敗しても、気を取り直してもう一度繋げなおすと
繋がることがよくありますw
一旦繋いでしまえば、突然切れてしまうようなことはないようです。

【2011/06/08】 クロス開発環境 | トラックバック(0) | コメント(0) | page top↑
Windows/Linux クロス開発環境構築 その6 C++プロジェクトの生成
新しくプログラムを作るために、C++ のプロジェクトを生成します。

まずは「ウィンドウ」→「パースペクティブを開く」で
パースペクティブをC++ に切替えます。

cpp_project1.jpg





次に、プロジェクトのペインで「新規」→「C++プロジェクト」を選択します。

cpp_project2.jpg








C++ プロジェクトのダイアログで、赤枠で囲まれた箇所の
 ▼ プロジェクト名
 ▼ ロケーション
きちんと入力します。

cpp_project3.jpg










本当はファイルシステムの選択で RSE が使えれば言うことなしなんですが
RSE 経由で make が起動できないので今のところあまり意味はありません。

Windows 用のプログラムであればこのままでよいのですが
Linux 用であればエンコードを変更することもあるかと思います。
エンコードの変更は「ウィンドウ」→「設定」を開き、

encode1.jpg









設定ダイアログで「一般」→「ワークスペース」で変更が可能です。

encode2.jpg










次に示すビルドのプロパティはとっても重要です!

まず、プロジェクトのプロパティを開き、ツールチェーン・エディタで
 ▼ 「現在のビルダー」を 'Gnu Make ビルダー' に変更する。

cpp_build1.jpg







次に、C/C++ ビルドで
 ▼ デフォルト・ビルド・コマンドを使用のチェックを外す。
 ▼ 自動的に Makefile を生成のチェックを外す。
 ▼ ビルド・コマンドに mingw32-make への絶対パスを設定する。

cpp_build2.jpg








最後に、ツールチェーン・エディタに戻り
 ▼ 互換ツールチェーンのみ表示のチェックを外す。
 ▼ 現在のツールチェーンを 'ツールチェーンなし' に変更する。


を、必ず上から順番にやらなければなりません。

「debug」構成の「振る舞い」タブのビルドで all を debug に変えてみるのも良いです。

これでとりあえずプロジェクトの設定は終わりましたが、
これではまだコンパイルもデヴァッグもまだできませんw

【2011/06/09】 クロス開発環境 | トラックバック(0) | コメント(0) | page top↑
Windows/Linux クロス開発環境構築 その7 C++プロジェクトのビルド
作ったプロジェクトをさっそくクロスコンパイルでビルドしてみます。

ちなみに、HOST と TARGET は以下のような関係になってます。

hosttarget_build_dfd.jpg






簡単に言えば、
 ▼ ソースコードは HOST で編集
 ▼ ビルドは TARGET で行う

とゆーことになります。

クロスコンパイルを行う際は、以下の3つの重要なファイルが必要です。
ファイルは全て UTF-8 エンコードで保存して下さい。

 (1) Makefile:
  → HOST 側 make(mingw32-make)用の Makefile
  → HOST 側で動作する WinSCP を起動するためだけのもの

 (2) hidenov.mak:
  → TARGET 側 make 用の Makefile
  → 実際にソースコードからビルドを行う

 (3) hidenov.scp:
  → HOST 側で動作する WinSCP 用のスクリプトファイル
  → hidenov.mak とソースコード類を TARGET 側に転送する
  → TARGET 側にビルドを指示する
  → TARGET 側でビルドされた生成物を取得する

Makefile は通常の Makefile とは全く異なります
以下のサンプルを参照してもらえば何を行っているかは一目瞭然です。

all:
winscp /script="C:\source\hidenov\hidenov.scp" /parameter all
@echo Target compiled

debug:
winscp /script="C:\source\hidenov\hidenov.scp" /parameter debug
@echo Target compiled

clean:
winscp /script="C:\source\hidenov\hidenov.scp" /parameter clean
@echo Target compiled



hidenov.mak は一般的な Makefile そのものです。
以下のサンプルを使用していますが、何か特別なことをしているわけではありません。

#64bit 対応!
CXXFLAGS = -Wall -Wno-trigraphs -fmessage-length=0 -m64 -O0 -g
CXX = g++

TARGET = hidenov
OBJS = hidenov.o


all: $(TARGET)
$(TARGET): $(OBJS)
$(CXX) $(CXXFLAGS) -o $@.exe $(OBJS)

.PHONY: debug
debug: $(TARGET)

.PHONY: clean
clean:
rm -f *.o
rm -f *.exe



最後に hidenov.scp のサンプルです。

# バッチモードに設定し、確認/問い合わせを無効にする
option batch on
# ファイル上書きの確認などを無効にする
option confirm off
# 保存されたセッション名でサーバに接続
open hidenov
# バイナリモードに変更
option transfer binary
# リモートディレクトリを変更
cd /home/hidenov/src/
# アップロード対象ファイルの定義
option include "*.cpp; *.h*"
# ソースをアップロード( -mirror オプションで全てのファイルをアップロード )
synchronize remote -mirror C:\source\hidenov /home/hidenov/src/
# ターゲット側で make を実行
call make -f hidenov.mak %1% > make_result.txt
# ダウンロード対象ファイルの定義
option include "*.*"
# 処理結果を取得
get make_result.txt C:\source\hidenov\
get hidenov.exe C:\source\hidenov\
# 切断
close
# 終了
exit



'open hidenov' の行は、もちろん WinSCPで保存したセッション名に
変更する必要があります。

上記のサンプルでは
 ▼ HOST 側ソースコード置き場 → C:\source\hidenov
 ▼ TARGET 側ソースコード置き場 → /home/hidenov/src/
となっていますので、適宜変更する必要があります。

'call make -f hidenov.mak %1% > make_result.txt' の行では
サンプルのように make にパラメータを引き渡すことで、
make の挙動を変化させることができます。

'synchronize' コマンドの -mirror オプションは無くても大丈夫です。
てゆーか無い方が余計なファイルを転送しないので微妙に早いです。


全ての準備を整えた後、プロジェクトのビルドを行うには
C/C++ のパースペクティブでトンカチのアイコンをクリックするだけです。
Eclipse はプロジェクトの Makefile を勝手に読みに行くはずなので
何か追加で設定を行う必要はありません。

コンパイルエラーが発生すれば、コンソールに表示されます。
エラーを示す赤字のテキストをクリックするだけで
該当のソースコードに飛ぶことができるのでとっても便利です。

compile_error.jpg






そして、エラーを直したら
Shift + Ctrl + s で全ファイルをセーブするクセをつけましょう。

【2011/06/10】 クロス開発環境 | トラックバック(0) | コメント(0) | page top↑
Windows/Linux クロス開発環境構築 その8 デヴァッグ設定(gdbserver起動)
最後にクロスコンパイルで出来た実行ファイルをリモートでデバッグします。

HOST と TARGET は以下のような関係になってます。

hosttarget_dbg_dfd.jpg








クロスプラットフォームなので当然
 ▼ HOST 側で表示と操作
 ▼ TARGET 側でプロセス実行

の構成になります。

まずは TARGET 側の gdbserver を Eclipse から起動するための
設定を行います。
これには以下の2つのファイルが必要です。

 (1) invoke_gdb.bat
  → WinSCP を起動するバッチファイル

 (2) invoke_gdb.scp
  → TARGET 側でgdbserver を起動する WinSCP 用のスクリプトファイル

どちらのサンプルも至って単純なものです。

 (1) invoke_gdb.bat

start winscp /script="C:\source\hidenov\invoke_gdb.scp" /timeout=2



 (2) invoke_gdb.scp

# バッチモードに設定し、確認/問い合わせを無効にする
option batch on
# ファイル上書きの確認などを無効にする
option confirm off
# 保存されたセッション名でサーバに接続
open hidenov
# リモートディレクトリを変更
cd /home/hidenov/src/
# ターゲット側で gdbserver を起動
call gdbserver %HOSTのIPアドレス%:2345 hidenov.exe
# 切断
close
# 終了
exit



デヴァッグするプロセスに引数を渡す必要があれば


call gdbserver %HOSTのIPアドレス%:2345 hidenov.exe foo bar


のようにします。この場合は、引数として foo と bar が
プロセスに引き渡されます。

ファイルが用意できたら「外部ツールの構成」を開き

ext_tool_1.jpg





「ロケーション」に invoke_gdb.bat のフルパスを設定します。
「ビルド」タブから「起動前にビルド」のチェックも
外しておくと起動が早くなります。

ext_tool_2.jpg








設定ができたら実際に Eclipse から TARGET 側の gdbserver が
起動できるかどうか確認します。
「外部ツールの構成」から今設定したものを実行します。
うまく起動できているのであれば、TARGET 側で
gdbserver のプロセスが起動できていることが確認できるはずです。

gdbserver のプロセス起動の確認例:

# ps -ef | grep gdbserver
root 1172 1129 0 Jun02 ? 00:00:00 gdbserver 192.168.1.1:2345 hidenov.exe
root 7019 6225 0 18:42 pts/0 00:00:00 grep gdbserver



【2011/06/11】 クロス開発環境 | トラックバック(0) | コメント(0) | page top↑
Windows/Linux クロス開発環境構築 その9 デヴァッグ設定(gdbリコンパイル)
次に HOST 側の gdb の設定を行います。

TARGET 側の Linux が 32bit OS であればおそらく何もする必要はないのですが
TARGET 側が 64bitOS だったりすると MinGW に最初からインスコ
されている gdb ではうまく動きません

おそらくはこんなエラーに遭遇するはずです。

DOSプロンプトか、MSYS の bash から直接 gdb を立ち上げ、
以下のコマンドを入力してみて下さい。

target remote %HOSTのIPアドレス%:2345

(gdb) target remote 192.168.1.1:2345
Remote debugging using 192.168.1.1:2345
warning: A handler for the OS ABI "GNU/Linux" is not built into this configurati
on
of GDB. Attempting to continue with the default i386:x86-64 settings.

Remote register badly formatted: T0506:0000000000000000;07:203f8f8fff7f0000;10:7
00a60dc3b000000;thread:497;
here: 00000000;07:203f8f8fff7f0000;10:700a60dc3b000000;thread:497;


このエラーは
 ▼ gdb の architecture と TARGET 側の architecture が一致していない。
 ▼ この gdb の configuration では TARGET 側の archtecture に
  合わせることができない。
の二つが原因となります。

よって
 ▼ gdb の configure をやりなおしてから gdb をリコンパイルする。
 ▼ gdb の set archtecture コマンドで TARGET 側の archtecture に
  合わせる。
で、解決することになります。

32bit OS であっても、同様の現象に遭遇するようであれば
同様の解決策で対処する必要があります。

gdb リコンパイルの手順を以下に示します。
gdb のソースコードは TARGET 側のために用意したものと同じものが使えます。

1.C:\MinGW\share フォルダに tar.gz ファイルをコピーし、解凍します。
→ gdb 7.2 であれば、gdb-7.2 というフォルダができるはずです。

2.bash を立ち上げ、/c/MinGW/share/gdb-7.2 に移動します。

3.gdb のコンフィギュレーションを行います。
このとき、必ず --target オプションで
デヴァッグ対象となる TARGET を指定する必要があります。
--target 指定するパラメータは、TARGET 側の gdb を起動して確認して下さい。

TARGET 側の gdb 起動例:

[root@192 src]# gdb --version

GNU gdb (GDB) Red Hat Enterprise Linux (7.0.1-23.el5)
Copyright (C) 2009 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-redhat-linux-gnu".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.

HOST 側 gdb コンフィギュレーション指定例:

> ./configure --target=x86_64-redhat-linux-gnu


4.うまく Makefile が作成されたら、そのまま make を実行します。
すっげえ時間がかかりますが、
うまく行けば /c/MinGW/share/gdb-7.2 に
gdb.exe が生成されるはずです。
この gdb.exe をオリジナルの C:\MinGW\bin 配下の gdb を上書きするなり
リネームして共存するなりすることができます。

うまく行かなかったら解凍したフォルダをばっさり削除して
最初からやりなおさないとうまく行きません。
↑ 今回これで大嵌りしたw

今回は、オリジナルを上書きしたと仮定して説明を進めます。

【2011/06/12】 クロス開発環境 | トラックバック(0) | コメント(0) | page top↑
Windows/Linux クロス開発環境構築 その10 デヴァッグ設定(HOST側設定)
HOST 側のgdbを呼び出すために、Eclipse 側の設定を行います。

1.「デバッグの構成」を開きます

dbg_config1.jpg






2.「C/C++ Application」をマークした状態で「新規」ボタンを押します。
 → このとき、必ず「GDB(DSF) Remote Process System ランチャー」
  使用中になっていることを確認します。

dbg_config2.jpg









3.「デバッガー」タブの「GDB デバッガー」に MinGW の gdb を指定します。
 → TARGET が 64bit Linux の場合は、architecture を合わせる必要があるので
 「GDB コマンド」に以下のコマンドを書いたテキストファイルを指定します。
 下図の赤枠の例にあるとおり、コマンド自体を指定するわけではありません。

set architecture i386:x86-64



dbg_config3.jpg









 → TARGET が 32bit Linux の場合は、GDBコマンドの設定は不要です。

4.「デバッガー」タブの「接続」タブを開き、TARGET 側の IP アドレスと
 ポート番号をそれぞれ指定してやります。


dbg_config4.jpg









全ての設定ができたら、「C/C++」か「デバッグ」パースペクティブにある
虫のボタンを押してデヴァッグを開始します。
うまく行っているならば、main() のソースコードが表示され
main() の先頭で停止しているはずです。

一旦デヴァッグを終了すると TARGET 側の gdbserver も終了します。
デヴァッグを再開する場合は、先に外部ツールを起動してから
虫のボタンを押す必要があります。



【2011/06/13】 クロス開発環境 | トラックバック(0) | コメント(0) | page top↑
議決権行使助言サービスを無料で提供 2011
毎年恒例議決権行使助言サービスです。
そして今年は休みを取ったので
東京電力の株主総会に出席します!

今年もマシな順です。

・東急建設
いやもうなんか普通の会社過ぎる。
株価200円台で無理なく配当10円出してくるんだから文句なし。
全議案賛成で。

・フージャーズコーポレーション。
まずは復配おめでとうございます。
とは言え、一株あたりの儲けが 8000円で配当 200円は少ない。
どう見ても仕掛不動産が大きすぎだよなあと一抹の不安が。
それでも全議案賛成で。

・ヤマシナ
3期ぶりの復配なんですが、一株0.5円w
この大きく上がる気配もないが、大きく下がることもなく
安定してるのはいいんですが、低空飛行で安定じゃあなあ。
自己株式の取得か何かで株価の底上げをお願いしたい。
全議案賛成で。

・キムラタン
19期ぶりの黒字おめでとうございます!
次は復配か自己株式の取得でもやっていただきたいところです。
全議案賛成で。

・カーチスホールディングス
今年は6億としっかり黒字出してきたけれど
マイナス200億の利益剰余を払拭するにはまだまだ足りない。
それでも会社に勢いはあるようなのでこのまま頑張ってほしいです。
全議案賛成で。

・アイロム
過去のゴタゴタはすでに処理済な雰囲気。
賃借対照表も損益計算書もビミョーな点はあるけれど、
突っ込みを入れるほどとは言えない。一応黒字だし。
議案は事実上新任取締役の信任。
全議案賛成で。

・塩見ホールディングス
財務をどうにかしないとダメと言っていて、財務をどうにかしたのは評価したい。
それでもまだ短借や未払い金が130億もあるし
今年も5億の営業赤字なのでまったく油断はできない...
もうちょっと様子を見たい。全議案賛成で。

・ニッシン債権
本業はそれなりに順調なのに、借金の利払いと株の損失で赤字。
本当にこれでおしまいなんだろうなあと激しく問い詰めたい。
会社の規模に合わせて取締役を削減したのはよい。
しかたない。全議案賛成で。

・NISグループ
潔く高利貸しを止めたのはいいがダメージが大きすぎる...
そして遂に債務超過に転落。ネオラインはまだ支える気なのだろうが。
唯一の光明は新規セグメントが微妙に黒字なこと。
これはネオラインから来た取締役の功績なのかもしれない。
上場廃止にならないことを祈りつつ全議案賛成で。

・バナーズ
今年も引き続き材木屋の社長が頑張ったけれど、
借金踏み倒されて評価損食らって赤字転落。残念。
新株発行は一昨年の予約権行使なので、現経営陣は関係ないです。
それより困るのは本格的に屑株脱却のためか株式併合をするところ。
一号、二号議案は否決で。それ以外は賛成で。

・ジパングホールディングス
ここは買ったときに全力で推奨してたけどもう売るべき。割高過ぎ。
現時点でも1.5倍になったからもう十分だと思います。
営業赤字だし財務が綱渡り過ぎ。いつ債務超過になってもおかしくない。
議案は金鉱山会社になることを明確にするので問題ない。
社長も任期切れてないし。全議案賛成で。

・東理ホールディングス
色々と無茶苦茶な会社ではあるけれど、
本業よりM&Aで買った会社のほうがちゃんと利益出してるのが不思議。
それより会社からの借金を踏み倒しに来てる連中を
取締役に据えようとか頭おかしいとしか思えない。
全議案否決で。

・クレアホールディングス(旧東邦グローバル)
このエントリは毎年この会社を dis るためにやってると思えてきたw
今年も株券発行業は大変順調で、ド赤字ですが株主資本は増えてますw
おかげで株式数は前年度の実に4倍。最近は1円張り付きから動きません。

この会社の凄いところは
1円の株を0.3円で売る
パーフェクトな錬金術を編み出したことでしょう。
だから株式の併合はしない。
もちろん0.3円で買ったからって1円で売るには凄い時間がかかりそうですが。

事業は一応黒字のセグメントもあるのですが(正直驚いた)
売上の実に半分の謎コンサル費を持っていかれているようであっては
いくら稼いだって常に赤字になるに決まってます。
多分真っ黒なお友達がかっぱぐ仕組みが出来上がっているんでしょうね。
それでも去年は同じぐらいあった謎コミットメント費用がないだけマシか。

もちろん全議案否決だっ!

【2011/06/18】 屑株 | トラックバック(0) | コメント(0) | page top↑
今月の密林 2011/6
今月はアフタヌーンに加え、単行本が2冊です。

続きを読む
【2011/06/20】 アフィリエイト | トラックバック(0) | コメント(0) | page top↑
ミドルリスク・ハイリターンな投資法
最近はあまり人気が無いようですが
下記のような特徴をもつ、伝統的な投資法があるので紹介したいと思います。

▼ 基本的にミドルリスク・ハイリターン
 → 平均的な投資スタイルとしては、1000万円程度を20年程度に渡って
  分割して投資し、その後 40年以上に渡って合計
  2億円程度のリターンが得られます。
 → 年金や老後の備えとしても有効です。
 → まれにリターンがマイナスになることがありますが、
  リターンは無制限です。期待値は大幅なプラスになります。
 → 自宅を持つように、投資の事実が社会的ステータスの上昇に
  つながることがあります。
 → より活発に運用に取り組む方が、より大きなリターンが得られる傾向があります。

▼ 投資資金は概ね 500 万円以上
 → 結構高額で敷居が高い!と思うかもしれませんが、
  運用中に分割して投資するため、資本が少ない人でも運用が可能です。
 → 初期投資に 100 万円程度必要ですが、
  運用開始と同時に資金の大半が回収できます。
 → 基本的に投資金額が大きい方が、より大きなリターンが得られる傾向があります。

▼ 運用年数は最低15年以上
 → 最低15年ですが、大半の人は20年以上運用することが多いです。
 → 運用年数が長い方が、より大きなリターンが得られる傾向があります。
 → 長期の投資となりますが、解約は一切出来ません
 → 意図せず運用が中断されてしまった場合でも、返戻金等はありません。

▼ 国や民間によるリスクヘッジの仕組みが充実している
 → 資力の少ない人でも投資できるよう、国や自治体から補助金が出ます。
 → 投資初期に運用が失敗した場合、
  解約はできませんが国や自治体から手厚い支援が得られます。
 → 民間で運用中断時のリスクヘッジとなる仕組みを提供しています。


ひでのふはなかなか魅力的な投資法だと思うのですが、
さてその投資法とは...



続きを読む
【2011/06/22】 所信 | トラックバック(0) | コメント(0) | page top↑
マシン室を作る その12 根太の取り付け
まずは根太の仮組みからやってみます。
嵌めるのには結構力が必要で、根太の材木をバンバン踏んで嵌めて行きます。
このときばかりはデヴでよかったなあとw

仮組みで、接着剤や釘を使わなくても
十分な嵌合力が得られたのは正直驚きました。

仮組みでホゾが少しずれて嵌らなくなっているところは
仕方がないのでトリマーで少しホゾを広げてやりました。

実際仮組みをしてみたところ、不陸やプラ木レンとのズレもなく
問題なさそうだったので本組みに入ります。

が、ホゾの部分が節になっていたところが、
仮組み状態から分解するときに割れてしまいました...

本組みの時にはホゾの部分にボンドを塗り、
さらにコーススレッドで締めてみました。
コーススレッドの頭からはウィスカが発生することになりますが
コーススレッドの頭の真上に床板を置くので問題にならないと思います。

ちなみに根太とプラ木レンは接着していません。上に置いただけです。
これは根太とその上に載せる物の自重で十分な粘着力が得られるで
あろうと言う目論見と、何かの時に根太のジャッキアップを
可能とするためです。

でもってこれができた写真。

DSC04586.jpg










床板を敷いて上を歩いても、十分な剛性を感じるのでよしとします。

次は見切りかエアフィルタの作成です。


続きを読む
【2011/06/23】 マシン室 | トラックバック(0) | コメント(0) | page top↑
我が家の家計 2011/6
今月の増加分:-279714
今までの増加:-739280
車の減価償却引当て:1620000

今月もまた巨額のマイナスでさらに累積赤字が膨らんでいるようにみえますが
これは、はにぃに一昨日のエントリに書いた投資費用の先渡しを
一旦家計から行ったためです。

これに関しては引当て分の定期預金が来週満期になるので補填されます。

実際は実に22万円のプラスで、先月は現金の小遣いを5千円しか使っていない
とゆー倹約ぶりも光りますが、なによりもやっぱり

コドモ手当て10万円

とゆーのが家計に対して大きなインパクトがあります。
だって先月分は定期券代の支払い10万円が来てなおこのプラスなんですから。
そして忘れちゃいけない期末賞与も僅かながら家計に貢献しました。

カードの支払いも来月は5万円と普段より少なめです。
えび柿の帰省のヒコーキ代往復入れてこれなんですから。

まあ、倹約ばかりしていてもしょうがないので、
週末は家族でどこかに出かける予定だったりするんですが。


【2011/06/24】 家計 | トラックバック(0) | コメント(0) | page top↑
株主総会-東京電力の場合
まあおまえらまずはこれを見てくれないか。話はそれからだ。

toden.jpg





ひでのふの怨念を判ってもらえたところで次に進んでください。
続きを読む
【2011/06/28】 相場 | トラックバック(0) | コメント(0) | page top↑
今月の屑株 2011/6
今月は以下の銘柄を売却

バナーズを 7円で 200 株 -4800

今月は以下の銘柄を購入

フォーバルRSを 2350円で 2株

バナーズはこのまえちょろっと書きましたが、
株式併合によりひでのふの持ち株が端株になってしまうので売却しました。
バナーズは屑株からの脱却を志していると思われます。
まあ、下落してくればまた買うことになるんですが。

まずはこの会社、フォーバルリアルストレートであって
フォーバルリアルエステートではありません!
まあひでのふも素で間違えていたわけですがw

フォーバルRSは元々は通信機器を扱う会社だったのですが
今ではオフィス引越しのコンサルティングにクラスチェンジしています。
業種が全然違うじゃんと言う人もあると思いますが、
この会社は以下のようにクラスチェンジをしてきた歴史があります。

▼ 電話機を売る。沢山売る。

▼ 電話機を沢山買ってくれるお客さんのマネをして、アウトバンド営業を始める。

▼ 電話機を売る傍ら、ついでに新規オフィスへIT関連の設備設置事業を始める。

▼ 新規オフィスの設備に関わり、ついでにオフィスのコンサルティングを始める。

てな感じで、まるでヤマハを彷彿とさせるような業容拡大を行ってきたのですが
ヤマハと違うのはどれもあまり儲かっていないと言う点でしょうか。

それでもこの会社は、設立、上場を経て平成18年度までは順調な成長を続け
株価は一株50万円。配当も5000円出ていた有望な会社だったのですが
平成19年度からは超絶赤字を何年も出し続け、
その間は株券印刷業で命脈を繋いできました。

そんな会社であれば、通常はこのエントリのネタになるような濃ゆい話の
一つもありそうなものなのですが、残念ながら見つけることができませんでした。
せいぜい言えるのは
ブラック会社(まあこの手の情報機器販売の会社は大抵どこもブラック)
・子会社の社長が売上着服(とても倒産するほどのものではなかった)
ぐらいのことです。

結局、フォーバルに買われて子会社になるわけですが、
フォーバルがこの会社を買ったのも、それほどおかしな会社ではないと
判断したものと思われます。

今後の見通しですが、新株の発行が止まらないことにはどーにもなりません。
昨年度の赤字も株券を1億円分刷って当てている状況です。
まあ過去に80億円近く株券刷って、そのうち70億円溶かしたことに比べれば
大した額ではないのですが、とにかくこの銘柄はひじょーに流動性に乏しく
新株の一部でも市場に流出してしまうと一気に暴落する危険があったりします。

おそらく業績の向上に伴う株価の上昇より、流動性の乏しさから何かの材料で
一気に花火が上がるほうが早いような気がします。


【2011/06/29】 屑株 | トラックバック(0) | コメント(0) | page top↑
| ホーム |