syslog

syslog.confをはじめていじってみた。最初の作品。 /etc/syslog.conf *.info /var/log/0317Log priorityがLOG_INFO以上(=LOG_DEBUG以外)を、/var/log/0317Log に出力するという設定ファイル左側の、*.info 部分を セレクターフィールド 右側をアクション…

Makefile

/cygdrive/c/Users/play/0315/Makefile all : make -C ./sub /cygdrive/c/Users/play/0315/sub/Makefile all: echo `pwd` echo $(PWD) /cygdrive/c/Users/play/0315 ディレクトリにおいて、 $ make -s /cygdrive/c/Users/play/0315/sub/ /cygdrive/c/Users/p…

Makefile

make all って打ったときに、まずは、make clean して、ビルドしなおす、 のように、「あれをして、これをしてから、これをする」みたいにMakefileを書きたいとき。たとえば、こんな風にMakefileを書くと、 all: 1 2 3 test.c gcc -o test test.c 1: echo '1…

スタブ

単体テストをしよう!まずは、下位モジュール(他のモジュールに依存しないモジュール)を単体テスト。で、それを使うモジュールを単体テスト。で、それを使うモジュールを単体テスト。。。 のように、なんとなく考えてしまってたけど、これって単体テストで…

ライブラリの依存関係

main.cがlibtest1.aに依存し、 libtest1.aがlibtest2.aに依存している場合のビルドは、 gcc main.c -ltest1 -ltest2 依存先を後ろにつけます。 では、ライブラリが双方向(相互)に依存している場合はどうするのか?これまた、 gcc main.c -ltest1 -ltest2 …

http://itpro.nikkeibp.co.jp/article/COLUMN/20060313/232340/ 「かつて自動車はエンジンで動いていたが,今動かしているのはソフトウェアだ」 これらのソフトウェアを実際に意識することはあまりないが(意識するときは,故障が起こった場合など,ろくでも…

POSIX メッセージキュー リベンジ編

前回:http://d.hatena.ne.jp/debian36/20080220/1203510497 ちょっと前に挑戦して、うまくいかなかったPOSIX メッセージキューを用いたIPCプログラミング。いろいろ試した結果、前回の ERRNO 90 (ELOOP) の原因は、 mq_receive 時のバッファサイズ指定ミス…

extern "C"

前回は、C++ソースで定義された関数を Cソース内でコールする場合に起こる問題について書きました。そのキーワードが、「マングリング」でした。前回:http://d.hatena.ne.jp/debian36/20080226 では、その問題を回避する方法、すなわちマングリングを避ける…

マングリング

今日の午後は、ずっとC++(g++)と闘っていました。。。これまで C言語でコーディングされていたシステムの一部が、C++に変更されたたため、自分が担当する部分もそれに対応する必要がありました。 ※ プロジェクト進行中に言語変更なんて自由やなぁ・・・(^^; …

SystemV メッセージキュー

前回に続き、メッセージキューを用いたIPCプログラミング。コマンドライン引数で受けた文字列をキューに追加するプログラムと、 それを取り出すプログラム。2つの独立したプログラム(プロセス)が、ひとつのメッセージキューを通して、コミュニケーションし…

POSIX Semaphore

今度は、POSIX仕様のセマフォ。これも、Cygwinでやろうとしたんだけれど、POSIXリアルタイムライブラリが見つからなかったため、断念。で、でびあん♪ defs.h セマフォ名(openするときの素(もと)となるもの)の定義のみ。 はじめ、これを/tmp/sem123 とし…

Cygwinでメッセージキュー使用

今日は、でびあんはお休み。 その代わりに、Cygwinで IPCプログラミングを試みる。メッセージをSendするプログラムと メッセージをRecvするプログラムの簡単なもの。 def.h メッセージキューキー取得のための、ftokに取得するパスの定義、 メッセージキュー…

データ型の定義場所

あるヘッダファイル( hoge.h )で、構造体をたくさん定義していた。ただ、なにか違和感があった。そのヘッダファイルをインクルードする他のソース( src1.c src2.c )で、それらの構造体を使っているわけではない。どこで使っているかというと、そのヘッダファ…

非機能要求

oo

友人から、彼が開発中のシステムにおいて、仕様の変更が発生しその影響がかなり大きく大変だという話を聞いた。アーキテクチャは、オブジェクト指向に基づいて設計されていることは知っていたから、 ついつい、「え、せっかくオブジェクト指向で設計、実装し…

POSIXメッセージキュー

いまは、IPC(プロセス間通信)にはまってます。でも、まだひとつも動かせていません…とりあえず今日の成果。コンパイルまでは通るけど、 実行すると、mq_receiveのところで、errno:90( ELOOP ) というエラーがでて、メッセージを取得できていない模様… #incl…

符号付き数値

上の実験コードでは、intを char 配列として見ています。32バイトのビット配列をひとつの 32ビット数値 としてみるか、4つの 8ビット数値 といてみるかという、要は、「見方」を変えたものです。 では、ついでに、もうひとつ「見方」を変えてみます。 #inclu…

バイトオーダ

今まで、LSBは、Least Significant Byteの略だと思ってました…なんか、大文字の B を見るとついつい、ビットではなくバイトと思ってしまって。正しくは、Least Significant Bit の略ですね。 もっとも、意味が薄いビットつまり、最下位ビットのことですね。0…

さすがに1日坊主は逃れた。

今日も元気にでびあん起動。

パッケージのインストール

まずはネットに繋げないと話にならない。使いかたわからん=>リブートして、ウィンドウズ上で調べる=>リブートして、でびあん上で試す、、、 なんてこと、2往復したらヤになります。でびあんのパッケージ(ソフトウェア群?)管理は、 APT( Advanced Pack…

でびあんのインストール

はじめに…なぜDebianと書かずに、でびあんなのか…うぃんどうずだと、Shift+ で、アルファベット打ちができるのに、いまの環境だと、できないから…(ーー;そのうち、設定のしかたを知って、Debianって打つようになってればいいなぁ。で、インストール時、さ…

Linuxはじめました。

Linuxをインストールしました。うぃんびすたとデュアルブートで、 でびあんを。インストールしたのは、3、4日前…そのときは、インターネットもできんのかって、 すぐにやめちゃいました。で、今日。 「難しいのはでびあんだからだ!」「違うディストリビュー…