«前の日記(2004年10月23日) 最新 次の日記(2004年10月25日)» 編集

だめだめ日記

ツッコミの内容は検索サイトからの検索やサイトのレーティングに影響します。そのため問題があるキーワードを含むと思われるツッコミについては、当方の判断で削除することがあります。予めご了承ください。 なお、コメントspamと判断されたツッコミは自動的に消去されます。ご容赦ください。
2002|12|
2003|01|02|03|04|05|06|07|08|09|10|11|12|
2004|01|02|03|04|05|06|07|08|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|05|06|07|08|09|10|11|12|
2009|01|02|05|06|07|08|09|10|11|12|
2010|01|02|03|04|05|06|07|08|09|10|11|12|
2011|01|02|03|04|05|06|07|08|09|10|11|12|
2012|01|05|06|09|10|11|12|
2013|01|02|02|03|08|09|
2014|01|
2015|09|10|11|
2016|01|04|

執筆、翻訳などに関わった書籍類


【改訂新版】Samba [実践]入門

Linux教科書
LPICレベル3 300試験

マスタリング Nginx

実践 パケット解析 第2版

改訂版 Sambaのすべて

アンドキュメンテッド
Microsoftネットワーク

その他の書籍は だめだめ日記のおみせ@本店でどうぞ。



2004年10月24日 ぴあの弾きひき@渋谷 [長年日記]

[おうた] ぴあの弾きひき@渋谷

ヤマハミュージックセンター渋谷のレンタルルームを借りて、2時間ほど、ひおさまととピアノ弾いたり、わたしが某うたの伴奏を練習してきたので、うたと合わせしたり、してきましたです。

録音もしたんですが、じゃすらっく的にだめだめなので、まぁそういうことです。そこまでして公開しようというもんでもないので

[コンピュータ] Windows の signal() 関数における SIGINT とかのサポート

ぴあの弾いた後、ぼうしょのLe Cafe Bleuで録音聞きながら、軽くお食事しながら話ししてたんですが、Chapter 9: Win32 Code Conversion (UNIX Code Migration Guide)とかをみるとSIGINT は問題なく使えるっぽいんですが、signal() のドキュメントとかみてると、

Note SIGINT is not supported for any Win32 application, ...

とかあって、なんか使っちゃだめっぽい。Win32 application って、WinMain なやつのことでは、という意見もあったんですが、Visual Studio の新規プロジェクトで「Win32 Console Application」という選択肢もあるので、うーん……な感じ

しかも、signal() のドキュメント をみていると、サポートされているシグナルっていくつかあるんですが、一番下の方にいろいろ例外が書いてあったりして、かなりだめだめ。

シグナル名と説明サポート状況
SIGABRT Abnormal terminationCtrl+Breakで発生
SIGFPE Floating-point error浮動小数点使ってないと無効
SIGILL Illegal instructionサポートしているがOSからこのシグナルが送られることはない
SIGINT CTRL+C signalCtrl+Cで発生するけどサポート外?(動くけど)
SIGSEGV Illegal storage accessサポートしているがOSからこのシグナルが送られることはない
SIGTERM Termination requestサポートしているがOSからこのシグナルが送られることはない

結局サポートしているシグナルって…… (;_;)

他にも、シグナルハンドラ関数の引数は1つだけのはずなのに、4つくらい指定した上で、デバッガでステップ実行して追っかけると、なぜか ctrl_action とかいうシンボルがみえる(SIGINTの場合)とかいうあやしぃ事象もあったので、ノートPC上で Visual Studio のデバッガを起動してそれみながら話してたんですが、後で、ひおさまに CRT のソースを追っかけてもらったところ、ctrl_action は winsig.c 中でグローバルな static 変数として定義されてる signal(SIGINT)で設定した関数のアドレスみたいでした。

で、引数としてスタック渡しされたものが、関数のパラメータを無理やりいっぱい指定すると見えちゃうだけということが判明しました。

ということで、ありがとうございました > ひおさま

でぃなー食べながらやる会話じゃないな orz


Copyright (C) 2003-2017 TAKAHASHI, Motonobu
webmaster@monyo.com