programming
syslog.confをはじめていじってみた。最初の作品。 /etc/syslog.conf *.info /var/log/0317Log priorityがLOG_INFO以上(=LOG_DEBUG以外)を、/var/log/0317Log に出力するという設定ファイル左側の、*.info 部分を セレクターフィールド 右側をアクション…
/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…
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 …
前回は、C++ソースで定義された関数を Cソース内でコールする場合に起こる問題について書きました。そのキーワードが、「マングリング」でした。前回:http://d.hatena.ne.jp/debian36/20080226 では、その問題を回避する方法、すなわちマングリングを避ける…
今日の午後は、ずっとC++(g++)と闘っていました。。。これまで C言語でコーディングされていたシステムの一部が、C++に変更されたたため、自分が担当する部分もそれに対応する必要がありました。 ※ プロジェクト進行中に言語変更なんて自由やなぁ・・・(^^; …
前回に続き、メッセージキューを用いたIPCプログラミング。コマンドライン引数で受けた文字列をキューに追加するプログラムと、 それを取り出すプログラム。2つの独立したプログラム(プロセス)が、ひとつのメッセージキューを通して、コミュニケーションし…
今度は、POSIX仕様のセマフォ。これも、Cygwinでやろうとしたんだけれど、POSIXリアルタイムライブラリが見つからなかったため、断念。で、でびあん♪ defs.h セマフォ名(openするときの素(もと)となるもの)の定義のみ。 はじめ、これを/tmp/sem123 とし…
今日は、でびあんはお休み。 その代わりに、Cygwinで IPCプログラミングを試みる。メッセージをSendするプログラムと メッセージをRecvするプログラムの簡単なもの。 def.h メッセージキューキー取得のための、ftokに取得するパスの定義、 メッセージキュー…
いまは、IPC(プロセス間通信)にはまってます。でも、まだひとつも動かせていません…とりあえず今日の成果。コンパイルまでは通るけど、 実行すると、mq_receiveのところで、errno:90( ELOOP ) というエラーがでて、メッセージを取得できていない模様… #incl…
上の実験コードでは、intを char 配列として見ています。32バイトのビット配列をひとつの 32ビット数値 としてみるか、4つの 8ビット数値 といてみるかという、要は、「見方」を変えたものです。 では、ついでに、もうひとつ「見方」を変えてみます。 #inclu…
今まで、LSBは、Least Significant Byteの略だと思ってました…なんか、大文字の B を見るとついつい、ビットではなくバイトと思ってしまって。正しくは、Least Significant Bit の略ですね。 もっとも、意味が薄いビットつまり、最下位ビットのことですね。0…