■過去ログ置き場に戻る■ 1- 前250 次250 最新50


[memo] "9999999999_00.html#R20" という感じで、URLの最後に "#RレスNo" を追加すると幸せになれます。

***すれ立てるまでもない質問はここで 第46刷***
751 名前:デフォルトの名無しさん :03/11/22 23:29
結局731は何が言いたかったのだろう

752 名前:デフォルトの名無しさん :03/11/22 23:30
なんかアトミックがどうたら騒いでいるが、そもそも send() ってアトミックであることが保証されてるん ?

753 名前:デフォルトの名無しさん :03/11/22 23:32
i++がアトミックじゃないとするとsendもアトミックじゃないということになると思うが。

754 名前:デフォルトの名無しさん :03/11/22 23:33
send は man 2 にあるからシステムコール
システムコール実行中は基本的に割り込みは掛からない

755 名前:デフォルトの名無しさん :03/11/22 23:35
>>745
加算やインクリメントが機械語1つに対応しない環境は稀だと思うが…

756 名前:デフォルトの名無しさん :03/11/22 23:35
>>751
わからないならそれまでだって。つまり君はソケットプログラミングには興味が無いってこと
なんだからね。

757 名前:デフォルトの名無しさん :03/11/22 23:38
>>753
おい、大丈夫か ?

クリティカルセクションで囲めばなんでもアトミックになるぞ。

>>755
マルチプロセッサな環境は無視ということか...。

758 名前:デフォルトの名無しさん :03/11/22 23:38
>>756
興味はないがそれにしても説明力に欠ける

759 名前:デフォルトの名無しさん :03/11/22 23:38
>>755
i++はスレッドセーフですか?

760 名前:デフォルトの名無しさん :03/11/22 23:38
>>757
機械語一つに対応する命令はマルチプロセッサだろうが不可分だろ

761 名前:デフォルトの名無しさん :03/11/22 23:39
>>756
で、fprintf() を使ったら何がまずいのか具体的には説明できないわけね。

762 名前:デフォルトの名無しさん :03/11/22 23:39
>>758
興味がある人には731の意味がわかるはずだから、興味の無い人は無視していいよ。
何で口をだしたがるのかなぁ?

763 名前:デフォルトの名無しさん :03/11/22 23:39
>>759
違うの?

764 名前:デフォルトの名無しさん :03/11/22 23:40
>>761
俺はまずいとは言ってないけど?

765 名前:デフォルトの名無しさん :03/11/22 23:41
>>762
字面だけ見ても全く分からない
ソケットに興味のある人間に何かをほのめかすような内容なのか?

766 名前:デフォルトの名無しさん :03/11/22 23:41
>>763
俺はスレッドセーフだと思うけど。
つーか、話がどんどんずれてる気がする。

767 名前:デフォルトの名無しさん :03/11/22 23:42
>>764
writeするのが一箇所だったとしてソケットに送るデータをどう加工してるの?

768 名前:デフォルトの名無しさん :03/11/22 23:43
>>765
そうだよ。興味が無いのに内容をもっとしりたいの?

769 名前:デフォルトの名無しさん :03/11/22 23:43
>>760, >>766
ハァ ?
命令は不可分だが、バスアクセスは違うぞ。

>>764
> 俺はまずいとは言ってないけど?

(>>731)
> だから、fprintfで置き換えようなんて普通は思わないと思うんだけど、
> もしそうなっていないのならプログラムの構造を見直したほうがいいと思う。

まずいと言ってるも同然だと思うが。

770 名前:>>765≠>>758 :03/11/22 23:44
>>768
ん?

771 名前:デフォルトの名無しさん :03/11/22 23:44
>>767
普通に加工しますが。
逆に一箇所だったらfprintfには置き換えられないでしょ。
もし置き換えられるとしたらそれはすごく単純なプログラムの場合に限る。

772 名前:デフォルトの名無しさん :03/11/22 23:45
>>769
まずいのではなく「置き換えられない」ということ。

773 名前:なぜ、彼らは理由を書かないんだろう...。 :03/11/22 23:48
>>771
> 逆に一箇所だったらfprintfには置き換えられないでしょ。

>>772
> まずいのではなく「置き換えられない」ということ。

なんで「置き換えられない」の ?

774 名前:デフォルトの名無しさん :03/11/22 23:48
>>771
普通の加工ってどんな加工よ?
ソケット使ってるならバッファサイズにはかなり気を遣うと思うが
加工用のバッファはどうしてる?

775 名前:デフォルトの名無しさん :03/11/22 23:50
>>773
なんでわからないのかがわからない。

776 名前:デフォルトの名無しさん :03/11/22 23:50
>>775
説明が下手だから

777 名前:デフォルトの名無しさん :03/11/22 23:52
>>774
普通の加工といったら普通の加工ですけど…。
低水準関数を使うときにやる加工となんら変わりはありません。

778 名前:デフォルトの名無しさん :03/11/22 23:54
>>776
想像力が足りないのか、ソケットプログラミングをしたこと無いのかのどっちかだと思うけどなぁ。

779 名前:デフォルトの名無しさん :03/11/22 23:54
>>777
低水準関数使うときでも文字列の連結や数値→文字列の変換くらいやるだろ

780 名前:デフォルトの名無しさん :03/11/22 23:56
>>773
逆に質問しちゃおうかなぁ。
1. あなたはある程度の規模のソケットを使ったプログラミングをしたことがありますか?
Yesの場合は、そのうちのひとつを選んで以下の質問に答えてください。
2. そのプログラムの送信要求は何パターンありましたか?
3. そのプログラムにはsendはいくつ出てきましたか?

781 名前:デフォルトの名無しさん :03/11/22 23:57
>>779
しますよ。それが普通の加工に含まれないとでも?

782 名前:デフォルトの名無しさん :03/11/23 00:01
想定問答集。
1. Yes
2. 10
3. 10
→それは見通しが悪いですねぇ。sendはひとつにできませんか?

1. Yes
2. 10
3. 1
→それだったらfprintfに置き換えられないことはわかってるはずでは?

1. No
→口出ししないで下さい。

783 名前:デフォルトの名無しさん :03/11/23 00:07
あー、俺はやっと>>731の言いたいことがわかった(様な気がする)。

784 名前:デフォルトの名無しさん :03/11/23 00:09
>>782
1. Yes
2. 10
3. 0
どうよ?

785 名前:784 :03/11/23 00:10
ちなみに 0 っていうのは fdopen と fprintf を使うからな

786 名前:デフォルトの名無しさん :03/11/23 00:11
>>781
加工のために上限の分からないバッファを用意するのと fprintf に置き換えるの
どっちが簡単よ?

787 名前:731 :03/11/23 00:12
>>763
いやー、わかってもらえてうれしいです。
さらに言うと、ソケットプログラミングの場合は、送受信の際のエラー処理がいろいろと
あったり、ロギングしたくなったりしちゃうので、送受信処理がプログラムのあちこちに
散らばってるのは良くない。

さらに、UnitTestを行う場合に、データのビルド部分と送信部分が同一行にあると
テストしずらいし、socketオブジェクトをmock objectやstubに変えてテストするな
どということができなくなるので始末に終えなくなったりするので、分けておいたほう
がいい。

・・・と思う。んじゃ、俺はこの件ではもう書き込まないのでたたきたかったら思う存分たたいてちょ。

788 名前:731 :03/11/23 00:15
>>786
最後と言いつつ・・・。
俺の場合は上限がわからないデータ送信というのをやったことがないので、想像できません。
いつでも送信すべきデータの内容とサイズはわかってます。

789 名前:デフォルトの名無しさん :03/11/23 00:16
>>787
> さらに、UnitTestを行う場合に、データのビルド部分と送信部分が同一行にあると
> テストしずらいし、socketオブジェクトをmock objectやstubに変えてテストするな
> どということができなくなるので始末に終えなくなったりするので、分けておいたほう
> がいい。
fdopen したソケットを stdout に変えるだけじゃん

790 名前:デフォルトの名無しさん :03/11/23 00:16
>>788
ユーザー入力文字列+改行文字とか

791 名前:デフォルトの名無しさん :03/11/23 00:18
>>789
そうですね。あなたはそうやってください。誰も文句はいいませんので。

792 名前:デフォルトの名無しさん :03/11/23 00:20
結局 >>731 の設計と実装が悪いだけじゃん

793 名前:デフォルトの名無しさん :03/11/23 00:21
>>791
言わないだろうな
問題もないし手間もない

794 名前:デフォルトの名無しさん :03/11/23 00:22
>>792
俺は731の言ってることは妥当だと思うけど。俺もそうしてるし。
相手してるほうがレベル低く見えるのは俺だけか?
あ、俺は731じゃないからな。と言っても自作自演だとか言われそうだな(w

795 名前:731 :03/11/23 00:23
お前ら全員氏ね。

796 名前:デフォルトの名無しさん :03/11/23 00:24
// fp = fdopen〜
fp = stdout;

...

// fclose(fp);

797 名前:デフォルトの名無しさん :03/11/23 00:24
>>792
俺もそう思う。

>>793
「言わない」じゃなくて「言えない」と言うことで、FA ?

>>792
fprintf() 使ったら、>>787 のことは実現できないのか ?


ところで、最初の方でアトミックがどうのこうの言ってた奴は、どうなったんだよ。

798 名前:デフォルトの名無しさん :03/11/23 00:26
レベル低すぎ(w

799 名前:デフォルトの名無しさん :03/11/23 00:28
>>797
> fprintf() 使ったら、>>787 のことは実現できないのか ?
>>789, >>796

>>798
オマエモナー

800 名前:デフォルトの名無しさん :03/11/23 00:29
>>784
そのfprintfの行を実際に書いて味噌。
fprintf(fd, "%s", buf);
か?

801 名前:デフォルトの名無しさん :03/11/23 00:31
>>796
最悪。まさか業務でそんなことやってるんじゃないだろうな?

802 名前:デフォルトの名無しさん :03/11/23 00:33
>>800
ソケットの FILE* を渡されるなら直接 fprintf
ソケット固定で用途も固定(ユーザー文字列+"\n"など)なら const char* 引数
ソケット固定で用途が様々なら stdarg かな

803 名前:731 :03/11/23 00:34
予想通り、レベルの低い書き込み続出ですな。
じゃ、俺たたき続行してちょ。反論しないから↓

804 名前:デフォルトの名無しさん :03/11/23 00:34
>>801
どうせ一箇所だしな

805 名前:デフォルトの名無しさん :03/11/23 00:34
>>803
オマエモナー

806 名前:デフォルトの名無しさん :03/11/23 00:35
>>801
業務でラップもされてない生のsend使ってるの?(藁

807 名前:デフォルトの名無しさん :03/11/23 00:35
>>802
fprintfの行を実際に書いて味噌と言ったんだがこの程度の日本語もわからいのかよ。

808 名前:デフォルトの名無しさん :03/11/23 00:36
モー秋田。
他の話題どうぞ。

809 名前:デフォルトの名無しさん :03/11/23 00:37
くだらない罵りあいはマ板でやってくれよ。
粘着多いな。

810 名前:デフォルトの名無しさん :03/11/23 00:38
>>807
実際に書かなくても説明になってるだろ
3番目の実装はそれなりに面倒だし

811 名前:デフォルトの名無しさん :03/11/23 00:38
>>801
また、理由も書かずに批判か ?

>>803
気になって仕方ないと見えるな。(藁

812 名前:デフォルトの名無しさん :03/11/23 00:39
>>807
正しい日本語使ってないくせに日本語を語るな

813 名前:801 :03/11/23 00:40
>>811
・ソースコードを変えないとテストできないということは、テストしたバージョンと出荷するバージョンが
 違うということで、品質保証になっていない。
・ソースコードを変えないとテストできないということは、リグレッションテストには使えない
・stdoutへの出力をパースするやりかたは時代遅れ

以上。

814 名前:デフォルトの名無しさん :03/11/23 00:42
>>801
業務と聞いたら反論したくなるが
Cでやってるくせに環境依存度の高いことやってそうだな

一応fdopenはPOSIXな

815 名前:デフォルトの名無しさん :03/11/23 00:43
>>810
つまり三箇所で送信処理をしていると。

816 名前:デフォルトの名無しさん :03/11/23 00:46
>>813
> >>811
> ・ソースコードを変えないとテストできないということは、テストしたバージョンと出荷するバージョンが
>  違うということで、品質保証になっていない。
> ・ソースコードを変えないとテストできないということは、リグレッションテストには使えない

変数の内容を一時的に変更するくらいデバッガでできるが?

> ・stdoutへの出力をパースするやりかたは時代遅れ

これには同意?
でもCでやってるんだよね?

817 名前:デフォルトの名無しさん :03/11/23 00:46
>>814
えーと、fdopenや環境依存が云々ということと>>813は全く関係ないと思いますけど、
どのへんが環境依存度が高いんでしょうか?

818 名前:デフォルトの名無しさん :03/11/23 00:46
>>815
頭悪いのですね

819 名前:デフォルトの名無しさん :03/11/23 00:47
>>817
環境依存度が高そうなことやってるんじゃないかと思った
単なる独断だよ

820 名前:デフォルトの名無しさん :03/11/23 00:48
>>816
デバッガで変数の値を変えてテストするというのはテストサイクルを何度も行うにあたって
著しく障害となると思うけど。

CもC++もやるけど、>>813の内容は言語依存なものではないと思う。

821 名前:デフォルトの名無しさん :03/11/23 00:49
Winsockじゃfdopenで扱えない。
……ごめん、外野の独り言。

822 名前:デフォルトの名無しさん :03/11/23 00:49
>>813
単体試験の話じゃなかったの?

823 名前:デフォルトの名無しさん :03/11/23 00:50
>>813
> ・ソースコードを変えないとテストできないということは、テストしたバージョンと出荷するバージョンが
>  違うということで、品質保証になっていない。

はぁ ? デバッグバージョンとかもダメって言ってるのか。

と言うか、デバッグとテストの区別がついてないんじゃないのか ?

824 名前:デフォルトの名無しさん :03/11/23 00:52
>>822
そうですよ。なにか違ってます?

>>823
どのへんがデバッグとテストの区別がついてないと思われるんでしょう?

825 名前:デフォルトの名無しさん :03/11/23 00:53
このスレ見てるとXP本とか読んで自己啓発してそうな人間が頭に浮かぶ

826 名前:デフォルトの名無しさん :03/11/23 00:54
>>813
>>789
> socketオブジェクトをmock objectやstubに変えて
の件はどうやってやるの?

827 名前:デフォルトの名無しさん :03/11/23 00:56
>>825
XPとかTDDとかやってると言うとたたく人間が増えたね

828 名前:デフォルトの名無しさん :03/11/23 00:57
sprintfでオーバランしたくない時とかはどうするんですか?

829 名前:デフォルトの名無しさん :03/11/23 00:57
>>824
> どのへんがデバッグとテストの区別がついてないと思われるんでしょう?

>> ・ソースコードを変えないとテストできないということは、テストしたバージョンと
>> 出荷するバージョンが違うということで、品質保証になっていない。

品質保証としてのテストは、基本的にソースコードを変えた奴なんかでやらない。
(それこそ、あんたの言う通り品質保証ができないから。)

>>796 みたいにやるのは、単体の機能テストやデバッグ時だと言うのは普通見ればわかると思うが、あんたはそれを混同しちゃってて、 >>813 見たいな発言になっていると思うから。

830 名前:デフォルトの名無しさん :03/11/23 00:58
>>826
呼ばれる側は変わっても呼び出し側は変えていないので、呼び出し側の品質は保証できます。

831 名前:デフォルトの名無しさん :03/11/23 01:00
>>829
「品質保証」の定義で争うようなことはしたくないので簡単に説明すると、
何をもってデバッグ完了や単体テスト完了とするかという文脈で、「コードを変えて
テストしました」とか「デバッガで値を変えてテストしました」ではまずいでしょう
ということです。

832 名前:デフォルトの名無しさん :03/11/23 01:01
>>827
SRGM とか CMM は?

833 名前:デフォルトの名無しさん :03/11/23 01:03
>>831
いわゆる #if, #ifdef 系の分岐では駄目なんだよな?

834 名前:デフォルトの名無しさん :03/11/23 01:03
>>829
もうちょっと言うとバージョン管理システムを使っている場合に、「デバッグ完了」や
「単体テスト完了」のバージョンのファイルが登録されていない「失われたバージョン」
になってしまっていたとしたら、品質保証もクソもないでしょうということです。

835 名前:デフォルトの名無しさん :03/11/23 01:04
>>833
個人的には好ましくないと思うよ。だって「テストしたバージョン」と「出荷するバージョン」は
全然違うコードなんだから。

836 名前:デフォルトの名無しさん :03/11/23 01:06
>>832
それやってますという奴がいないので叩かれない

837 名前:デフォルトの名無しさん :03/11/23 01:07
>>830
>>796 は呼ばれる側(mock objectやstubとやらと同じ側)でラップされてるから
その論なら呼び出し側の品質は保証できるんだよね

838 名前:デフォルトの名無しさん :03/11/23 01:08
>>836
なるほど

839 名前:デフォルトの名無しさん :03/11/23 01:08
受信するプログラムを書けばstdoutに変えてテストする必要はない。

840 名前:デフォルトの名無しさん :03/11/23 01:08
>>836
XPは単に流行だからなんだな
叩く側も叩かれる側も

841 名前:デフォルトの名無しさん :03/11/23 01:09
>>839
なるほど
っつーかそれが mock objectやstub とやらじゃないの?

842 名前:デフォルトの名無しさん :03/11/23 01:09
>>837
mock objectやstubはfdopen〜fcloseの間を置き換えるものだからそうは言えない。

843 名前:デフォルトの名無しさん :03/11/23 01:10
>>842
そうなんか
じゃあ >>839 でいいじゃん

844 名前:デフォルトの名無しさん :03/11/23 01:10
>>841
mock objectやstubがなんだかわからずに反論してたのか…(死亡)

845 名前:デフォルトの名無しさん :03/11/23 01:12
>>843
それだとコストが高くつくし、「単体テスト」の粒度が大きくなってしまうけど、それでもよければ
>>839でもいいと思うよ。

846 名前:デフォルトの名無しさん :03/11/23 01:13
>>844
分かってるから言ってるんだろが

847 名前:デフォルトの名無しさん :03/11/23 01:15
>>846
もうちょっと俺の書き込みを読んでくれない?

848 名前:デフォルトの名無しさん :03/11/23 01:16
>>847
お前の書き込みはどれよ?

849 名前:デフォルトの名無しさん :03/11/23 01:19
>>831
ん ?
論理的には、発生し得ない障害系のテストはどうやってるの ?
ハードをわざと壊しているとか ?

850 名前:デフォルトの名無しさん :03/11/23 01:19
>>848
ごめん。飽きた。この議論止める。悪い。

851 名前:デフォルトの名無しさん :03/11/23 01:20
>>849
それが本当に必要ならハードを壊します。

852 名前:デフォルトの名無しさん :03/11/23 01:21
>>849
というか、それうちではシステムテストといってます。

853 名前:デフォルトの名無しさん :03/11/23 01:23
>>851
> それが本当に必要なら

この書き込みから、お前がまともなテストを実施していないことがバレバレだぞ。(藁
ハード障害系のテストもちゃんとやれよ。

> ハードを壊します。

どう壊せばいいのかわかってんの ?

854 名前:デフォルトの名無しさん :03/11/23 01:24
>>853
> どう壊せばいいのかわかってんの ?
どう壊すの?

855 名前:デフォルトの名無しさん :03/11/23 01:24
>>851-852
ごめん、勘違いなので取り消す。

>>849
確かにまれにそのようなケースがあってデバッガでむりやり通すこともあります。
C0カバレッジ100%じゃないとまずいので。
その意味では前言撤回。

856 名前:デフォルトの名無しさん :03/11/23 01:25
>>850
お前まさかたった一人に叩かれてると思ってたんじゃないだろうな?

857 名前:デフォルトの名無しさん :03/11/23 01:25
>>854
わからんだろ ?
俺もわからん。
だから、デバッガで止めて値変えたり、テスト用にソース変更してテストを実施する。

858 名前:デフォルトの名無しさん :03/11/23 01:26
>>853
テスト専門の会社にいたときは、本当に壊すようなことをやってましたけど。

859 名前:726 :03/11/23 01:27
参考までに皆さんの使用されている開発ツールを教えて頂けませんか?

860 名前:デフォルトの名無しさん :03/11/23 01:28
まあどうしようもない部分もあるよな
排他処理だって特定のタイミングでしか起こりえない競合が
(ほぼ)絶対に起こらないと保証するのは困難だし

861 名前:デフォルトの名無しさん :03/11/23 01:28
>>857
だから>>796のようなことも同じだと?
それはレベルが違う話だと思うけど。

862 名前:デフォルトの名無しさん :03/11/23 01:29
>>861
数少ない味方を敵に回すような発言するのな

863 名前:デフォルトの名無しさん :03/11/23 01:30
相変わらずレベルの低い議論してるなぁ(w
スレ違いなんだけど、お前ら。
よそでやれよ。

864 名前:デフォルトの名無しさん :03/11/23 01:31
>>862
言いたいことは>>796のような行為は最悪だということなんで。

865 名前:デフォルトの名無しさん :03/11/23 01:31
恐らく今の論争は2対2(とその他の野次)くらいでやっている

866 名前:デフォルトの名無しさん :03/11/23 01:32
>>864
>>861 は恐らくお前の味方だぞ

867 名前:デフォルトの名無しさん :03/11/23 01:33
お前ら、ソフトウェアになに完璧もとめてんだ?
手術だってスペースシャトルだって失敗するんだ。
世の中完璧な物なんて無いんだよ。


868 名前:デフォルトの名無しさん :03/11/23 01:34
え?864=861=俺なんですが。

869 名前:デフォルトの名無しさん :03/11/23 01:34
>>864
だからmock objectやstubを使うとして
単体試験中に通信の対象をそのmock objectやstubにどうやって変えるんだよ

870 名前:デフォルトの名無しさん :03/11/23 01:35
>>867
完璧なものは無いかもしれないけど、完璧なものにしようとすることはできるでしょ?

871 名前:デフォルトの名無しさん :03/11/23 01:35
>>868
すまん >>857 のこと

872 名前:デフォルトの名無しさん :03/11/23 01:36
>>858
で、それで全ての障害が発生できたんか ?
そりゃすげーな。(藁

873 名前:デフォルトの名無しさん :03/11/23 01:36
>>869
えーと、マジで質問の意味がわかりません。すまぬ。

874 名前:デフォルトの名無しさん :03/11/23 01:37
>>872
発生させようと努力はしましたよ。

875 名前:デフォルトの名無しさん :03/11/23 01:38
>>871
なるほど。
喩え味方だとしても、>>857のソースを変えてテストするというのは許容できない。

876 名前:デフォルトの名無しさん :03/11/23 01:38
>>874
あんたの努力なんか聞いてないよ。
言い訳はいいから結果として、「全ての障害が発生できた」のか ?

877 名前:デフォルトの名無しさん :03/11/23 01:40
>>876
できるわけないでしょ。

878 名前:デフォルトの名無しさん :03/11/23 01:41
>>876
すべての障害が発生できるのなら、
スペースシャトルの事故なんておきないわけだが。

879 名前:デフォルトの名無しさん :03/11/23 01:41
>>875
> 喩え味方だとしても、>>857のソースを変えてテストするというのは許容できない。

状況次第だと思うけどな。
ソースを変えずに全てのテストを実施できるとは限らんだろ。
(その一例として、障害系のテストをあげてる。)

>>877
だから、どうしてもそういうテストは擬似的にやるしかないだろ。
それとも、あんたのところは「できないから、テスト省略」ってやるのか ?

880 名前:デフォルトの名無しさん :03/11/23 01:43
>>873
mock object は擬態で stub は仲介だよな

今はソケット通信プログラムの話をしていて
send 側を単体試験する方法を考えている

で,mock object や stub を使って recv プログラムがあるように振る舞って
send 側の単体試験をするわけだ

send 側のソースを変えることなく recv 側を本来の通信対象から
mock object や stub に置き換えることはできるの?

ということ

881 名前:デフォルトの名無しさん :03/11/23 01:44
>>878
そこで SRGM ですよ

882 名前:デフォルトの名無しさん :03/11/23 01:44
>>879
だから特殊事例を敷衍して>>796を擁護しようとするのならそれは全く同意できません。
>>796は最悪です。

883 名前:デフォルトの名無しさん :03/11/23 01:46
>>880
俺の言ってるのはそうではなくて、sendするオブジェクトや関数をmock objectやstubに置き換える
という場合の話をしてます。

884 名前:880 :03/11/23 01:46
>>873
いや別のオブジェクトファイルを作ってリンクすればいいのか
すまん自己解決

885 名前:デフォルトの名無しさん :03/11/23 01:47
>>882
まずは、>>875 は撤回と言うことでいいのか ?

886 名前:デフォルトの名無しさん :03/11/23 01:48
>>883
それじゃ send 側の単体試験にならないじゃん

887 名前:デフォルトの名無しさん :03/11/23 01:50
>>885
いえ、撤回しません。

>>886
送信部分は送信部分でテストしますが、それを>>796というふうにするのは最悪という主張。


888 名前:デフォルトの名無しさん :03/11/23 01:52
>>887
> 送信部分は送信部分でテストしますが、それを>>796というふうにするのは最悪という主張。
>>796 は送信部分ですよ

889 名前:デフォルトの名無しさん :03/11/23 01:53
>>888
そうですよ?それがなにか(少し飽きてきた)

890 名前:デフォルトの名無しさん :03/11/23 01:53
>>887
> いえ、撤回しません。

はぁ ?
障害系のテストはどうやってんの ?

891 名前:デフォルトの名無しさん :03/11/23 01:54
>>890
障害系のテストをするためにソースを変更しないといけないんですか?

892 名前:デフォルトの名無しさん :03/11/23 01:55
ゴメンまた誤解されそうだから
>>796 は send をラップした関数(fprintfで実装)の初期化にあたる処理
大まかな括りとしては送信部分の処理に含まれ
send をラップした関数(fprintf)と初期化処理(fdopen)は同じソースファイル中にあるはず

893 名前:デフォルトの名無しさん :03/11/23 01:56
>>887
> 送信部分は送信部分でテストしますが、それを>>796というふうにするのは最悪という主張。
お前アフォだろ。
send関数の試験じゃなくて、ロジックの試験なら問題ない。


894 名前:デフォルトの名無しさん :03/11/23 01:56
>>889
> そうですよ?それがなにか(少し飽きてきた)
それで納得するなら
>>796 を別ソースファイルにして mob object だと言い張れば納得するのか

895 名前:デフォルトの名無しさん :03/11/23 01:58
>>892
それって、送信データのフォーマッティングもその関数内に入ってるということ?
だとしたら、それは分けたほうがいいと思います。
(なんか話がおおきくループした予感)

896 名前:デフォルトの名無しさん :03/11/23 01:59
ソース A
送信処理のラップ関数 : fprintf で実装

ソース B
初期化処理 : fp = fdopen

ソース C
mob object : fp = stdout

リリース A+B
単体試験 A+C

これで納得するの?

897 名前:デフォルトの名無しさん :03/11/23 02:00
>>891
そういう場合はないということなのか ?

タイミングにシビアじゃない奴なら、デバッガで止めて変更と言うのもできるが、うちではそうできないケースも多い。

898 名前:デフォルトの名無しさん :03/11/23 02:00
>>894
します。
寝ます。
では。

899 名前:デフォルトの名無しさん :03/11/23 02:01
>>895
> それって、送信データのフォーマッティングもその関数内に入ってるということ?
それには >>802 と回答

900 名前:デフォルトの名無しさん :03/11/23 02:01
>>898
捨て台詞カコワルイ

901 名前:デフォルトの名無しさん :03/11/23 02:01


アフォが消えたので終了

902 名前:デフォルトの名無しさん :03/11/23 02:02
>>898
単にコメントアウトしたのが気にくわなかっただけか…

903 名前:デフォルトの名無しさん :03/11/23 02:03
>>897
寝る前にひとつだけ。
デバッガで変数の内容を変えるというのは俺もするので、それに関する内容は上のほうで取り消しました。
ソースを変えてテストするという、それ一点が許容できないことです。では。

904 名前:デフォルトの名無しさん :03/11/23 02:03
今ごろ布団に入ってまだむかついて、ひょっこり起きて来て、
このレス見てふて寝するんだろうな(w

905 名前:デフォルトの名無しさん :03/11/23 02:04
終了〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜

906 名前:デフォルトの名無しさん :03/11/23 02:04
>>903
単体テストって知っているか?
小さなパーツでテストすることだ。
その小さなパーツ以外のソースを変えることは問題ないのだ。
わかったか。じゃあさっさと寝ろ。

907 名前:デフォルトの名無しさん :03/11/23 02:04
>>903
また来てね〜

908 名前:デフォルトの名無しさん :03/11/23 02:04
なんというか、絶句。

909 名前:デフォルトの名無しさん :03/11/23 02:05
>>903
タイミングにシビアな障害系試験項目はないということだな。

(まあ、そういうプログラムもあるだろうとは思うが...。)

910 名前:デフォルトの名無しさん :03/11/23 02:05
>>903
> ソースを変えてテストするという、それ一点が許容できないことです。では。
了解
精進しまつ

911 名前:デフォルトの名無しさん :03/11/23 02:06
>>909
> タイミングにシビアな障害系試験項目はないということだな。
> (まあ、そういうプログラムもあるだろうとは思うが...。)
排他処理のクリティカルな状況を再現するとか?

912 名前:デフォルトの名無しさん :03/11/23 02:09
寝るといったくせに、まだおきているのか(w

913 名前:デフォルトの名無しさん :03/11/23 02:09
やっと読んだ。
ちょっと気になったんだけどi++がスレッドセーフじゃないというのは本当ですか?嘘ですか?

914 名前:デフォルトの名無しさん :03/11/23 02:11
まぁ、XPやTDDをやってる人間とやってない人間とでは、これだけ単体テストに対する認識に
温度差があるということだな。

915 名前:デフォルトの名無しさん :03/11/23 02:13
マ板でデスマーチ、デスマーチと騒いでるのは
こういう奴らなんだろうなあ。

916 名前:デフォルトの名無しさん :03/11/23 02:14
そこで SRGM とか CMM ですよ

917 名前:デフォルトの名無しさん :03/11/23 02:23
>>911
まあ、そう。
クリティカルな部分での障害系試験はなかなか大変。

>>913
> ちょっと気になったんだけどi++がスレッドセーフじゃないというのは本当ですか?嘘ですか?

まじめな話し、本当。
そもそも、プロセサが RICS 風だったりすると、1命令にならないかもしれない。
また、1命令になってても、原理上 i の読み出しと、i + 1 の書き込みを実施する必要があるので、マルチプロセサマシンだとその間に別のプロセッサのメモリアクセスが割り込んでしまうことがある。
このために、Pentium なんかだと Lock プレフィックスをつけて、読み書きの間バスを占有することができるようになっていたりする。

ちなみに、マルチプロセサマシンだと単なる i の読み出しでもスレッドセーフじゃないことがありうる。

918 名前:デフォルトの名無しさん :03/11/23 02:27
>>917
> そもそも、プロセサが RICS 風だったりすると、1命令にならないかもしれない。
RISC だろうが…
パイプラインの所為で1命令は割り込まれるかもしれないが
インクリメントは1クロックなんじゃね?

919 名前:デフォルトの名無しさん :03/11/23 02:37
>>918
> 原理上 i の読み出しと、i + 1 の書き込みを実施する必要がある

特殊なメモリでない限り、1クロックじゃ無理。

920 名前:デフォルトの名無しさん :03/11/23 02:51
スレッドセーフとアトムなのはイコールじゃなくて、
クリティカルセクション内はアトムでなくても
スレッドセーフ、
アトムなのはどこでもスレッドセーフ
32bitCPUだとint64の操作はアトムでなくなる
という認識でいいですか?

921 名前:デフォルトの名無しさん :03/11/23 03:15
>>919
クロックサイクルとパイプステージについて誤解してる?
パイプステージの途中で割り込まれても
実行しようとした命令はロールバックされて無効化される

922 名前:デフォルトの名無しさん :03/11/23 03:41
>>921
お前はRICSについて誤解している。

923 名前:デフォルトの名無しさん :03/11/23 04:14
もうさー「お前バカだから俺が啓蒙してやる」式のレス飽きたよ。
もうム板でくだらない議論するんじゃねーぞ?

924 名前:デフォルトの名無しさん :03/11/23 04:33
>>731のことか・・・
>>731のことかあああああ(ry

925 名前:デフォルトの名無しさん :03/11/23 04:48
グダグダ言わずにsend使えや、ボケ

926 名前:デフォルトの名無しさん :03/11/23 04:52
>>922
どこをどう誤解してるのか書け、馬鹿が

927 名前:デフォルトの名無しさん :03/11/23 05:04
機械語に直したとき、一命令で実行できる処理はスレッドセーフ。
どれが一命令で実行できるかはCPU依存。
一命令で実行できない出来ない場合はコンパイラが
スレッドセーフ対応としてコンパイルした場合はスレッドセーフ。
どれがスレッドセーフ対応かはコンパイラ依存。

ようするに、CPUやコンパイラでスレッドセーフかどうか違うし、
スレッドセーフとかかれている場合を除いて、
スレッドセーフじゃない可能性があるのさ。

928 名前:デフォルトの名無しさん :03/11/23 05:10
C/C++ライブラリってほとんどスレッドセーフじゃないんだよな。

929 名前:デフォルトの名無しさん :03/11/23 05:21
>>923
ちゃんと啓蒙できるなら、そういうレスでも別にいいんだけどね。
ここの奴らは頭が悪いのか文章力が無いのか、それができないから。

930 名前:デフォルトの名無しさん :03/11/23 05:25
WinならMTライブラリ使えばスレッドセーフにならないの?
何のためのライブラリ?


931 名前:デフォルトの名無しさん :03/11/23 09:15
>>920
シングルプロセッサなら、32bit CPU でも int64 操作は多分スレッドセーフ
(コンパイラ/ライブラリのつくりによるけど。)

マルチプロセッサなら、32bit CPU で 16bit データの操作がスレッドセーフでない可能性がある。

>>926
今は割り込みの話をしてるんじゃないよ。

>>927
偉そうに書いてるところ悪いけど、Pentium になんで Lock プレフィックスなんていうものががあるのか調べた方がいいと思うよ。

>>930
MT ライブラリは、ライブラリがスレッドセーフになるだけ。
あんたが書いたプログラムが、自動的にスレッドセーフになるわけじゃないよ。

932 名前:デフォルトの名無しさん :03/11/23 09:50
すみませんちょっとお聞きしたいのですが、
よくホームページ上のデータ(株価など)を取得しているプログラムがありますが、
あれってどんな言語&方法を使っているのでしょうか?やっぱりVB.NETやC#.NET、VC++.NET
とかでホームページにアクセスして、そのソースを引っ張ってきてテキストを抜き出したり
しているのでしょうか?
普通のVB6.0やVC++6.0では機能的に無理?


933 名前:デフォルトの名無しさん :03/11/23 10:01
>>932
普通のVBと普通のVCって何?

934 名前:釣られちゃったか ? :03/11/23 10:03
>>932
全然問題ないと思うけど。

.NET がすごい技術だと思ってるのか ?
(て言うか、.NET の前からあるだろ - Web からデータ取得するプログラム)

935 名前:デフォルトの名無しさん :03/11/23 10:06
>>932
テキスト整形するだけだろ

936 名前:932 :03/11/23 10:16
どうもありがとさんです、参考になりました。


937 名前:デフォルトの名無しさん :03/11/23 11:44
>>931
>MT ライブラリは、ライブラリがスレッドセーフになるだけ。
>あんたが書いたプログラムが、自動的にスレッドセーフになるわけじゃないよ。

お前はいったい何を主張したいのだ?
馬鹿まるだしだぞ。

938 名前:デフォルトの名無しさん :03/11/23 11:53
>>932
.NET = ネット用の開発環境

って思たんでしょ?
変な名前付けるMSが悪い

939 名前:デフォルトの名無しさん :03/11/23 12:03
>>938
.NETを使えばネット用の開発が楽になるだろ

940 名前:デフォルトの名無しさん :03/11/23 12:25
>>937
> お前はいったい何を主張したいのだ?

はぁ ? 書いてあることそのままだけど ?
理解できないのか ?

> 馬鹿まるだしだぞ。

ププッ、偉そうに言う前に具体的に指摘してみなよ。

941 名前:デフォルトの名無しさん :03/11/23 12:33
PHPのGTKの利点ってなんなんでしょうか?
教えてくださいm(")m

942 名前:デフォルトの名無しさん :03/11/23 13:40
>>941
簡単にGimpみたいなソフトが書けます。

943 名前:デフォルトの名無しさん :03/11/23 13:40
>>940
理解できない。
日本語として成立してないからな。


944 名前:デフォルトの名無しさん :03/11/23 15:37
>>940
また「具体的に指摘してみろ」厨かよ。
なんでこいつらは自分の文章能力に自信を持ってるんだろうね?

自分の書いた文章を100回読んでから出直せよ。

945 名前:デフォルトの名無しさん :03/11/23 15:47
根本的にかみ合っていないレスを返しておきながら、自分は正しいことを言っている、
間違っているというなら指摘してみろ、ってパタンが多いけど、根本的にかみ合って
いないレスなんだから指摘しようが無いんだよなあ。

で、元発言とお前の発言の関連性は何だ?と聞くと、たいてい逆切れするか居直る。

946 名前:デフォルトの名無しさん :03/11/23 16:19
半島の人みたいだね

947 名前:デフォルトの名無しさん :03/11/23 16:58
> C/C++ライブラリってほとんどスレッドセーフじゃないんだよな。
これに対する
> WinならMTライブラリ使えばスレッドセーフにならないの?
これだと思うんだがなぁ。

とすればプログラム自体がスレッドセーフになるとは読めない。

948 名前:デフォルトの名無しさん :03/11/23 17:02
>>943-946
自演ご苦労。
で、やっぱり説明できないだろ ? (ププッ

(日本語がおかしいなら、どうおかしいか説明すりゃいいのにねぇ...。)

949 名前:デフォルトの名無しさん :03/11/23 17:20
>>948
で、元発言とお前の発言の関連性は何だ?

950 名前:デフォルトの名無しさん :03/11/23 17:26
>>949
はぁ ?
いよいよ困ったら、関連性とか聞いてきてるよ、この人。(藁

951 名前:デフォルトの名無しさん :03/11/23 17:32
>>945
ビンゴでしたw

952 名前:デフォルトの名無しさん :03/11/23 17:53
ちょっと長くてすみませんが、よろしくお願いします。

サーバがクライアントから要求を受け取り、クライアントの所有者
基づいて、指定されたディレクトリにデータを書き出すものとします。
このとき、クライアントの所有者と、指定するディレクトリの
パーミッションが合わない場合は、データの出力を拒否したいとします。

さてサーバとしてはスレッドで動くか、fork()で動くかするわけですが、
要求を受け付けるまではrootで動いており、データを出力する前には
setuid()を呼ぶわけです。というか、なるべくセキュリティを考慮して
専用のユーザーに切り替わりたいわけです。

ただし、一旦setuid()するとrootに戻れないわけで、threadで動く
サーバだと他のスレッドに影響を与えてしまって都合が悪いと思います。
となると、このようなサーバはforkで作るしかないのでしょうか?


953 名前:デフォルトの名無しさん :03/11/23 17:56
>>951
こいつと同列に見られても困るから、少し説明しとこうか。

>>930 は、MT ライブラリを使えばスレッドセーフにならんかと聞いてる。
だから俺は、MT ライブラリはライブラリの部分がスレッドセーフになるだけで、自分の書いてる部分がスレッドセーフになるわけじゃないと答えた。

例えば、malloc() なんかは、MT ライブラリを使わずにマルチスレッドで使うと、複数のスレッドからほぼ同時に呼ばれた時にメモリ管理領域を壊す可能性がある。
MT ライブラリを使えばそういうことはおきなくなる (はずである)。
これが、「ライブラリがスレッドセーフ」と言う意味。

でも

int i = 0;

void foo(){
 int j;
 for(j = 0; j < 10; j++){
  i++;
 }
}

と言う関数をふたつのスレッドで呼び出した結果 i = 20 にならないことがある。
これは上で話題となってた、i++ がスレッドセーフでないため。
(まあ、シングルプロセサならほとんど i = 20 になるけどな。)

当然こういうのは、MT ライブラリ使ってもなんともならない。
自分でクリティカルセクションでも使って保護するしかない。

これが、「あんたが書いたプログラムが自動的にスレッドセーフになるわけじゃない」と言う意味。

まともなプログラマなら、これぐらいは理解できているはずだと思うけどな。(藁

954 名前:デフォルトの名無しさん :03/11/23 17:59
>>952
スレッドには、ユーザーの概念がない (と言うか、他のスレッドに対してメモリ保護もされないんだから、あっても無意味) ので、fork() でやるしかないと思う。

955 名前:952 :03/11/23 18:12
>>954 レスサンクス。

やっぱそうでしょうね。スレッドだと、ミューテックスでクリティカルな
領域を保護してseteuid()〜ファイル出力、終わったらロック解除みたいな
あまり頭のよくないことをしなければだめでしょうね。

956 名前:デフォルトの名無しさん :03/11/23 18:20
>>955
なんか勘違いしているような気がするけど...。
ミューテックスやクリティカルセクションてセキュリティとは (あんまり) 関係ないよ。

957 名前:952 :03/11/23 18:33
>>956 
あるスレッドでsetuidを呼んだ次の瞬間、別のスレッドでrootに戻ったとか
したら、作成しようとするファイルのパーミッションがおかしくなるかも
しれませんね。

また、rootの時にバグって変なコードを実行させられたらまずいでしょう。


958 名前:947 :03/11/23 18:38
>>953
>>930>>928を受けての発言だと思うんだけど。

959 名前:デフォルトの名無しさん :03/11/23 18:55
>>953
そんなことは君が言うとおり誰でもわかってるんだけど。
ほんとウザい奴だなぁ。別のスレで暴れてくれよ。できればマ板で。

960 名前:デフォルトの名無しさん :03/11/23 18:56
そう。953の言いたいことなど誰でも分かっている。
でもそれがおかしいんだよな。

961 名前:デフォルトの名無しさん :03/11/23 18:57
お互い自作自演炸裂だね(プ

962 名前:デフォルトの名無しさん :03/11/23 19:05
誰でもわかる自明な事柄を何十行もかけて延々と説明して、
いったい何を主張したいというのだろう、このアフォは。
ちょっとつつかれるとすぐ逆上して>>953みたいなレスするし。
つーか、コテハンでレスするようにしてくれよ。ローカルアボーンするからさ。

963 名前:デフォルトの名無しさん :03/11/23 19:11
>>953
そのコードはスレッドセーフだぞ。
なんか勘違いしてるだろ。

964 名前:デフォルトの名無しさん :03/11/23 19:13
>>953
そんなコードはありえない。

965 名前:デフォルトの名無しさん :03/11/23 19:15
もうおなかいっぱい。
次スレではやめてくれるよな?

966 名前:デフォルトの名無しさん :03/11/23 19:19
>963
マルチプロセッサのとき、スレッドセーフでは無い気がするが。

967 名前:デフォルトの名無しさん :03/11/23 19:44
>>966
マルチプロセッサならコードを二重に実行するとか思ってんのか?w

968 名前:デフォルトの名無しさん :03/11/23 20:06
>>953
おまえにはスレッドセーフライブラリが
全く理解できていない事が解った。


969 名前:デフォルトの名無しさん :03/11/23 20:10
>>968
だから自分の意見を書けって。
お前の考えはお前が言わない限り分からない。

970 名前:デフォルトの名無しさん :03/11/23 20:44
うざい人がいるので自分がうざいと思った場合は無視してあげてください

971 名前:デフォルトの名無しさん :03/11/23 20:59
>>969
横やりだが

この例では経過はどうであれ結果は変わらない
よってスレッドセーフでないという結論にはならない

972 名前:デフォルトの名無しさん :03/11/23 21:37
>>971
ほんとですか?
証明とはその過程があって初めて成立するものです。

証明に証明されていないあんたの頭の中の自分理論を適用している時点でばかげています。

973 名前:デフォルトの名無しさん :03/11/23 21:52
誰か次スレ頼む

974 名前:デフォルトの名無しさん :03/11/23 22:01
たぶん>>971は今ごろ、
「なんで俺の言うことを素直に聞かんのだ?
俺の言っているとは正しいのだ。
素直に信じていれば良いんだ。」とか
思っているんだろうな。

975 名前:デフォルトの名無しさん :03/11/23 22:23
いったいいつまで誰が一番頭が悪いかを競ってるんだ?

976 名前:デフォルトの名無しさん :03/11/23 22:24
>>966 を除いてマジでバカばっかりだな。(願わくば、自演 (=一人) であることを望むよ。)
特に >>967 なんて見てられないよ。

もう一回言っとくよ。
i++ は、スレッドセーフじゃねーよ。

信じられなかったら、Pentium のマニュアルで Lock プレフィックスを調べてみな。

まあ、お前らにはマルチプロセッサ上で動くプログラムなんか書く機会なさそうだから関係ないことだろうけどな。(ププッ

977 名前:デフォルトの名無しさん :03/11/23 22:29
>>976
へぇ、i++ってアトミックじゃないんだ。

と、言うかiがローカルかグローバルかスタティックかも書かずにそんなこと言われてもなぁと思った。

978 名前:デフォルトの名無しさん :03/11/23 22:30
>>976
i++はCPUで直接解釈できます。

と言うのが笑い所で良いんですか?

979 名前:デフォルトの名無しさん :03/11/23 22:51
iがグローバルにせよ、スタティックにせよ趣旨は変わらない
ローカル?autoのことか?foo()の外で定義されてるから、
それはあり得ない。というか、それくらい分かれよ、、

980 名前:デフォルトの名無しさん :03/11/23 23:00
>>972
日本語になっていない文章を書いてご満悦ですか?

981 名前:デフォルトの名無しさん :03/11/23 23:04
>>978
i++ なんて、どうせ1命令になる (保証されてるわけじゃないけど、まあ普通はそうなる) から、割り込まれないと言うんだろ ?
だから、考えが浅いって言ってる。
シングルプロセサならそれでいいけど、わざわざマルチプロセサと言う条件つけてるだろ。
だから、Lock について調べて来いって言ってるんだよ。

ちなみに上でも書いたけど、Penitum である特定条件 (ミスアライメント) だったりすると、

#pragma pack(1)
struct {
 char dummy;
 int i;
} x = {0, 0};
int j;

foo(){
 i = 0xffffffff;
}

bar(){
 j = i;
}

で、foo(), bar() が異なるプロセサでほぼ同時に実行されると、j が 0 でも 0xffffffff でもない値になることがあるよ。

>>979
まあ、アフォはほっといてやれや。
まともな話になって、そういうところしか突っ込めなくなったみたいだからさ。(藁

982 名前:デフォルトの名無しさん :03/11/23 23:10
なんでこいつLockについて説明しないんだ?
他人には厳しく、自分には甘く、か。

つーか、いい加減やめろって。お前が知識があることはよくわかったら、
スレを浪費するようなレスは次スレからはやらないでくれ。

質問したい奴が質問できない雰囲気になってるのにいいかげん気づけよ。

983 名前:デフォルトの名無しさん :03/11/23 23:13
そもそも普通は書かないようなタコなコードで人を説得しようとするのが間違っとる。
誰もそんな糞コードは書かないよw

984 名前:デフォルトの名無しさん :03/11/23 23:14
>>981
> シングルプロセサならそれでいいけど、わざわざマルチプロセサと言う条件つけてるだろ。
最初から Lock がどうとか言ってる奴しかマルチプロセッサという条件は付けてないけどな

985 名前:デフォルトの名無しさん :03/11/23 23:15
「俺の知識はすごいだろ」
「アフォか、俺が知識のあるところを証明してやる」

ってのはいまどきはやらねーんだよ。yahooでも逝ってろ、ボケ

986 名前:デフォルトの名無しさん :03/11/23 23:16
リロードすんなって(プ

987 名前:デフォルトの名無しさん :03/11/23 23:19
知識はあるかどうかしらんが、説明能力はお互いゼロだわな。
でなかったらこんなにダラダラ続くはずが無い。

988 名前:デフォルトの名無しさん :03/11/23 23:19
マルチプロセッサでプログラムすることが大衆的ならともかく
たまたま自分がやっているからといって稀な事例を引っ張り出してきただけの
オナニーっぽいな

989 名前:デフォルトの名無しさん :03/11/23 23:19
>>982
>質問したい奴が質問できない雰囲気になってるのにいいかげん気づけよ。

部外者だが、構わなければ速攻でいなくなるタイプの厨房だと思うがどうか?
厨房に構う奴もまた厨房というわけだ。

>質問したい奴が質問できない雰囲気になってるのにいいかげん気づけよ。
になっている原因の一旦は正義感に燃えるお前がになっているんだよ。


990 名前:デフォルトの名無しさん :03/11/23 23:20
>>985=>>987

991 名前:デフォルトの名無しさん :03/11/23 23:20
日本語が下手な人間ばかりだな

992 名前:デフォルトの名無しさん :03/11/23 23:21
> になっている原因の一旦は正義感に燃えるお前がになっているんだよ。

993 名前:デフォルトの名無しさん :03/11/23 23:24
スレッドセーフなライブラリを使っても、自分が書いたコードがスレッドセーフでなければ
スレッドセーフな関数にはならない。(あたりまえ)

自分が書いたコードがスレッドセーフでも、スレッドセーフではないライブラリを使えば
スレッドセーフな関数にはならない。(あたりまえ)

自分が書く部分をどうやってスレッドセーフにするか議論したければ(というか議論する
ようなことじゃないんだが)、別スレでも建てて思う存分やってくれ。

994 名前:デフォルトの名無しさん :03/11/23 23:29
みんななんだか必死やな。
連休なんだから違うことに時間を使ったほうがええんちゃうのん?

995 名前:デフォルトの名無しさん :03/11/23 23:30
じゃあ暇潰しに1000もらう

996 名前:デフォルトの名無しさん :03/11/23 23:31
次スレよろ↓

997 名前:デフォルトの名無しさん :03/11/23 23:33
>>982
> なんでこいつLockについて説明しないんだ?
普通自分で調べりゃわかると思うけどな。
まあ、君みたいな奴もいるから、コピペしとくよ。
(読んでもわからんとか言うなよ。)

この命令は、このプリフィックスの後の命令の実行中、プロセッサのLOCK# 信号をアサートさせる ( すなわち、その命令をアトム命令に変える)。
マルチプロセッサ環境では、LOCK# 信号は、それがアサートされている間プロセッサが任意の共有メモリを独占的に使用できるよう保証する。

> お前が知識があることはよくわかったら、スレを浪費するようなレスは次スレからはやらないでくれ。

それを言うなら、>>963 とか >>967 みたいな自信満々のアフォを何とかしてくれ。

>>984
当たり前。シングルプロセサに Lock は関係ないからな。

>>985, >>988
まあ、誉め言葉と受け取っとくよ。

>>987
多分お前の理解力がないだけだ。
で、お前かお前みたいな理解力がない割には自信満々の奴が絡んできただけだろ。

998 名前:デフォルトの名無しさん :03/11/23 23:42
マルチプロセッサなんて条件を出してきたのはおまえしかいないだろ

999 名前:デフォルトの名無しさん :03/11/23 23:47
>>998
当たり前だろ。
知ったか厨をからかうためだからな。
ヴァカがいっぱい釣れて楽しかったよ。

俺も満足したし、誰かすっきり 1000 でもとってくれ。

1000 名前:デフォルトの名無しさん :03/11/23 23:48
子ね


■過去ログ置き場に戻る■ 1- 前250 次250 最新50
DAT2HTML 0.33f Converted.