68user's page 掲示板

Prev< No. 3477〜3482> Next  [最新発言に戻る] [過去ログ一覧]
No. 3477 # tomo 2003/12/17 (水) 15:01:54
こんにちは。
以前、こちらで幾らか質問させて頂いた tomo と申します。
今、perlでタイマ処理をする事を考えているのですが、
perlではC言語の様にタイマIDという形で複数のタイマを
識別管理する事は出来ないのでしょうか?

No. 3478 # 68user 2003/12/19 (金) 00:50:36
>>3476
調べたいのは
> fileコマンドでは実行ファイルなのかどうか

> C言語関連のソースかどうか
のどちらですか?

「〜かどうか判定したい」ということなら、何らかの判断基準が
ないと判定できませんので、そこらへんを明確にしてください。

>>3477 tomo
> perlではC言語の様にタイマIDという形で複数のタイマを
> 識別管理する事は出来ないのでしょうか?
C にも perl にもタイマ ID という概念はありません。

そもそも「タイマ ID」とは Win32API (MFC?) のそれですか?

なら、perl で Win32API を利用できるモジュールを探せば
できるでしょうが、あいにく Windows には明るくないので
    http://www.cpan.org
から探してみてください。

No. 3479 # なっち 2003/12/20 (土) 14:14:55
68user 様

UNIXの部屋等、ちょくちょく参考にさせて頂いております。ありがとうございます。

私、現在、DNSまわりのプログラミングを行っておりまして、ネットワークプログラミングの基礎知識の
DNS クライアントを作ってみようのページを、基礎から理解する意味で読ませて頂いたのですが、
この(2)のページ、http://x68000.startshop.co.jp/~68user/net/resolver-2.html
DNSヘッダのフラグの部分の第13〜15bitの3bitがRCODEとなっていますが、これは第13〜16bitの4bit分の
間違いだと思うのですがいかがでしょうか。

細かい部分で申し訳ないのですが、気になりましたのでご報告させて頂きました。お忙しいとは思いますが、
よろしくお願いいたします。

No. 3480 # 68user 2003/12/20 (土) 22:35:38
>>3479 なっち
ご指摘ありがとうございます。修正しました。ついでに
    1…15bit、16…31bit
となっていたものを
    1…16bit、17…32bit
に修正しました。

# http://x68000.startshop.co.jp/~68user/cgi-bin/cvsweb.cgi/public_html/net/org/resolver-2.html

しかし、一般的には MSB を第 0bit とする場合が多いでしょうか?
「詳解TCP/IP Vol.1」では 0〜31bit となっていましたので、
悩むところです。

No. 3481 # へにか [URL] 2003/12/21 (日) 00:08:07
何をもってして一般的というかによりますが・・・

ハードウェアでは、例えばverilogのバス表記の例にとると、
[15:0] > [0:15] >>> [1:16]という頻度で見かけます。

僕の知っている限りの物理層では、[0]が時間軸で最初に
送受信されるので、[0:15]という表記が現れます。
とはいえ、中身を解釈する際に、[15:0]のように置き換え
ないと、人間には理解し難い事が多々あり、そのような処理
は僕はよくします。

No. 3482 # 2003/12/24 (水) 00:15:56
awkの使い方について教えて下さい。
awkを使用して、以下の出力を、数字は、3桁毎にカンマで区切り、
出力位置を揃えて出力したいのですが、
180 file1.txt
1821 file2.txt
113457 fil3.txt

        180 file1.txt
    1,821 file2.txt
113,457 file3.txt
と出力したいのですが、
数字の部分を揃えることができません。
そのため、たの部分もそろいません。
どうすれば上手くできますか。

-------------------------------
#!/bin/sh
#

cat list.txt | sort -n -r | awk '
        function put_comm(val) {
                if (val < 1000) {
                        printf("%d",val) ;
                } else {
                        put_comm(val / 1000) ;
                        printf(",%03d",val % 1000) ;
                }
        }
        {
                if ($1 < 1000) {
                        printf("%d",$1) ;
                } else {
                        val=$1 ;
                        put_comm(val) ;
                }
        }
        {
                  #printf "\n"
                  printf(" %s\n",$2)
        }'

Prev< No. 3477〜3482> Next  [最新発言に戻る] [過去ログ一覧]