■掲示板に戻る■
全部
1-
101-
201-
301-
401-
501-
601-
701-
801-
901-
1001-
最新50
レス数が1000を超えています。残念ながら全部は表示しません。
FreeBSDを語ろう Part.2
1 :
BackSpaceDaemon
:02/09/30 04:40
語りましょう。
FreeBSD
http://www.freebsd.org
http://www.jp.freebsd.org/www.freebsd.org/ja/
http://www.jp.freebsd.org/
The Best Operating System
http://www.google.co.jp/search?q=%22Best+Operating+System%22&ie=Shift_JIS&hl=ja&lr=
前スレッド
http://pc.2ch.net/test/read.cgi/unix/1014385300/l50
関連スレッドなどは
>>2-10
あたりに。
114 :
名無しさん@お腹いっぱい。
:02/10/14 13:12
>>113
send-pr せよ
115 :
名無しさん@お腹いっぱい。
:02/10/15 14:25
>>102
入れますた
116 :
名無しさん@お腹いっぱい。
:02/10/15 18:57
>>113
からっぽのファイルが取れるよ。
117 :
名無しさん@お腹いっぱい。
:02/10/16 09:53
FreeBSD に入ってる GNU clib のバージョンは Linux に入ってる clib
のバージョンよりずっと旧いのかな?
rand() % 4 とかやった時に乱数にならずに周期性が出る問題が FreeBSD 4.5R
で直ってないよ。
十数年前(X68kでgccを使った頃)から clib の乱数に周期性があったけど、
まだ直ってない、というかメンテしてないのかなぁ。
上位バイトとれば使える乱数になるんだけど、
まともな乱数だと期待してるから % 使いたいんだよね。
自作のゲームを移植しようとして、clib の rand() に失望してやめてる。
RedHat Linux 6.2 ではこの問題が出ない。
明らかに clib が違いますね。
118 :
名無しさん@お腹いっぱい。
:02/10/16 10:03
rand() は互換のため残してるだけじゃないの? random(), drand48()
119 :
名無しさん@お腹いっぱい。
:02/10/16 10:04
>>117
検証用ソース
% cat randtest.c
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
void main()
{
int i;
time_t t;
srand( time( &t ) );
for ( i = 0; i < 10000; ++i ) {
printf( "%d ", rand()%4 );
}
}
120 :
名無しさん@お腹いっぱい。
:02/10/16 10:08
乱数出すだけならarc4random(3)はどうよ?
RedHat Linuxと共存させたいならrandom(3)でどう?
あとは乱数発生ライブラリとしてMT(メルセンヌツイスター)を使うって手もあるし。
というあたりはどうよ?
rand(3)にこだわる理由をきぼーんぬ。
121 :
名無しさん@Emacs
:02/10/16 10:19
>FreeBSD に入ってる GNU clib
って、何?
122 :
名無しさん@お腹いっぱい。
:02/10/16 10:35
>>117
周期性があるのは rand() の定義から当然なのだけど、
その周期が短いっていう問題だよね。
下位ビットをとるのは rand() の使い方を根本的に間違えているという話が
最近 ML であって、中間ビットをとるのが正しいんだそうな。
123 :
名無しさん@お腹いっぱい。
:02/10/16 10:53
>>120
古い人間だから。
rand(3) にこだわる理由は ANSI 関数だからです。
DOS で LSIC 試食版でコンパイルした超古いソースをコンパイル。
ちょっとわかってきました。
Linux は rand() の実装がまずいので random() と同一アルゴリズムにしたんですね。
FreeBSD では rand() をそのまま残して random() が別途実装されてるんですね。
いまさら #ifdef も使わずに同一ソースでポータビリティ目指すのは無茶だとわかった。
124 :
名無しさん@お腹いっぱい。
:02/10/16 10:56
>>122
しらいタンだっけ? users-jpでその話していたの?
下位ビットを取るのはとにかくダメダメですが
man 3 rand すると
DESCRIPTION
These interfaces are obsoleted by random(3).
なんて書いてあるところを見るとrand()捨て、なのだろうね。
125 :
名無しさん@お腹いっぱい。
:02/10/16 11:01
>>123
ここらへんは*BSDとLinuxの考え方の違いでしょうね。
この違いがあるから*BSDを使いつづける意義があるわけで...
余談だが、shutdown -hをRedhat Linux 7.3で打ったときにもれはびっくりしたよ。
126 :
名無しさん@お腹いっぱい。
:02/10/16 12:13
libcみたいな基本的なところって基本的に互換性維持命でなければ
いけない*はず*だから、敢えてrand(3)はそのままのアルゴリズムで
残してるって事は…無いかな?
# 別に変えてもいいじゃんという気もするし、でもやっぱ下手に変えて
# 既存アプリに問題出ちゃう方が恐いって気もするし
>>125
どうなるの?
127 :
名無しさん@お腹いっぱい。
:02/10/16 12:24
>>126
電源ぷっつん、って話では?
128 :
名無しさん@お腹いっぱい。
:02/10/16 15:09
FreeBSD libc は glibc でも GNU でも GPL でもありません。
129 :
名無しさん@お腹いっぱい。
:02/10/16 15:12
clib って libc のことだったのか。。。
130 :
名無しさん@お腹いっぱい。
:02/10/16 15:24
なんで
>>117
は FreeBSD の libc が GNU の glibc だと思ったんだろう?
131 :
FreeBSD
:02/10/16 15:30
オン・ザ・エッジ がBSDiに出資してFreeBSDの普及に力を入れる!
とかあったんだけど、その後音沙汰が無いような...。
132 :
名無しさん@お腹いっぱい。
:02/10/16 16:11
その BSDi は WindRiver においしいところ抜かれて、
WindRiver はといえば FreeBSD なんかどうでもよくなって切り捨てた。
133 :
125
:02/10/16 16:45
>>126
>>127
サソの言う通り。
FreeBSDみたいに-h以外のオプションを指定してその機能が使えると下らんことに悩まんで済む。
まあ、余計なお節介をした方が嬉しい香具師もおるかも知れんが、もれは好かん。
134 :
名無しさん@お腹いっぱい。
:02/10/16 16:47
>>133
カーネル再構築して APM 切っとけ。
135 :
名無しさん@お腹いっぱい。
:02/10/16 17:27
>>130
1. コンパイラがgccだから、libcもGNUのもんだろうと思った。
2. 「フリー」なlibcは、GNUのもんしかないと思っていた。
136 :
名無しさん@お腹いっぱい。
:02/10/16 18:55
それにしても移植性とか気にしてる割にはCの基本であるlibcに関する
知識がいい加減だぞ
>>117
137 :
名無しさん@お腹いっぱい。
:02/10/16 21:01
>>135
>1. コンパイラがgccだから
gcc ではあるけど、そのものとは思わない方がいい。
138 :
名無しさん@お腹いっぱい。
:02/10/16 21:04
ちょっと待ってください。
D言語が一般化されたらlibdになるのですか?
139 :
名無しさん@お腹いっぱい。
:02/10/16 21:06
>>138
そのまますんなりそんな単純な名前が付くとは限らないわな
140 :
名無しさん@お腹いっぱい。
:02/10/16 23:12
librubyとか。はわわ
141 :
名無しさん@お腹いっぱい。
:02/10/17 03:03
D言語
http://pc.2ch.net/tech/kako/1003/10036/1003674814.html
流行らなそうだ…
142 :
名無しさん@お腹いっぱい。
:02/10/17 11:01
/usr/src/lib/libc/stdlib/rand.c を見ると、
http://www.soi.wide.ad.jp/class/20010000/slides/03/sfc2002.pdf
で書かれている70年代−90年代までの古典的標準擬似乱数の式そのままです。
FreeBSD の rand(3) はこの古典的乱数生成式を今でも使っている。
これを % 演算すると、シミュレーションに使えないどころか、簡単なゲームにも使えない。
man 3 rand には bad random generator と良くないとはっきり書いてある。
4.4BSD lite のソースを見つけられなかったので、これが FreeBSD
だけの問題か 4.4BSD lite に由来する問題かはわかんないです。
ところで rand() は ANSI 関数だが ANSI では生成式まで規定していない。
GNU CLIB の glibc では rand() はそのまま random() を呼んでいる。
random() は ANSI 関数じゃないので、標準化されていない。
例えば BSD は random( void ) で RAND_MAX 未満の整数値を返すが、
Windows 版 Borland C/C++ では random( int )で引数値未満を返す。
お手軽に使う擬似乱数に ANSI 関数でかつ古典的 rand(3) を使うの
であれば、どこかの偉い人が次のように書いている。
1 と 10 の間の乱数を生成したいのであれば、常に
j=1+(int) (10.0*rand()/(RAND_MAX+1.0));
を用いて行いなさい。
143 :
名無しさん@お腹いっぱい。
:02/10/17 11:18
その、CLIB という呼び方なんとかならんのか?聞いたこと無いぞ。
144 :
名無しさん@お腹いっぱい。
:02/10/17 11:21
>>142
なんかANSI Cに対して強いこだわりがあるようだが、
> ところで rand() は ANSI 関数だが ANSI では生成式まで規定していない。
でわかると思うのだが、「生成した乱数がある程度のレベル以上であることを
要求するような分野では rand() を使ってはいけない」というのが ANSI C
なのだよ。 ANSI Cで決まりがない以上、 ANSI Cに従って一定レベル以上の
乱数が必要になるプログラムを書く場合は自前で乱数生成しなきゃだめ。
それだけの話なのだが、なんで rand() にこだわり続けるの? 単なるDQN?
145 :
名無しさん@お腹いっぱい。
:02/10/17 11:26
>>142
http://www.freebsd.org/cgi/cvsweb.cgi/basesrc/lib/libc/stdlib/rand.c?cvsroot=netbsd
http://www.freebsd.org/cgi/cvsweb.cgi/basesrc/lib/libc/stdlib/random.c?cvsroot=netbsd
386bsd-0.1(4.3BSD-Renoだっけ?)の時点で既にrandom(3)は存在して
いたようだけど、rand(3)は当時からそのままみたいだね。
こういうのって多分何か理由があってあえていじってないんだと思うけど、
いくらCVSで過去のコードは見れても、そういう理由までは分からないん
だよなぁ。
146 :
145
:02/10/17 11:28
>>144
rand()にこだわるというか、自分のコードで#ifdef使いたくないってだけ
じゃないかな。
147 :
名無しさん@お腹いっぱい。
:02/10/17 11:34
>>142
>>146
サソの言うとおりだとして、MT(メルセンヌツイスター)は試してみました?
SHA1とかでHashをかませんと暗号にはつかえんらしいけれど、お主の用途くらいなら十分じゃないのか?
148 :
名無しさん@お腹いっぱい。
:02/10/17 12:01
>>146
>>144
は #ifdef で使用する関数を変更するのでなくて、
自分で書け。と言ってる。
149 :
名無しさん@お腹いっぱい。
:02/10/17 12:26
The Art of Computer Programming でも読め。
150 :
145
:02/10/17 12:28
>>148
あ、よく読んでなかった。スマソ。確かにその通りだね。
で、ついでなので書いちゃうけど、FreeBSDのlibcも-currentでは変わってる
んだね。OpenBSDはアルゴリズム的には古いままだけど、rand_r()対応だけ
やってある。NetBSDはほんとに昔のまんま。
(古いNetBSDのlibcがベースになってる)newlibは
>>149
から引用する形で
変えてある。
こんだけバラバラだと
>>145
に書いた理由は特に関係なさげやね。
# rogueのバランスが変わるから変えてないのかな?とか思ったのだが(w
151 :
名無しさん@お腹いっぱい。
:02/10/17 12:36
>>143
gcc が日本のパソコンユーザに広まったきっかけに、
X68000 の Human68k 移植版があった。
Human68k の市販Cコンパイラの標準Cライブラリが clib.a だったと思う。
コンパイラだけフリーでもライブラリがないと使えないというわけで、
glibc からコードを拝借して Human68k のシステムコールと初期化ルーチンを足して
フリーのライブラリが作られた。
それを GNU の CLIB と呼ぶ人がいたかもしれない。
152 :
名無しさん@お腹いっぱい。
:02/10/17 13:03
>151
単に>117の脳がx68kの時代で学習をやめただけだと思わるれ。
153 :
名無しさん@お腹いっぱい。
:02/10/18 00:52
徹底入門のレビューしてくれるシトいないっすか?
禁断の快楽に目覚めてそれどころじゃないんでしょうか。
154 :
名無しさん@お腹いっぱい。
:02/10/18 13:29
>>153
厚いっす。
155 :
153
:02/10/18 23:09
>>154
なるほど、厚いんですか・・・・って全然参考になんねーすよ。
つうかもう注文しちゃったからいいや。
156 :
名無しさん@お腹いっぱい。
:02/10/19 00:20
>>155
熱いっす。
157 :
名無しさん@お腹いっぱい。
:02/10/19 01:35
焚書坑儒?
158 :
名無しさん@お腹いっぱい。
:02/10/22 04:05
徹 底 入 門 読 ん で も 設 定 で き な い ・ ・ ・
159 :
名無しさん@お腹いっぱい。
:02/10/22 04:40
俺も---徹底入門のCDからインスコしたら、
ルートならX立ち上がるんだけど、一般ユーザでは、
/var/log/XFree86.0ってファイルが作れない(オープンできん)って
怒られる。何が悪いんだ?
160 :
名無しさん@お腹いっぱい。
:02/10/22 04:45
>>159
266ページは
161 :
名無しさん@お腹いっぱい。
:02/10/22 04:47
「本文に目を通してから」とはひとことも書いてない罠
162 :
名無しさん@お腹いっぱい。
:02/10/22 04:55
>>160
DISC3だと不要になってるって書いてあるーーーーーーーーう。
確認したら、入ってなかった。
汗って戻ってきたら、既にレスが2つ…
うるへーーーー。
163 :
159
:02/10/22 04:58
ごめんなさい。ごめんなさい。ごめんなさい。
164 :
名無しさん@お腹いっぱい。
:02/10/22 06:28
読み方が悪かった、で終了。
165 :
名無しさん@お腹いっぱい。
:02/10/22 06:52
いや、結構わかりにくくねっすか?
159は問題外だけど。
166 :
名無しさん@お腹いっぱい。
:02/10/22 07:12
>>165
いいえ。
167 :
名無しさん@お腹いっぱい。
:02/10/22 16:00
RELENG_4_7 で contrib/tar/src/{extract,misc}.c が変更されてる。
近々 p1 出るのか?
168 :
名無しさん@お腹いっぱい。
:02/10/23 14:11
4.7R の GENERIC kernel は 4M あるんだねー。
いらんもん取り払って再構築したら 2M ぐらいになったよ。
src/sys もでかくなってるし、make に perl 使ってるし、
貧弱なマシンではつらくなってきたよ。
RAM 4M で X もインストールできた頃が懐かしい。
169 :
名無しさん@お腹いっぱい。
:02/10/23 23:18
4.4-RELEASE-p28
4.5-RELEASE-p21
4.6.2-RELEASE-p3
4.7-RELEASE-p1
170 :
訂正
:02/10/23 23:57
4.7-p1-RELEASE
ほんとかよ、間違ってんじゃねーの?
171 :
名無しさん@お腹いっぱい。
:02/10/24 00:02
RELENG_4_[567] 更に修正
172 :
名無しさん@お腹いっぱい。
:02/10/24 09:02
なんかtarとかcvsとかでdeltaされてた
173 :
170
:02/10/24 10:02
4.7-RELEASE-p1 になりますた。
174 :
名無しさん@お腹いっぱい。
:02/10/24 14:32
>>168
5.X ではperl 使わなくなると思われ
が、GENERIC カーネルは更に肥大化するかも?
175 :
名無しさん@お腹いっぱい。
:02/10/24 18:18
>>174
GENERICは小さくして、必要なものはモジュールで読み込むようになるんじゃない?
176 :
名無しさん@お腹いっぱい。
:02/10/24 19:24
相当昔からmake worldでperl使われてたような
まぁ昔のperlはいまと比べりゃえらく小さかったけど
177 :
名無しさん@Emacs
:02/10/24 23:14
>>176
何が言いたいの?
178 :
名無しさん@お腹いっぱい。
:02/10/25 00:31
>>177
思い出話では?
179 :
名無しさん@お腹いっぱい。
:02/10/25 04:10
>177
自分は老人力に優れていますよ、という主張では。
180 :
名無しさん@お腹いっぱい。
:02/10/25 11:05
ハッカーは古くから使っているからハッカーなのではない。
181 :
名無しさん@お腹いっぱい。
:02/11/01 23:37
ftp.fortune.co.jpのnvi-m17nパッチ関係のネタごっそり消えてるんだけど、
はてさてどうしたものかねぇ。
182 :
名無しさん@お腹いっぱい。
:02/11/02 01:42
Watcher より
http://www.zdnet.co.jp/news/0211/01/nebt_20.html
183 :
名無しさん@Emacs
:02/11/02 03:00
ちくろうと思ったらもうちくられてた。
でもとりあえずもってきました sage
184 :
183
:02/11/02 03:24
Can't I use kinput2?
$(B%+%C%H (B& $(B%Z!<%9%H (B
185 :
名無しさん@お腹いっぱい。
:02/11/02 03:37
>>184
こっちではステータスが表示されないもののいちおうちゃんと変換できてるけど。
とりあえずGoogleとYahooは期待通りの検索結果を返してるな。
それにしても$PREFIX/share以下にバイナリを突っ込むとは何ともキモいな…。
186 :
名無しさん@お腹いっぱい。
:02/11/03 17:28
FreeBSD での Intel Compiler の話題はここでよいですか?
主に数値計算目的なので icc(ifc) が使えさえすればいいのですが、
icc7 で gcc との互換性が高まってパッケージ物や BSD のシステム
周りのコンパイル等でも恩恵に預れるといいです。
素直に Linux で使えばいいのですが、クラスタの構築と管理を考えると
私は FreeBSD の方が…悩
187 :
名無しさん@お腹いっぱい。
:02/11/03 19:49
OperaのFreeBSDネイティブ対応age
ttp://www.zdnet.co.jp/news/0211/01/nebt_20.html
188 :
名無しさん@お腹いっぱい。
:02/11/03 20:18
Qt嫌い
189 :
名無しさん@お腹いっぱい。
:02/11/03 20:49
あのうざい広告がなけりゃ使うんだけどな…
190 :
名無しさん@お腹いっぱい。
:02/11/04 01:22
ATAPI-CAM & Firewire
MFCキタ━━━(゚∀゚)━( ゚∀)━( ゚)━( )━( )━(゚ )━(∀゚ )━(゚∀゚)━━━!!!!!
でもどっちも実験してみる環境がねえーー
(´・ω・`)ショボーン
191 :
名無しさん@お腹いっぱい。
:02/11/04 08:48
FreeBSDとは直接関係ないんだけどさ、おまいらのIQ報告汁
http://iq.sourcenext.com/
俺は、、、恥ずかしくて胃炎
メルアド教えるのシャクなんで、DDNSのsmtp鯖たてて数回チャレンジしたのは秘密
まあ、才能よりも努力が大事だと痛感したね
192 :
名無しさん@お腹いっぱい。
:02/11/04 09:10
高卒 DQN だけど 満点で 139 だったよ。
ぜんぜんあてにならんテストだと思う。
193 :
名無しさん@お腹いっぱい。
:02/11/04 16:50
あてにならんねこれ。
でもテスト1の最後の問題だけひっかかってしもうた。鬱だ。
194 :
名無しさん@お腹いっぱい。
:02/11/04 23:13
そういやあ改訂版徹底入門の著者のところで FreeBSD
が最初に使ったUnix系OSという人間が一人もいないん
だな。
何か納得。
195 :
名無しさん@お腹いっぱい。
:02/11/05 10:20
iplogって火葬インターフェースのログは取れないんですか?
196 :
名無しさん@お腹いっぱい。
:02/11/05 10:48
>>194
単純に年齢では?
197 :
名無しさん@お腹いっぱい。
:02/11/05 11:22
>>194
相当若い奴じゃないとそんな人いないだろ。
俺は 4.2BSD から。
徹底入門著者陣とそう変わらない年齢。
198 :
186
:02/11/05 15:47
FreeBSD で icc 使う人はあまりいませんか…寂
コンパイルさえ通れば icc のパフォーマンスはいいですよぉぉぉ
199 :
名無しさん@お腹いっぱい。
:02/11/05 18:23
なにか返答でも期待してたのか?
>>186
って独り言にしか見えないんだけど。
200 :
名無しさん@お腹いっぱい。
:02/11/05 18:42
>>186
> FreeBSD での Intel Compiler の話題はここでよいですか?
いいよ。
201 :
名無しさん@お腹いっぱい。
:02/11/05 21:27
ifc いれると linux-devtools が install されて icc がちゃんと include file を読んでくれないという罠があったな。
202 :
名無しさん@Emacs
:02/11/05 22:36
>>191-193
あの問題を解いてからメールアドレスを送信するためのフォームのソースが
(前略)
<input TYPE=HIDDEN NAME="[ST]score" VALUE="92">
(後略)
こんなんなってんだけど、もしかしてこれが俺のIQ値?
203 :
名無しさん@お腹いっぱい。
:02/11/06 01:44
>>202
そんなあなたに
ソースネクストにやられた人の数
http://pc3.2ch.net/test/read.cgi/software/1016242181/l50
◆またソースネクストが糞ソフト売ってます◆
http://pc.2ch.net/test/read.cgi/pcnews/1015403048/l50
204 :
名無しさん@お腹いっぱい。
:02/11/06 02:30
icc で tgif 等をコンパイルしようとすると、
undefined reference to `__bswap32'
undefined reference to `__bswap16'
なんて出てきたのですが、bswap は icc が生成?しているようで、
コンパイルするソース中には見当たりません。
bswap(byte swap?)とやらは自分でバイトオーダを変換するような関数を
定義してやらないとだめなんでしょうか?
ちなみに gcc だとこのようなエラーも、 bswap そのものも現れません。
205 :
名無しさん@お腹いっぱい。
:02/11/06 06:06
>>204
iccは使ってないから全くの推測だけど、icc付属のライブラリで定義されてるんでは?
iccと一緒にインストールする lib* を nm で調べたら?
環境変数でリンカーのライブラリパスを(追加)指定できるのかも。
206 :
名無しさん@お腹いっぱい。
:02/11/07 12:25
pkg-commentは廃止(PORTCOMMENTに吸収)されるのかな。
portsをcvsupしたら削除されまくっててビックリ。
207 :
名無しさん@お腹いっぱい。
:02/11/07 13:18
>>206
http://www.freebsd.org/cgi/query-pr.cgi?pr=ports/45006
name of PORTSCOMMENT is too long
208 :
204
:02/11/07 18:45
>>205
icc の lib ディレクトリ探しましたが、見つかりませんでした。
icc 付属のドキュメント類探していたら、全てのIAプロセッサで
サポートされる組み込み関数という項目に int _bswap(int) があり、
組み込み関数を用いない場合の同等のコードを用いるよりも
パフォーマンスが大きく向上すると思われるものとなっていました。
また、その機能は
Intrinsic that maps to the IA-32 instruction BSWAP (swap bytes).
Convert little/big endian 32-bit argument to big/little endian form
となっています。
どうすればよいのでしょう...もうちょっとがんばります
209 :
204
:02/11/07 21:24
Linux に /usr/include/byteswap.h というのがあるみたいです。
関連ヘッダファイルをコピーして、ちょこっとファイルをいじって
読み込ませたら、コンパイル通りました。
tgif は立ち上がりましたが、こんなんでいいのでしょうか。
動作テストして見ます。
210 :
204
:02/11/07 23:38
調子に乗って icc であれこれコンパイルしていましたが、
gnuplot で引っかかりました。
undefined reference to `__fpgetreg'
undefined reference to `__fpsetreg'
floating point get(set) register ってところでしょうか。
fpsetmask, fpgetmask を呼び出している関数が含まれていると出て来ます。
この領域に入ると、もうわたしの手におえそうもありません。
このファイルだけ gcc で逃げました…
211 :
204
:02/11/08 00:08
sage 忘れ
212 :
名無しさん@お腹いっぱい。
:02/11/08 07:53
どなたか dmask の私家 ports を作ってください m(__)m
213 :
名無しさん@お腹いっぱい。
:02/11/08 08:07
>>212
make一発じゃないの??
掲示板に戻る
全部
前100
次100
最新50
read.cgi ver5.26+ (01/10/21-)