2ちゃんねる ★スマホ版★ ■掲示板に戻る■ 全部 1- 最新50  

■ このスレッドは過去ログ倉庫に格納されています

ミ,,゚Д゚彡フサギコのフサフサ.NET談話室

1 :フサギコ#:02/10/02 01:28
            ∫    _________
   ∧,,∧     ∬   /sjis使うDelphiなんてもう
   ミ,,゚Д゚彡っ━~  <  やってらんねーよ
_と~,,  ~,,,ノ_.  ∀   \ みなーで、寝返ろうや
    ミ,,,,/~), │ ┷┳━   ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
 ̄ ̄ ̄ .じ'J ̄ ̄| ┃
 ̄ ̄ ̄ ̄ ̄ ̄ ̄  ┻

関連スレ等はお前ら書き込んでください。

2 :デフォルトの名無しさん:02/10/02 01:32
geeet

3 :デフォルトの名無しさん:02/10/02 01:32
  /| +
  l |
  l | 
  _L!_
  ||   /二二ヽ   / ̄ ̄ ̄ ̄ ̄ ̄ ̄
  || / (´Д`)) < ・・・・・・・・・・・・・・
  Oニゝ、__乂__〉   \_______
  ||!J_|::::::::::::::|
  8  (二∧二) 

4 :デフォルトの名無しさん:02/10/02 01:32
まあこれはこれでいいのでは。

5 :デフォルトの名無しさん:02/10/02 01:33
ばか >>1

6 :デフォルトの名無しさん:02/10/02 01:34
Delphi7はハズレだったし、ガリレオネタでやっていくか。

7 :フサギコ ◆LZLRuzPQ :02/10/02 01:35
             ___________
  ,,,,,,,,,,,,,∧,,∧   /
〜′,,,,,,,ミ,,゚Д゚彡< ねぎらいの言葉はなしか?
  UU""" U U   \
              ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄

8 :デフォルトの名無しさん:02/10/02 01:36
必要な処理全てにライブラリがあれば問題なし!
遅くてもオーダーで不利でもマシンスペック上げて乗り切ろう!

…タイトル見て爆笑したスレは久しぶりです。
(個人的には賛同しかねるがw)

●過去スレ

ミ,,゚Д゚彡フサギコのフサフサDelphi談話室E
http://pc3.2ch.net/test/read.cgi/tech/1031668744/
ミ,,゚Д゚彡フサギコのフサフサDelphi談話室D
http://pc3.2ch.net/test/read.cgi/tech/1030266945/
ミ,,゚Д゚彡フサギコのフサフサDelphi談話室C
http://pc3.2ch.net/test/read.cgi/tech/1027343132/
ミ,,゚Д゚彡フサギコのフサフサDelphi談話室B
http://pc3.2ch.net/test/read.cgi/tech/1021554929/
ミ,,゚Д゚彡DelフサギコのフサフサDelphi談話室A
http://pc.2ch.net/tech/kako/1006/10066/1006602102.html
ミ,,゚Д゚彡DelフサギコのフサフサDelphi談話室
http://pc.2ch.net/tech/kako/1003/10036/1003664165.html

9 :デフォルトの名無しさん:02/10/02 01:36
win32APIと一緒に.NET Frameworksを使いたいのですが、
どのようにすればよいのでしょうか?
どうしてもwin32APIを使わなくてはならないのですが、
.NET Frameworksのクラスとwin32APIの関数名が
一部、重なっているため、クラスなのに関数とコンパイラに
認識されてしまいます。

10 :ユーザは誰も知らない .NET:02/10/02 01:39
C#.NET でも開発しましたが「実行できない」と、ほとんどのユーザから
クレームがきました。Delphi で作り直しました。

11 :デフォルトの名無しさん:02/10/02 01:39
Javaのスレは誰がたてるんだ?

12 :デフォルトの名無しさん:02/10/02 01:40
> どうしてもwin32APIを使わなくてはならないのですが

どうしても .NET Frameworks を使わなくてはならないのですか?

13 :デフォルトの名無しさん:02/10/02 01:50
>>9
いまいちよく分からないけどnamespace明示すればいいんのでは。
.NETからWin32API呼び出すのは可能だよ。


14 :デフォルトの名無しさん:02/10/02 02:00
>フサギコ
Delphi談話室やめちゃうの?

15 :デフォルトの名無しさん:02/10/02 02:01
なんだかんだ言って
>Delphi Language のここが嫌い
の要望聞いてるとそれこそまさにC#なんだよなぁ。

時にこのgenericなコードって2chで見たことあったような??
type T=Integer;
{$INCLUDE List.inc}
type TIntList = type TTypedList:
type
TTypedList = class(...)
function Add: T;
property Items[idx:Integer]: T read GetItems write SetItems default;
end;

16 :デフォルトの名無しさん:02/10/02 02:28
>>15

2ch での議論は、ML のものが元になってる、と思う。
例の TList や、それに関連する汎用リストクラスの
話題だったね。C++ のテンプレート相当、というやつ。

17 :Delフサギコ ◆VzDeLphI :02/10/02 02:29

        ∬           ∬    これ?
        。。 ・・Λ〜Λ  ・。。。 ∬
     o0o゚゚   ミ*゚Д゚,,彡   ゚゚oo    C#調査して一部仕様が
    。oO  ( (( ー----‐ )) )   O0o  Delになくて寂しい人は
   (~~)ヽ             (´^ヽO,    そこそこいそう。
  (⌒ヽ             (⌒)(゙゙゙)~
   /~゙゙ヾ⌒`ゝ-(~´`(⌒(⌒~ヽ~ ~~  
   ゝー ′ '"      ``"       
Delphiでtemplate
http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1020833969

18 :デフォルトの名無しさん:02/10/02 02:30
> の要望聞いてるとそれこそまさにC#なんだよなぁ。

あきらかに、CLR のことを念頭に置いてると思われ

19 :デフォルトの名無しさん:02/10/02 02:33
>>17

そう、それ。該当MLの過去ログは

http://www2.big.or.jp/~osamu/Delphi/delphi-browse.cgi?index=058021

のスレかと

20 :デフォルトの名無しさん:02/10/02 02:37
てーかここは何を語るスレですか?

21 :1:02/10/02 02:42
Delphi.NETを先取るスレです

22 :探しつかれた・・・:02/10/02 02:44
>>16
ところがどっこい実は2chのが早かったり
http://piza.2ch.net/tech/kako/970/970606624.html
の97あたり

23 :デフォルトの名無しさん:02/10/02 02:49
>>22

お、おー、まさしくそれだね。じゃ、MLでのT氏のカキコは、これと
関連があるようだね。

24 :デフォルトの名無しさん:02/10/02 02:51
ところでフサギコ、sjis/ansistring がいやなら widestring 使えばよかったんでは
ないのか?

25 :デフォルトの名無しさん:02/10/02 02:54
>>22
ご苦労様。
で、読んでみると…なんか、すごい密度の良スレですね。
今とは大違いな気がする。

>>24
SJISが嫌とかそういう次元の問題じゃなかった気もするが…。
順次切りだし型の文字列処理が結局理解できなかったっぽいから、
Unicodeにして2バイト文字から逃げたところで、結局どっかで行き詰まるっしょ。

26 :デフォルトの名無しさん:02/10/02 02:57
フサには失望したよ。

27 :デフォルトの名無しさん:02/10/02 02:57
それで行き詰まるのなら、C# 使おうが .NET に移動しようがおなじじゃん。

28 :デフォルトの名無しさん:02/10/02 02:58
>>25

当時は密度(S/N比?)が高かったね。だんだん荒れてきて、2ch によりつか
なくなって、来るのは厨房ばかりなり、となった

不景気だからなぁ

29 :探しつかれた・・・:02/10/02 03:04
二年もたてばさすがに議論のネタもつきるでしょ
それにDelの言語面での進歩はかなりのんびりだったし
だから興味の対象がC#に移るのもむべなるかなという気はするよ

30 :Delフサギコ ◆VzDeLphI :02/10/02 03:10
  ∧,,∧   ま、失望したのは俺も一緒だから
 ミ,,゚Д゚ミ=3  いいけど。
       

31 :デフォルトの名無しさん:02/10/02 03:17
>>30

いーや、コテハンを長くやってる苦労は充分評価している。これからも頼む。

話は変わるが、

> だから興味の対象がC#に移るのもむべなるかなという気はするよ

には同意する。言語仕様はすばらしい。ところで、C# のスペックは
欧州標準化機構(?) とかで公開されているらしいが(文書をDLして
チラと読んだことがある)、これって CLR を前提にして作成された
ことは理解できるが、CLR の存在は必須ですか? 以前、ML では
C# でネイティブコンパイラつくるのは相当難しい、とかの指摘が
あったようだけど。実行時型情報の取得なんかは、言語仕様と無関係
のような気がするんですが。もちろん、実装上の問題なんでしょうけど。

32 :デフォルトの名無しさん:02/10/02 03:20
>>31

× C# でネイティブコンパイラつくるのは
○ C# のネイティブコンパイラつくるのは

33 :Delフサギコ ◆VzDeLphI :02/10/02 03:33
人の言うこと気にしするのはもうヤメ。特に仕様とか思想とか。
考え方があわねーヤツにあわすのは無駄だね。
  ∧,,∧  しぶとくいくけどこっちのように範囲文字列の切り取りクチの
 ミ,,゚Д゚ミ  後ろ部分もちゃんと判断した方がいいな。多分。
function AnsiStringPartsCompare_Base(const S1, S2: String;
S1Index, S2Index, CompareLength: Integer; IgnoreFlag: Boolean): Boolean;
var CompareFlag: longword;
begin
 if IgnoreFlag then
 begin CompareFlag := NORM_IGNORECASE; end else
 begin CompareFlag := 0; end;
 if CompareStringA(LOCALE_USER_DEFAULT, CompareFlag,
  PChar(S1) + S1Index - 1, CompareLength,
  PChar(S2) + S2Index - 1, CompareLength) = 2 then
 begin
  if ByteType(S1,S1Index)=ByteType(S2,S2Index) then
  begin
   if (ByteType(S2, S2Index+CompareLength-1)<>mbLeadByte) then
   begin Result := True; end else
   begin
    if (S1[S1Index+CompareLength] = S2[S2Index+CompareLength]) then
    begin Result := True;    end else
    begin Result := False; end;
   end;
  end else
  begin Result := False; end;
 end else begin Result := False; end;
end;
マルチバイト文字もみこして、Insert/Copy/Delete/Lengthなど
文字列クラス(あえてクラス扱い)のメソッドは
バイト単位などで行わず、文字単位で考えるべきだというのがわかった。

34 :デルファイの名無しさん:02/10/02 03:44
>>22のリンク先を見てますと、コルーチンというのが目につきました。
で、話題に振ってみる。(このスレでいいの?w)

こんなのできるといいなあ。いちいちコールバック書かなくて済むし。

function EnumWindows2(var Wnd: HWND): Boolean;

使い方

while EnumWindows2(Wnd) do 〜

同時に使ってOKなためには、ワークエリアも呼びだし元で確保して
渡す方がいいのかな?

function EnumWindows2(var Wnd: HWND; var Work: TWork): Boolean;
var Work: TWork;
while EnumWindows2(Wnd, Work) do 〜

EnumWindows2の中身はインラインアセンブラで書いて、
呼びだし元のアドレスとEBPを保存して、
一時的に戻りたい時はEBPを戻してから呼びだし元のアドレスへジャンプ?

その辺の作業をいちいちアセンブラで埋めこまなくても済むよう
ライブラリ化できたら良さげ。できるかどうかわかりませんが。

whileループ中からBreakされると破綻するな…。

35 :デルファイの名無しさん:02/10/02 03:56
自己レス。
ESPを動かさなければ、TWorkは不要ですね。

EnumWindows2の先頭で、スタックフレームを作っているかどうかで
呼びだし元のEBPを得る方法が変わるから、インラインアセンブラは免れない気がする…。
むしろEBPをわたしてやればいいか。

function GetEBP: Pointer; register;
asm
 mov eax, ebp
end;

function EnumWindows2(var Wnd: HWND; EBP: Pointer): Boolean;

二回目呼ばれた時の復帰は…threadvarにでも
復帰位置とEBPを記録しておいて、
続けて同じEBPが渡されたら、リターンアドレス書き換えてretすりゃOK?

36 :デフォルトの名無しさん:02/10/02 04:08
なにげに、スレタイと無関係にヨスレになったりして

37 :デルファイの名無しさん:02/10/02 04:09
できそうな気がしてきた。GetEBP、GetReturnAddress、Restore、Callbackをアセンブラで提供するとして、

var
 EBPs: スタック of Pointer;

function Coroutine(..., EBP: Pointer): Boolean;
begin
 if EBP = EBPs.Top then Restore; //2回目呼ばれた分のESPを戻してCallbackのリターンアドレスを利用してret
 EPSs.Push(EBP);

 何かのアルゴリズム do
 begin
  …
  Callback(EBP, GetReturnAddress); //中でeax = True(1)してからEBPを戻してジャンプ
  …
 end;
 EBPs.Pop;
 Result := False;
end;

Fiberでできるのは知ってますので念のため…。

38 :デルファイの名無しさん:02/10/02 04:31
ESPの変化量がわからないので、保存しておく方が確実か。
リターンアドレスを得る方法も、Coroutineのスタックフレームの有無に依存しそうなので、渡してもらうことにして、

var
 CurrentEBP, CurrentESP: Pointer;

function Coroutine(..., EBP, RetAddr: Pointer): Boolean;
var
 OldEBP, OldESP;
begin
 if EBP = CurrentEBP then Restore(CurrentESP); //ESPを戻してCallbackのリターンアドレスを利用して(*)へret
 OldEBP := CurrentEBP; CurrentEBP := EBP;
 OldESP := CurrentESP; CurrentESP := GetESP;
 …
 Callback(EBP, RetAddr); //中でeax = True(1)してからEBPを戻してジャンプ
 (*)
 …
 CurrentEBP := OldEBP;
 CurrentESP := OldESP;
 Result := False;
end;

…いっそスタックフレームを確実に作ってもらうため、
Coroutine中では例え無駄でもレジスタに入らないローカル変数を宣言して…のほうが楽かも。
そうすればRetAddrを渡して貰うというのは不要で現EBPからたどれるし…。
OldEBP、OldESPを構造体にして、レジスタに収まらないよう無駄なフィールド付けまくれば確実かな?

39 :デルファイの名無しさん:02/10/02 05:12
変数をもうひとつ増やして、Coroutine内のEBPも覚えておく必要があったけど、

procedure Restore(_ESP, _EBP: Pointer); register; //コルーチンが最初に呼ばれた時の値を渡す
asm
 mov esp, eax
 mov ebp, edx
end;

procedure Callback(_EBP: Pointer); register; //呼びだし元のEBPを渡す
asm
 mov ecx, [ebp + 4]
 mov ebp, eax
 jmp ecx
end;

…でいい線までいきました。
残る問題は、最適化でレジスタに割りつけられた変数がごちゃ混ぜにされるという事。
呼びだし元、コルーチン内、両方とも、主要レジスタを全部保存しないとダメみたいです。

あきらめて素直にFiber使おうかな。

40 :デフォルトの名無しさん:02/10/02 06:53
>>33
疑問1・LeadByteで終わる不正な文字列だと困らないか?
疑問2・IgnoreFlag = Trueの時、LeadByteで切れている部分を拾うとこだけ=比較はまずくない?
CompareStringは全角アルファベットも大文字小文字を同一視してくれた記憶。
下手にLeadByteで切れている時に救いを入れない方がいいと思うけど。

ついでに、ifの結果でResultにTrue/Falseを代入するだけなら、
if文にせずに比較式を直接代入してしまった方が、行数も減るし実行も効率的。

>マルチバイト文字もみこして、Insert/Copy/Delete/Lengthなど
>文字列クラス(あえてクラス扱い)のメソッドは
>バイト単位などで行わず、文字単位で考えるべきだというのがわかった。
発想が、N88BASICのKINSTRやKMID$みたいだなー。
まあ、フサギコさんがどう思おうが勝手ですけど、
元BASIC使いから見てもその程度って事は自覚して、前スレみたく独善的な意見を振り回さないで欲しい。

41 :デフォルトの名無しさん:02/10/02 07:34
>>39
Windowsで自前のSP切替型コルーチンは制限が大きくて厳しい
spを好きな所に変えた状態でAPIを呼ぶと例外が発生する
だから、最初にspを大きく取って、その領域を分割して使うしかない

だから、コンパイラがSPを使わないようなコードを吐いて支援して
くれないと 便利だ〜 って感じにはならないだろう

42 :前の350:02/10/02 07:54
結局さ、文字列処理というのは、文字をバイト列として見た上でどう処理するかって問題であって
文字列のまま処理するものじゃないってところの感覚が違うんだと思うな
 WideStringだとバイトじゃなくWordになるとかいうのは枝葉の問題ね

Delphiには文字列という型もあるし、文字列を+とcopy/posみたいに加工する事も出来るし、
普段GUI作ってる範囲ではそれ以外使わなくても済むのかもしれない。
だから、この手の処理が低レベル処理と映るのかもしれないけど・・・・・

ってまあ好きにしたらいいんだけどね

43 :デフォルトの名無しさん:02/10/02 09:02
一度Cで書いてみることをお勧めしたいのだけれども。

44 :デフォルトの名無しさん:02/10/02 09:04
いや LISP系がいいんじゃない?

45 :デフォルトの名無しさん:02/10/02 09:22
アセンブラでフルスクラッチ。

46 :デフォルトの名無しさん:02/10/02 09:24
最初はマターリだったのにまたsjisに逆戻りかよ。
ウザいからもうフサは放置しろよ。これ以上かまっても何の意味もないよ。

47 :デフォルトの名無しさん:02/10/02 09:29
なんか話題ない?


48 :デフォルトの名無しさん:02/10/02 09:44
ほんと、Delphi言語に実行保留機構を付けて欲しい
こんな感じ

THoge = class
reservation_function prog1:integer ; stacksize 1000; //ローカルスタックはオブジェクト内に取られる
end;

reservation_function THoge.prog1;
var n:Integer;// ローカルスタックに割当てられる
begin
n:=0;
reserve :; //クラスの作成時に自動的に実行され、で最初の実行保留
//次に prog1メソッドを呼び出したらここから実行

reserve result=n:; //最初のメソッド呼び出しに対する実行保留

end;



49 :48:02/10/02 09:53
いやこの場合、レベル1の ローカル変数は、無名のクラス内の変数とした方がいいか
関数内関数のローカル変数はローカル変数として

50 :デフォルトの名無しさん:02/10/02 10:36
以前にも言ってなかったっけ
同じ人?

51 :48:02/10/02 10:40
そうたぶん同じ人。 ヒマが出来たらプリプロセッサみたいな格好で作ってみたいな


52 :デフォルトの名無しさん:02/10/02 11:33
別スレに貼ってあった

Why .NET will conquer the world
http://zdnet.com.com/2100-1107-958923.html

の本記事はもちろん、300 近くある TalkBack の半分近く
読んでみた。

本記事の内容は、.NET 万歳をかたったアンチ.NETの煽り
ネタかと思っていたが、どうも本人は大まじめのようだ。

TalkBack では、アンチ.NET 一色で本記事の著者は、防戦
一方で旗色悪いね。日本の 2ch どころじゃないね、アンチ
の冷静な(一部厨房もいるが)分析を読むと、.NET の将来
は、ニッチとして生き残る程度、というのが妥当なところ
みたいね。(あくまでもアンチの意見ということで)

笑えるのは、向こうでも社員・非社員の議論や、宣伝費の
出所が話題になっていること。

言葉使いの微妙なところは、英語なので分からんが、ここの
2ch より、世界的には .NET の将来についてははるかに悲観
的なんだね。驚いたよ。

53 :デフォルトの名無しさん:02/10/02 12:28
世界的に掲示板を荒らせと指示が出てるのか?

54 :Delフサギコ ◆VzDeLphI :02/10/02 14:42
 ミ,,゚Д゚彡 >>40のレス.ifのResultは、後で修正しとくとして激しくややこすぃことに・・・
>下手にLeadByteで切れている時に救いを入れない方がいいと思うけど。
上手に入れますた。
function AnsiStringPartsCompare_Base(const S1, S2: String;
S1Index, S2Index, CompareLength: Integer; IgnoreFlag: Boolean): Boolean;
var CompareFlag: longword;
begin
 if IgnoreFlag then begin  CompareFlag := NORM_IGNORECASE;
 end else begin  CompareFlag := 0; end;
 if not (CompareStringA(LOCALE_USER_DEFAULT, CompareFlag,
      PChar(S1) + S1Index - 1, CompareLength,
      PChar(S2) + S2Index - 1, CompareLength) = 2) then
 begin  Result := False; Exit; end;
 if not (ByteType(S1, S1Index)=ByteType(S2, S2Index)) then
 begin  Result := False; Exit; end;
 if ByteType(S2, S2Index+CompareLength-1)<>mbLeadByte then
 begin  Result := True; Exit; end;
 if ( S1Index+CompareLength <= Length(S1) )
 and ( S2Index+CompareLength <= Length(S2) ) then
 begin //LeadByteで終わる不正な文字列はここでカット
  if CompareStringA(LOCALE_USER_DEFAULT, CompareFlag,
     PChar(S1) + S1Index - 1 + CompareLength - 1, 2,
     PChar(S2) + S2Index - 1 + CompareLength - 1, 2) = 2 then
//LeadByteで切れている部分を拾うとこだけ=比較はまずいのでここで比較
  begin   Result := True; Exit;  end else
  begin   Result := False; Exit;  end;
 end else begin  Result := False; Exit; end;
end; //放置したい人は放置ればヨシ

55 :デルファイの名無しさん:02/10/02 16:04
>>41
ややこしいコードでアレですけど、ESPは切り替えてません。
2回目の呼びだし時、1回目のところまで巻き戻してるだけで。
ただ、この方法だと、コルーチンがResult=Falseで抜ける前に、
呼びだし側の関数を抜けられると、暴走しますが(w

全部インラインアセンブラで書いていいなら確実にできそうなんですよ。
Pascalコードを混ぜると、コンパイラがEBX, ESI, EDIが変化しない事を前提にコードを吐くので、
スタックフレームだけ切り替えても、変数の一部がついて来ない事に…。

56 :41=48:02/10/02 16:42
コルーチンを実現する方法は
1、スタックポインタの切替
2、実行保留時 開始時からのスタックエリアを保存して巻き戻す

のどちらかと思います。軽いのは1ですが、Windowsでは >>41の理由で汎用にはなりません

関数の入り口で spの位置を覚えておいて(というかbpに入ってるけど) 
EAXとか保存しなければいけないレジスタをスタックにプッシュした後、
覚えておいたspの位置から今のspの位置を別のメモリに保存 spを呼び出された状態にしてreturn

2度目以後の起動時は保存しておいた前回のスタックの状態に戻してという感じだけど

これだと、ローカル変数をポインタ操作してるコードが巧く動かない欠点が・・・まあしょうがないけど

57 :デルファイの名無しさん:02/10/02 17:10
成程…2の方法を取るとして、

function Coroutine(...): Boolean;
begin
 //EBX, ESI、EDI, を保存
 if 2回目以降 then
 begin
  Resote;
  //退避させたスタックとレジスタをコピーし直して戻す、Callbackが最後に呼ばれた位置へ移動
 end;
 Callback;
 //EBP=開始時のESPと現在のESPから、Coroutine内で使っているスタック量を割り出して退避
 //ついでにEBX, ESI, EDI, EBP, Callbackが呼ばれた位置も覚えておく
 //EBX, ESI, EDI, EBP, ESPを呼び出し前のところまで戻してeax = 1でret
 Result := False
end;

という感じですか…どのみちエントリポイントをアセンブラで書かないといけないようですね。
( Pascalだと呼びだし元のEBX, ESI, EDIを保存する前に使われてしまうし、
 最適化の状況でスタックフレームが作られたり作られなかったり→EBPが何処を指すか不定 )

これは確かに手間です…。
たとえ実現できたとしても、とても便利に使えるという感じじゃない。

58 :デルファイの名無しさん:02/10/02 23:37
試しにFiber使ってみましたが、すごくあっさりでした。
感じ、ConvertThreadToFiberは何度呼んでもいいみたいですし、
ConvertFiberToThreadは呼ばなくても支障無いのかな…?

59 :デフォルトの名無しさん:02/10/06 20:06
age!

60 :デフォルトの名無しさん:02/10/07 08:47
今話題のコルーチンやら、Fiberやらって何のことやらさっぱりナンデすが、
難に使うんでしょう

61 :デフォルトの名無しさん:02/10/07 09:01
>>60
今の主流はメインルーチン サブルーチン関係だけで組む手法だけど
互いにメインであり互いにサブであるコルーチン関係というのもありえる
アセンブラの時代には判り易く、そしてアセンブラで組めば軽い為に結構流行った。

これをメインルーチンサブルーチン関係の言語で表現すると、実行保留という格好になる

実行保留はサブルーチン側がメインルーチン側を呼び出してるかのように見える。
サブルーチン側はサーバ、メインルーチン側をクライアントと呼べば、
クライアントをサーバに変換する機能が、このコルーチンという事になる

例えば、圧縮->送信・・・受信->解凍という4機能があるとすると、
どれもクライアント=サブルーチンを呼び出すように作る方が楽であるが、
当然、双方クライアントでは接続出来ない。

そこで、実行保留を組み込めば 組み込んだ方をクライアントからサーバへ
簡単に変更出来る・・・・・ という感じです。 

62 :デフォルトの名無しさん:02/10/07 09:28
例えば、クライアント的に
THoge=class
function getByte:Char:virtual;
procedure putByte(c:Char):virtual;
procedure Exec;
end;
みたいなインターフェースだとします。
Execを呼び出せば、getByteして処理した結果をputByteするという仕様です
これでもgetByteもputByteもStremに接続するのなら問題ありません。
つまり相手がサーバなら問題ありません。
しかし、これをパイプ的に接続したい場合はどうでしょう?
同じようなインターフェースを持つ2つを接続したい場合は、一度全部を吐き出して
から接続するしかありません。

ここで、実行保留を使うと、getByteでExecの実行保留をして抜け出す事で
パイプとして相互に接続出来ます。
THageHoge=class (THoge)
procedure PutData(c:Char);
function getByte:Char:override;
procedure putByte(c:Char):override;
procedure Exec;
end;
 外からは PutData(c) を呼び出せば、保留されていた実行が再開し Execの
 getByteで再度実行保留が起こり、PutDataが帰ってくるわけです

63 :デフォルトの名無しさん:02/10/07 11:30
つまり不思議ルーチンということか

64 :デルファイの名無しさん:02/10/07 16:29
スレッドにしてしまうと同期が手間だし、時々イベントオブジェクトなどで通信すれば済む程度の疎な関係でも無いし…
って時に、コルーチンがあると手軽に書けてラッキーってとこです(w
(スレッドでも手間が増えるだけで同じことはできるので)

ところでFiberって、あるスレッドがFiber作って切り替えを繰り返していても、他のスレッドから見れば、
そのFiber群まとめて、ひとつのスレッドという解釈でいいのでしょうか?
それと、CreateFiberのスタックサイズって、0指定しても大丈夫でしょうか?

65 :デフォルトの名無しさん:02/10/07 18:48
>>64

0を指定すると、スタックは既定値でメインスレッドと同じサイズになります
という事なので0で大丈夫でしょう


66 :デフォルトの名無しさん:02/10/07 19:59
ヽ(`Д´)ノ ウワァァン!!わかんねーよぉ・・・・・・

67 :デフォルトの名無しさん:02/10/07 20:03
他の言語でコルーチンが実装されてるものとか、
実際の一連のコードってないっすか(´д`)

68 :デフォルトの名無しさん:02/10/08 09:31
じゃ具体的にする為に、こんなヘタレなクラスがあったとします。

type TCharPipe=Class
protected
 FisEOF:boolean;
public
 Result:Char;
 property isEOF:boolean read FisEOF;
 function get:Char;virtual;abstract ;
 procedure put(c:Char);virtual;abstract ;
 procedure BracketBeakUp(left,right:Char);
end;

procedure TCharPipe.BracketBeakUp(left, right: Char);
var c:Char;
begin
 while True do begin
  while True do begin
   c:=get;if isEOF then exit;
   if c=left then break;
  end;
  while True do begin
   c:=get;if isEOF then exit;
   if c=right then break;
   put(c);
  end;
 end;
end;
単に、getで順に読んで 左括弧から右括弧の範囲の文字なら put するだけのクラスです
get/putは純粋仮想メソッドなので誰か定義しろよという事です。

この put を外から呼び出す形にFiberで変更してみます

69 :デフォルトの名無しさん:02/10/08 09:32
コルーチンの実現に必要な構造体を定義します。

type TCoRtnGate = record
 Main:Pointer;
 Sub: Pointer;
 Result:Integer;
end;

>>68のクラスを継承します。
type TGetServ=Class(TCharPipe)
protected
 Gate:TCoRtnGate;
 p:PChar;
public
 function get:Char;override;
 procedure put(c:Char);override;
 constructor Create(s:string);
 function getInBracket:Char;
end;


70 :デフォルトの名無しさん:02/10/08 09:38
procedure DoFiberNotify( this:TGetServ);stdcall; //Fiberで呼び出す為にメソッドでなく関数スタイルに
begin
 this.BracketBeakUp('<','>'); //ここで本体を起動しておき
 this.put(#0); //抜けたらEOFマークを送ります
end;

constructor TGetServ.Create(s: string);
begin
 p:=PChar(s); //コンストラクタでは分解したい文字列を渡し
 Gate.Sub := Pointer(CreateFiber(0,@DoFiberNotify , self)); //それぞれMain/SubのFiberを定義します
 Gate.Main:= Pointer( ConvertThreadToFiber( self ) );
end;
function TGetServ.get: Char;
begin
 Result:=p^;
 FisEOF:= Result=#0;
 if not isEOF then inc(p);
end;
procedure TGetServ.put(c: Char); //このPutを外からのGetに変換します
begin
 Gate.Result:=Ord(c); //帰り値はFiberだと直接渡せないのでメモリを経由して渡します
 SwitchToFiber( Gate.Main ); //ここで 下の GetInに実行番地は移動します
end;
function TGetServ.getInBracket: Char; //Put
begin
 SwitchToFiber( Gate.Sub ); //ここで上のputに実行番地は移動します
 Result:=Char(Gate.Result);
end;

71 :デフォルトの名無しさん:02/10/08 09:40
動作テストルーチンです。
Memo1 Memo2とTMemoを2つ、ボタンを一つ配置して下さい ボタンイベントで

procedure TForm1.Button1Click(Sender: TObject);
var c:Char; s:String;
begin
 s:='';
 with TGetServ.Create(Memo1.Text) do try
 while true do begin
  c:=getInBracket; if c=#0 then break;
 s:=s+c;
 end;
 finally free;end;
 Memo2.Text:=s;
end;

トレースしてゆくと実行の様子が判ると思います

72 :68-71:02/10/08 12:56
Fiberを使った場合の後始末ですが

destructor TGetServ.Destroy; //override
begin
  DeleteFiber( Gate.Sub );
  inherited;
end;

ここで DeleteFiber( Gate.Main ); をやると、 ExitThread したのと同じになってしまうようです
じゃ ConvertThreadToFiber でたぶん確保されてる筈の内部状態はどうやって解放するの?とか
色々疑問はあります。
Fiberはどうも使い難いし、出来れば AllocateNewStackとかでスタック領域を確保させて貰って
自前でコルーチンを実装したいなあ

73 :デルファイの名無しさん:02/10/08 13:12
感じ、ConvertFiberToThreadというのがあるみたいですが、
勝手に呼んでしまうと、他の箇所でFiberが使われていたとき困るので、
むしろ放置して、スレッド終了時にOSが解放してくれる事を期待したほうがいい…の…か…な?

74 :win2000用 互換コード:02/10/08 13:33
procedure SwitchToFiber( p:Pointer);stdcall;
asm pop ebp //作られたスタックフレームを戻す
mov edx,fs:[$18] ; mov eax,[edx+$10] ; mov ecx,esp ;//EDX,EAX,ECXは壊れる
mov [eax+$b8],ebx ;
mov [eax+$b0],edi ;
mov [eax+$b4],esi ;
mov [eax+$c8],ebp ;
mov ebx,[esp]
add ecx,$08
mov [eax+$d8],ecx
mov [eax+$cc],ebx
mov ecx,[edx]
mov ebx,[edx+$08]
mov [eax+$04],ecx
mov [eax+$0c],ebx
mov eax,[esp+$04]
mov ecx,[eax+$04]
mov ebx,[eax+$08]
mov esi,[eax+$0c]
mov edi,[eax+$10]
mov [edx],ecx
mov [edx+$04],ebx
mov [edx+$08],esi
mov [edx+$00000e0c],edi
mov [edx+$10],eax
mov edi,[eax+$b0]
mov esi,[eax+$b4]
mov ebp,[eax+$c8]
mov ebx,[eax+$b8]
mov esp,[eax+$d8]
push [eax+$cc];
ret; end;

75 :デルファイの名無しさん:02/10/08 14:44
SwitchToFiberで何もしていないようなのに、
例外発生時、きちんと現在のFiberの例外ハンドラが呼ばれるのが不思議。
(例外ハンドラはfs:[0]に格納されている筈…>>74のコードでもいじってませんよね?)

76 :デフォルトの名無しさん:02/10/08 15:57
>>73さん

ConvertFiberToThread って Included in Windows XP and Windows .NET Server.
なんでうちの環境では試せません。

それに、引数が無いからどれが解放されるのか判らないような気がします。


77 :デフォルトの名無しさん:02/10/08 16:11
>>75
 でも、
>>68の BracketBeakUp メソッド内部で例外を投げると、キャッチできなくなりますよ


78 :デルファイの名無しさん:02/10/08 22:45
>>76
実はうちでも試せません(爆
( 引数無しということは、ConvertToThreadToFiberを呼んだスレッドと
 同じスレッドから呼ぶべきなんだとは思います。一応 )

>>77
tryで囲っていなければそうなるっぽいです。
Fiberの内外それぞれにtryを書いて、色々Switchして試したところ、
確実に現Fiberの例外ハンドラに飛んでいるようなので、何故かな〜?と。

79 :デフォルトの名無しさん:02/10/09 09:27
>>78
ああ スイッチ時にFS:[0] を書き換えている様子が無いのに、どうして例外がちゃんと
チャッチ出来るのかって事ですよね?
不思議ですね。


しかし、
function GetFP0:Integer;
asm
mov eax,fs:[0]
end;
として、スイッチの前後で確認すると、しっかりと切り替わっています。
考えられるのは、もしかして FS:[0]のアクセスはOSの例外で処理されていて
その時のESPの値を見て実際のページを切り替えているんじゃないでしょうか?

80 :デフォルトの名無しさん:02/10/12 11:36
【2ちゃんねる全AA人気トーナメント】
http://www.geocities.co.jp/SiliconValley-Oakland/2697/2chaa.htm

先日、激戦を制して得票数1位で予選を通過したフサギコだけど、
本戦トーナメントで、またもや厳しい山に入ってしまいますた。
(詳しくは、上のリンク先のトーナメント表を見てほすぃ。)

しかしBブロック決勝で勝てば、優勝も夢ではないので、
再びみんなの力を結集して勝ち抜いていくぞ、ゴラァ。


明日、10月13日(日)が本戦1回戦の投票だから。
投票は13日、0時0分〜23時0分まで!


     ∧,,∧ ビシイイイ!
    ミ,,゚Д゚ミ   
   ⊂   ○m  投票は忘れずにっっ!! 
    ミ、,, ミ,
     .しヾJ


81 :デフォルトの名無しさん:02/10/12 17:35
俺はフサギコvsモナーになったらモナーに投票するね

82 :デフォルトの名無しさん:02/10/12 21:10
>>81

あ、そっ。それで?

83 :デフォルトの名無しさん:02/10/12 21:36
>>82
怒るなよ

84 :デフォルトの名無しさん:02/10/13 00:16
『2ch全AA人気トーナメント』の投票が行われています。
http://www.geocities.co.jp/SiliconValley-Oakland/2697/2chaa.htm

今日13日は、フサギコの出場する本戦1回戦の日です。
相手は相当強いが、みんなの力を一つにして戦い抜くぞ!ゴラァ

【コード発行所】
http://www.vote.flets.org/code/2chaa/code.cgi
ここで投票コードを取得して、

【投票スレッド】
http://live.2ch.net/test/read.cgi/vote/1034395709/l50
上が満杯だったらこっちへ
http://live.2ch.net/test/read.cgi/vote/1034428275/l50

ここに投票コードを1行目に書いてから、
<<フサギコ>>と書くと有効投票になります。

※注意※ <<キャラ名>>(←半角の不等号2コ)の形式じゃないと無効票だゴラァ

また、常時接続の場合、ID重複の恐れがあるので、
その旨を投票時に宣言します。(例:当方ADSL など)

     ∧,,∧ クワワッ!!
    ミ,゚Д゚,彡   みんなの力を貸してホスィ!
    (ミ   ミ)
     ミ   ミ
     ∪ ∪



85 :デフォルトの名無しさん:02/10/13 00:19
ウザ伊予

86 :デフォルトの名無しさん:02/10/23 22:09
Delphi7はハズレだったし、ガリレオネタでやっていくか。

87 :デフォルトの名無しさん:02/10/23 22:16
Del and .NET = nil

88 :デフォルトの名無しさん:02/10/26 20:38
人、い・な・い・ね。

89 :デフォルトの名無しさん:02/10/26 21:13
.NET からサァーっと人が退いていく。

.NET はもうだめだね。

90 :デフォルトの名無しさん:02/10/27 14:07
まあ VS.NET2002 はVS.NETという商品が売れたってだけの意味しかないからね
VS.Everet の発売スケジュールを遅らせて
1、C#で直接ネイテブアプリが作れる
2、マネージコードをXBOXで動かせる
3、CLI/C#特許について抹消する

くらいやれば、盛り返すかもしれないな

91 :デフォルトの名無しさん:02/10/27 14:17
Delphi居残り組みには何も期待していないから
もう黙ってていいよ。

92 :デフォルトの名無しさん:02/10/27 14:22
で C# 転向組とかの人はどうしてるんですか?
来年の為に.NET1.1のお勉強ですか?

93 :デフォルトの名無しさん:02/11/02 02:39
>>92

>C# 転向組

転向したワケじゃないだろ、C# もやっているというだけで。
.NET のバージョンが変わっても、ライブラリの変更はあるだろうが
C# は標準化に縛られてるので文法が変更されることはないよ。

94 :デフォルトの名無しさん:02/11/02 03:08
>>93
標準化仕様があるだけで、それに縛られることはないよ。
新しい仕様を作ってまた ISO に提出すれば済む話。

95 :デフォルトの名無しさん:02/11/02 08:19
特許のおかげで誰も使えない標準化が標準化かどうかは別にして
準拠しなくても誰も構わないし、準拠してるかどうかのテストさえしないだろう

96 :デフォルトの名無しさん:02/11/02 08:23
>>93
来年は大幅な文法変化はない予定らしいけど、次のWhidbeyでは、
C#/VB/JScriptに大幅な改革をするとロードマップ上に予定がありますがな

97 :デフォルトの名無しさん:02/11/02 11:24
Delphi7では全然進化がないことを批判する一方で
.NETの仕様変更を批判するというDel厨の心理がわからん。

98 :デフォルトの名無しさん:02/11/02 12:34
>>97
批判する人は一人じゃないからさ。

99 :デフォルトの名無しさん:02/11/02 14:21
>>97
Delphiに期待してる進化は、当然過去互換の上に進化すると予測しているからでしょ。
それに、作った実行ファイルはネイテブだから環境が変化しても問題ない。

ところが、
・M$の改変とは、互換を捨てながらだったという事
・C#は完全に .NETランタイムの籠の中でしか動かないという事
 そして、来年は.NET1.1 とロードマップ上でも毎年ランタイムが更新される事が予定されている。

となると、C#で作ったアプリは、
1、毎年のように実行ファイルを作り直すか
2、作った時のランタイムとペアで用意させるか
 どちらかを選ぶ事を強いられる事になる。

これを批判しないでいいの?

100 :デフォルトの名無しさん:02/11/02 15:40
.NET駄目じゃん

101 :デフォルトの名無しさん:02/11/02 22:05
>> 毎年ランタイムが更新される事が予定

で、だから旧バージョンでコンパイルした IL が動かないってどうして言えるの?

102 :デフォルトの名無しさん:02/11/03 01:46
>>101
誰も動かないなんて言ってません。
動かなくなることを期待しているだけです。

103 :デフォルトの名無しさん:02/11/03 02:22
>>101
? 動かないように設定してるからでしょ???

104 :デフォルトの名無しさん:02/11/03 22:30
.NET saiko-!!

105 :デフォルトの名無しさん:02/11/05 21:45
.NET Framework SDKインストしようとすると
Microsoft Data Access Components 2.7がインストールされてねえぞゴルァ!!

つうメッセージが出てくるんですが
何回Microsoft Data Access Components 2.7インストしても
.NET Framework SDKインストしようとすると
Microsoft Data Access Components 2.7がインストールされてねえぞゴルァ!!
のメッセージが出てくる

MDAC2.7入れた後にリブートしてもダメ
なんで?

106 :デフォルトの名無しさん:02/11/05 22:11
なんでだろうね。

107 :105:02/11/05 22:36
スマソ、自己解決した
よく分からんが海外版の2.7入れてた模様、ファイル名一緒だがサイズが微妙に違う
mdac_typ.exe 5141kb(usでダウソしたやつ)
mdac_typ.exe 5166kb(japanでダウソしたやつ)

108 :マイクロソフツ:02/11/05 22:58
不正ユーザーの.NETインストールは弾く仕掛けになっております。


109 :デフォルトの名無しさん:02/11/16 21:08
そうたぶん同じ人。 ヒマが出来たらプリプロセッサみたいな格好で作ってみたいな

110 :デフォルトの名無しさん:02/12/04 19:31
%82%BF%82%E5%82%C1%82%BF%83e%83X%83g

111 :デフォルトの名無しさん:02/12/04 19:33
ちょっちテスト

112 :デフォルトの名無しさん:02/12/04 19:34
もう一度テスト
もう一度テスト

113 :デフォルトの名無しさん:02/12/04 19:44
テスト
テスト

114 :デフォルトの名無しさん:02/12/04 19:44
テスト

115 :デフォルトの名無しさん:02/12/08 02:36


116 :デフォルトの名無しさん:02/12/08 02:37


117 :デフォルトの名無しさん:02/12/08 02:37


118 :デフォルトの名無しさん:02/12/08 02:52
すみません。
.NETって結局どういうものか猿でもわかるように教えていただけませんか。

119 :デフォルトの名無しさん:02/12/08 12:05
DLLの塊。

120 :デフォルトの名無しさん:02/12/08 15:49
>>119
どうもです。
コンパイルすると中間言語のバイナリができて、それをVMで実行するモノという認識は正しいのでしょうか。
VMをプラットフォーム毎に用意することで家電も牛耳る、ということで。
だとするとJavaそのもののような気もするのですが。

121 :デフォルトの名無しさん:02/12/08 17:29
そういや、.NETのプログラムって、mscore.dllを動的リンクしてるだけの
普通のプログラムだよね?
それとも、何かOSが特別扱いしてくれるの?

122 :デフォルトの名無しさん:02/12/08 18:17
>>121
XP以降はしてるよ

123 :デフォルトの名無しさん:02/12/08 19:56
しないよ

124 :デフォルトの名無しさん:02/12/09 00:51
>>120
B/G「Javaって儲かってるよね?」
社員「そうみたいですね」
B/G「ウチはSunと喧嘩しちゃったからなぁ何とかならないものか」
社員「じゃ、ウチで分捕ってしまえば良いんじゃないですか?」
B/G「それもそうだな」
社員「でもVBやVCベースにしたら余り話題性ありませんよ」
B/G「ヘジがいるだろう、あいつになんか作らせろ」
社員「わかりました」

125 :デフォルトの名無しさん:02/12/09 03:41
>> だとするとJavaそのもののような気もするのですが。

OSのメーカが作ってる、ということが違うのよ。
将来のOSの標準仕様にすることを目論んでる。
一億総Java化というか、VB化というか。
でも、真の目的は Windows への囲い込み。
クロスプラットフォームなんか、だれも信じちゃいない。

126 :デフォルトの名無しさん:02/12/09 17:50
メリットとしてはVBとMFCとC#が同じランタイムで動く、という事くらいか。
誰かC++→Java中間言語のコンパイラ作ったら確実に売れるぞ、こりゃ。

127 :デフォルトの名無しさん:02/12/10 23:01
共通ランタイムを使用すると最適化が弱いとか、速度が遅いとかという文句も言えなくなるしな。

128 :デフォルトの名無しさん:02/12/11 12:15
オブジェクト指向のフレームワークがOSレベルで提供されるようになった
だけでもいいんじゃないの?ヘジはOWL<|--VCL<|--WFCと経験も多いからねえ。

129 :デフォルトの名無しさん:02/12/11 20:04
そうなんだけど、結局どの言語もフレームワークを逸脱できないんだよね。
あたりまえだが。

C#やらVB.netやらJ#やら色々と言語が使えるとは言うものの、ほぼC#の機能の
見た目を変えただけだし。
言語仕様的に異色な.net用言語ってある?

130 :デフォルトの名無しさん:02/12/11 21:37
全面的に異色なのはHaskell.NETかな
機能だけで言うならDelphi.NETのclass helperとかもどう?

…どちらも、.NETである必要性は無いわけだが

131 :デフォルトの名無しさん:02/12/12 00:21
>> …どちらも、.NETである必要性は無いわけだが

わはははははは、まぁーったくそうだよね。

「オブジェクト指向のフレームワークがOSレベルで提供されるようになった」って
みんなで、旧VB のランタイムを使うようになったようなんもんだろ。
っていうか、いままで、VCL 以外にろくなライブラリがなかったのよねぇ。
共通ライブラリつかって楽しいかい? プログラミングがつまらなくなったよ。

132 :デフォルトの名無しさん:02/12/12 05:03
>>131
じゃ引退するんだな。
早いほうが良いぞ。

133 :デフォルトの名無しさん:02/12/12 11:39
>>132

.NET はアホの巣窟です。ってか、同じランタイムを色々な言語からつついて
きゃーきゃー言ってる猿みたいなもんですね。猿の仲間になるくらいなら
引退します。

134 :デフォルトの名無しさん:02/12/12 12:05
その前に Java でいっぱい稼がなくっちゃ

135 :デフォルトの名無しさん:02/12/13 00:21
>>134
今更Javaで稼げるかよ!
そう思っている時点で駄目プログラマ。

136 :デフォルトの名無しさん:02/12/13 09:18
ネタにマジレス (・∀・)カコワルイ!

137 :デフォルトの名無しさん:02/12/13 11:55
>>136
ここ覗いている奴のレベルが低いので本気でそう思ってそうだから、ネタじゃなさそうな気がしてならない。

138 :デフォルトの名無しさん:02/12/13 12:14
>>135
だってドトネトじゃまだ稼げ無いじゃん。

139 :デフォルトの名無しさん:02/12/13 15:31
というか将来稼げるかどうかも疑問だな。

140 :デフォルトの名無しさん:02/12/14 20:02
>>128
>ヘジはOWL<|--VCL<|--WFCと経験も多いからねえ。

OWL は彼は手がけていませんよ。あれは Mac Pascal をやっていた連中がスピンアウトして
作った物。Think Pascal/Mac の TCL (Think Class Library) の構造をパクり、TurboVisoin での
ノウハウを持ってきた。

VCL も彼の物ではない。

彼は良いコンパイラ書きであり、言語の拡張方法に長けたアーキテクトである。
しかし、VCL も Delphi も、そして C# も WCL も .NET も、かれのアイデアだけで
できた物ではない。

それこそ、Java や C++ や Delphi から、いいとこ取りをして、うまく融合させたわけ。
そのまとめ方を芸術的と見るべきだが、どこから見ても彼の独創から生まれたとはいえまい。




141 :デフォルトの名無しさん:02/12/15 00:31
>そのまとめ方を芸術的と見るべきだが、どこから見ても彼の独創から生まれたとはいえまい。

まったく同意。かれの名前を出して神みたいに言うやつがいるが
買いかぶりすぎ。非常に優れた方であるのはそのとおりだが。

142 :デフォルトの名無しさん:02/12/15 00:44
お前らにヘジタンの何が分かるというのだーーーーー!!(@Д@)

143 :デフォルトの名無しさん:02/12/15 03:42
Linuxはリーヌス・トーヴァルズなくしては成立しなかっただろう。
それと同じでDelphiやC#もヘジなくしては成立しなかったと思うぞ。

お前らやっかみもほどほどにしないと・・・

144 :デフォルトの名無しさん:02/12/15 04:01
あれ?ヘジってVCLもやってなかったっけ?やってたってなんかで見たような。。
VCLのDB関連はやってないみたいだけど。


145 :デフォルトの名無しさん:02/12/15 05:09
>>142
>>143
>>144

お前らに屁痔タンの何が分かるというのだ!
金につられてMSに行くようなひとである、というのは事実だ。

146 :デフォルトの名無しさん:02/12/15 05:10
事実だ

147 :デフォルトの名無しさん:02/12/15 10:59
でも、ヘジがいなくなってから某の勢いがなくなったのも事実だがな。(嘲笑激藁

148 :デフォルトの名無しさん:02/12/15 11:04
>>147
お、禿っち久しぶり。

149 :デフォルトの名無しさん:02/12/15 11:24
>(嘲笑激藁
ア侈タタタタ


150 :デフォルトの名無しさん:02/12/15 11:25
>>149
なんか新入りが過剰反応してるな。

151 :デフォルトの名無しさん:02/12/15 12:57
>(嘲笑激藁
ネタという自己申告というか、免罪符というか。

152 :デフォルトの名無しさん:02/12/15 23:00
>>(嘲笑激藁
ネタという自己申告というか、アホの証明というか。

153 :デフォルトの名無しさん:02/12/17 11:44
複数形は
ドットネッツですか?
ドッツネッツですか?
ドッツネットですか?

154 :デフォルトの名無しさん:02/12/17 14:49
ゲイツネットです

155 :デフォルトの名無しさん:02/12/17 16:19
省略形はMSN

156 :デフォルトの名無しさん:02/12/22 02:06
age

157 :デフォルトの名無しさん:02/12/28 11:22
せっかく .NET #1 PATH to .NET CD きたので あげます。

.NET の話はこちらでどうぞ

158 :デフォルトの名無しさん:02/12/28 11:36
>>157
根っこ to. NET CD?

159 :デフォルトの名無しさん:02/12/28 14:06
.NET に少しは期待してたんだけどなあ・・・

 const で指定した変数の条件で分岐したコードが、実行時再コンパイルを指示したら
 動的に自動的に分岐を消してくれるとかさ、

 LISPみたいに自分でコードを吐きながらコンパイルして実行するとかさ

ゲームのエミュレータで 実行コード吐きながらなんてのが簡単に作れたりさあ・・・

160 :デフォルトの名無しさん:02/12/28 14:50
>>159
CodeDom、Refrection.Emit

161 :デフォルトの名無しさん:02/12/28 20:48
>>159
.NET SDKにLISPのコンパイラのサンプルが付いてるから見てみそ

162 :デフォルトの名無しさん:02/12/29 08:46
TV CM
企業と成長を結ぶ .NET で生まれ変われます・・・・


そして誰も居なくなった

163 :デフォルトの名無しさん:02/12/29 12:28
最近のM$は抽象的な宣伝ばかりが目立つ。
俺は「卑怯だが金と技術のある企業」だと思っていたが、
最近のM$は技術もダメだな。

164 :デフォルトの名無しさん:02/12/29 14:19
ASMからC CからC++へみたいな、飛躍が欲しいよな

もっとこう、動的ジェネリックな面を強調した .NET でなけりゃダメで、しかも効率が1桁あがるような何かを誰か出せ!

165 :デフォルトの名無しさん:02/12/29 15:19
「金で技術を買ってくる企業」
だな。


166 :デフォルトの名無しさん:02/12/29 16:06
でも、自民党と読売巨人軍の強い世の中は一向に変わらんのよ。

167 :デフォルトの名無しさん:02/12/29 18:25
巨人強いのか?

168 :デフォルトの名無しさん:02/12/29 18:36
>>167
今年の日本一

169 :デフォルトの名無しさん:02/12/29 19:02
金と数にものを言わせるという点ではM$も似たようなもの。

170 :デフォルトの名無しさん:02/12/31 15:21
あげ

171 :デフォルトの名無しさん:02/12/31 15:50
埋めるか

172 :デフォルトの名無しさん:03/01/01 00:55
今気づいたけど、ニセスレか。ここは(藁

173 :Delフサギコ ◆A6VzDeLphI :03/01/01 03:16
    おめ      ___________
    ∧,,∧     /
   ミ,,゚Д゚彡 <  Delphiが来年もちゃんと
   ミ つ日   \_ありますように。
 〜ミ,,,,,, ,,ミ

174 :デフォルトの名無しさん:03/01/01 17:07
>>173
2004年?

175 :デフォルトの名無しさん:03/01/03 11:55
Delphi .NET Preview Update2 って、海の向こうではクリスマス前に出たんだね...
悲しいな。この CD...

176 :デフォルトの名無しさん:03/01/03 12:39
来年には
「Turbo Delphi Enterprise Architect Suite Relese 1 with Galileo and Visual TASM」
が発売されます。

177 :デフォルトの名無しさん:03/01/03 12:51
>>176
2004年?


178 :デフォルトの名無しさん:03/01/03 12:55
>Visual TASM
ちょっと( ゚д゚)ホスィ…

179 :デフォルトの名無しさん:03/01/03 13:12
.NET 用のコードをはくアセンブラ?
... 面白いかもしれない。

180 :デフォルトの名無しさん:03/01/03 15:20
.NET x86 68k arm mips の全ての機械語を吐いたらすごいぞ

181 :デフォルトの名無しさん:03/01/03 19:24
まずは Delphi のインラインアセンブラがそのまま通るとうれしい。
性能は落ちてもいいから。x86 の時のレジスタ渡し規則を踏襲して、仮想的な
レジスタを作ってくれれば十分。

で、ついでに異なる石のアセンブラまでいっちゃったらいいかもね。

Intel CPU の馬力に頼って面白いことできそう。

182 :デフォルトの名無しさん:03/01/03 23:34
>Intel CPU の馬力に頼って面白いことできそう。

アホ。
x86CPUしかサポートしないのにクロスプラットフォームを名乗れるか。






現実はそれ以上にへなちょこだけどな。

183 :デフォルトの名無しさん:03/01/03 23:38
MSはすべての.NET対応アプリがセキュアかつポータブルでなくては
いけないなんていってないだろ。


184 :デフォルトの名無しさん:03/01/04 01:16
.NET は x86 しか視野に入れてませんが何か?

185 :デフォルトの名無しさん:03/01/04 16:50
x86しかサポートしないのにMSILを持ち出したのは
64bit移行も視野に入れてのことで、
.NETはIA-64も視野に入っていますが何か?
AMDがMSに有利な証言をしたことで
x86-64も視野に入れてもらっていますが何か?
将来的にはOS Xサポートも視野に入っていて
実際にRotorはPPCでJIT動作しますが何か?

186 :デフォルトの名無しさん:03/01/04 19:08
>>185
ホント頑張ってるよね。
でも、そんなにガンバルより、オープン陣営の力ももっと借りたらいいんじゃないの?
頑張ってるオープンを特許だなんだと潰しちゃあねえ。
嫌われても、やっぱり金かい?

187 :デフォルトの名無しさん:03/01/06 01:10
>>186
お前はM$に騙されてる。

188 :デフォルトの名無しさん:03/01/08 15:56
Microsoftの製品の使用許諾ってたまに、

>本ソフトウェアに、JAVAでかかれたプログラムのサポートが含まれていることがあります。
>JAVAテクノロジーは、不具合に対して自動的に対応できる機能または性質をもつものではなく、
>万一不具合があった場合に、死亡、人身傷害、もしくは重大な物損または環境破壊を直接もたらす
>可能性のある、原子力発電所の操業、航空機の航行、通信システム、航空交通管制、生命維持装置、
>兵器システムなどの危険な環境におけるオンライン制御装置として設計、製造されたものではなく、
>そのために使用、または販売されるものではありません。

ていうのが含まれているけど、.NET対応製品にも「本ソフトウェアに、C#でかかれた…」みたいな記述があるの?
ないとすると、そもそも「不具合に対して自動的に対応できる機能」ってなんだろう?

189 :IP記録実験:03/01/08 22:23
IP記録実験
http://qb.2ch.net/test/read.cgi/accuse/1042013605/

1 名前:ひろゆき ◆3SHRUNYAXA @どうやら管理人 ★ 投稿日:03/01/08 17:13 ID:???
そんなわけで、qbサーバでIPの記録実験をはじめましたー。

27 名前:心得をよく読みましょう 投稿日:03/01/08 17:20 ID:yL/kYdMc
SETTING.TXT管轄でないということは全鯖導入を視野に、か?

38 名前:ひろゆき ◆3SHRUNYAXA 投稿日:03/01/08 17:22 ID:rLfxQ17l
>>27
鋭いです。

73 名前:ひろゆき ◆3SHRUNYAXA 投稿日:03/01/08 17:27 ID:rLfxQ17l
>ところで、IPが抜かれて何か今までと変わることってあるのでしょうか?
・今までより、サーバが重くなる。
・裁判所や警察からの照会があった場合にはIPを提出することがある。

190 :デフォルトの名無しさん:03/01/09 00:40
>>67
一般利用者に見せる意味はないから見れるとこには置かない

ちんこちんこ

191 :デフォルトの名無しさん:03/01/09 01:01
>>310
ワラタ

192 :デフォルトの名無しさん:03/01/09 01:21
>>421にツッコミ入れた人は包茎

193 :デフォルトの名無しさん:03/01/09 01:33
>>191
>>192
最近そういう煽りが流行ってるのか?

194 :デフォルトの名無しさん:03/01/09 01:33
>>534
BG=Ban Gohan=晩御飯=夜=夜勤

夜勤!?

195 :IP記録実験:03/01/09 02:07
IP記録実験
http://qb.2ch.net/test/read.cgi/accuse/1042013605/

1 名前:ひろゆき ◆3SHRUNYAXA @どうやら管理人 ★ 投稿日:03/01/08 17:13 ID:???
そんなわけで、qbサーバでIPの記録実験をはじめましたー。

27 名前:心得をよく読みましょう 投稿日:03/01/08 17:20 ID:yL/kYdMc
SETTING.TXT管轄でないということは全鯖導入を視野に、か?

38 名前:ひろゆき ◆3SHRUNYAXA 投稿日:03/01/08 17:22 ID:rLfxQ17l
>>27
鋭いです。

73 名前:ひろゆき ◆3SHRUNYAXA 投稿日:03/01/08 17:27 ID:rLfxQ17l
>ところで、IPが抜かれて何か今までと変わることってあるのでしょうか?
・今までより、サーバが重くなる。
・裁判所や警察からの照会があった場合にはIPを提出することがある。

196 :デフォルトの名無しさん:03/01/09 02:08
ひろゆきのレイプ予告したらIP晒されちゃうかな?

197 :デフォルトの名無しさん:03/01/09 02:45
>>53
いいんだよ。気にしないで。
まさゆきが嬉しそうだから。

286 名前:ひろゆき ?3SHRUNYAXA 投稿日:03/01/08 17:56 ID:MVMcp6tb
     ♪___
   ♪  ヽ=@=ノ¶  タイーホ
     ヽ( ・∀・)ノ   タイーホ
         (  へ)    ミンナ タイーホ
          く       タイーホ
   ♪  ___
     ♪ヽ=@=ノ ¶ タイーホ イッテヨシ
      ヽ(・∀・ )ノ  タイーホ
         (へ  )    オマエラ モウ
             >    ダメポ



198 :デフォルトの名無しさん:03/01/09 03:31
P2Pに抱いている幻想って、いつかは目が覚めるものなのかなぁ。
それとも現実になる?

199 :デフォルトの名無しさん:03/01/09 12:25
利用者からIP見れないとしても、学校や会社から書き込む香具師は減りそうですな

かぁ?

200 :デフォルトの名無しさん:03/01/09 23:58
qb
削除整理、削除要請、削除議論、批判要望

live2
ニュース速報

tmp
ニュース極東、バカニュース、ちくり裏事情、違反の潰し方、薬・違法
少年犯罪、政治思想、ゴーマニズム、ペット苦手、download
ロビー、なんでもあり、厨房、最悪、学歴、人権問題

201 :デフォルトの名無しさん:03/01/10 08:51
弱虫と優しさの協奏曲。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。





















ガンバレオマエラ

202 :デフォルトの名無しさん:03/01/10 10:11
こんな時間に俺たちは何をやっているのだろう

203 :デフォルトの名無しさん:03/01/10 10:51
>>82
>>67の判決文は、第3 当裁判所の判断に書いてあるやつっすよ。

204 :デフォルトの名無しさん:03/01/10 11:20




糞スレの皆様に、岡田克彦ファンクラブからの新春のご案内です。氏のホームページ(下記URL)
掲載の「朗読とピアノのための、ロバート・マンチ作、メルヘン『Love You forever』
OP.87」は氏の最近の傑作で、平野啓子女史の朗読と氏作曲のピアノ曲自作自演とのデュオは素晴らしく
、氏の優しい人間性の最もよく出ています。素直に聴いて、新しい楽しい毒舌エッセイと共にお楽しみ下さい。
(URL;http://www.geocities.co.jp/MusicHall-Horn/1091/


205 :デフォルトの名無しさん:03/01/10 12:07
>>360
ギクッ
せいぜい匿名で無償労力の提供しかできませんです。はい。削除基準がどうたらいっても邪魔でしょうし。
ごめんなさいごめんなさい。

言い訳すればね、2ちゃんの力はその匿名労力をいかに吸い上げるかなのだと、
みんなはずっと言ってきたと思うのよ。それは信じるから、やるよ。
客観的価値を最終的に形にするときに主観が入る、ということから意図的に目を
そらせている人ばかりだな、と思いつつ。

>>361
Σ(゚Д゚|||ズガーン!!!

206 :デフォルトの名無しさん:03/01/10 12:35
>>847

ススキノでは チンコの被害にあったことはありません 

207 :デフォルトの名無しさん:03/01/10 13:28
yahoo掲示板専用ブラウザを誰かが作ってくれたらそっちに移動します

208 :デフォルトの名無しさん:03/01/10 15:50
щ(゚Д゚щ)

209 :デフォルトの名無しさん:03/01/10 17:17
言論の自由はどこに逝ったんだ?

210 :デフォルトの名無しさん:03/01/10 23:38
アクセスが増える訳でないから鯖が重くなることはないんでないの?

211 :デフォルトの名無しさん:03/01/10 23:46
うんこみたいな

212 :デフォルトの名無しさん:03/01/11 01:01
俺は晒す自身がないな。。。

213 :デフォルトの名無しさん:03/01/11 01:12
言っとくけど禿げしく既出。

214 :デフォルトの名無しさん:03/01/11 10:33
つっこみでました

215 :デフォルトの名無しさん:03/01/11 11:07
======2==C==H======================================================

         2ちゃんねるのお勧めな話題と
     ネットでの面白い出来事を配送したいと思ってます。。。

===============================読者数: 139038人 発行日:2003/1/10

なにやら、連日メルマガだしてるひろゆきです。

そんなわけで、ログ記録実験ですが、いちいちサーバ指定するのが面倒なので、
全部のサーバに入れてみました。

重くなって落ちたりしてもご愛嬌ってことで。。。

んじゃ!

────────────────────────Age2ch─
■この書き込みは、Age2chを使って配信されています。
────────────────────────────
Keep your thread alive !
http://pc3.2ch.net/test/read.cgi/software/1041952901/l50
────────────────────────────

216 :デフォルトの名無しさん:03/01/11 12:35
今1chがIP取らない匿名にしたら勝てる

217 :デフォルトの名無しさん:03/01/11 13:35
実は2チャン閉鎖が真の目標とか。

218 :デフォルトの名無しさん:03/01/11 13:59
( ´ァョ)ノ< エセリーも正月の早朝に走り出そうとしたらカチカチで死ぬ思いしますた。        あれはびびったのれす。

219 :デフォルトの名無しさん:03/01/11 15:41
省略形はMSN

220 :デフォルトの名無しさん:03/01/11 16:48

そうだ!
みんなでスラド〜(ry


221 :デフォルトの名無しさん:03/01/11 16:55
ウェー ハッハッハ  PART 2
http://live2.2ch.net/test/read.cgi/news/1041867442/

222 :デフォルトの名無しさん:03/01/11 23:41
(^^)

223 :デフォルトの名無しさん:03/01/11 23:51
童貞、当たってたんだ・・・・・・

224 :デフォルトの名無しさん:03/01/12 02:30



           ・・・2ちゃんねるの時代も終わりに近づいてる・・・



225 :デフォルトの名無しさん:03/01/12 02:36
ご愛嬌・・・
被害の大きさに差がありそうだけども。
誹謗中傷一番垂れ流しってどこかねぇ?

226 :デフォルトの名無しさん:03/01/12 10:05
「西村さんに何かあった時は、『2ちゃんねる』はどうなるのですか?」
との質問には
「今月10月分はもう支払いが済んでいますので大丈夫ですが、
もしも何かがあったなら、潰れてしまう」
とおっしゃっていました。

大阪大学大学院国際公共政策研究科
「2ちゃんねる」西村博之氏の講演
写真あり
http://www.dryamasaki.com/PhotoJ/2002/OSIPP2/p1.html


227 :デフォルトの名無しさん:03/01/12 20:51
ひろゆきが守ったとか見限ったとかアホか。
ひろゆきはお前たちの親でも友達でもない、ただの他人じゃないか。

228 :デフォルトの名無しさん:03/01/12 20:53
なら裁判に勝てる方法を理論的かつ具体的に示せよタコ。と釣(ry
んでモマエが弁護しろ。てかもう無理か?上告の棄却とかはもうでたの?

229 :デフォルトの名無しさん:03/01/12 21:02
おつかれーしょん>ばんそこう

230 :山崎渉:03/01/13 18:41
(^^)

231 :Delフサギコ ◆A6VzDeLphI :03/01/14 09:43
  ∧,,∧  今回のDelマガに
 ミ,,゚Д゚ミ  Delphi.NETの濃い記事が出てますね。
 ミ∪ つ  
     出来はよさそうだけど、実際使われるのかな…

232 :マジレス…:03/01/15 00:05
デッ… デルマガ… 読んだこと無い…
つーか、見たこと無い…
どっ… どこにあるの…?
教えてデルファイの神様♥
大きい書店見かけると、大抵チェックするんだがなー?

こないだ古本屋でデルファイの本、2冊も見つけて「これはオレに買え!
と言ってるんだ」と思いつつ、オレが買わないと誰も買わないとも思って
両方買った。表紙には「Delphi2.0」と書いてありましたとさ。
めでたしめでたし。

233 :デフォルトの名無しさん:03/01/15 12:20
>>232
香川限定だが、宮脇書店ブックセンターにバックナンバーごと置いてあるぞ。

234 :232:03/01/15 23:30
>>233
そっかー…。あるとこにはあるんだなぁ…。香川…。
関東では無いのだろうか?(藁

235 :デフォルトの名無しさん:03/01/16 00:03
サイトに売ってる本屋でてたと思うよ?
大分前に見たので今あるかはわかんないけどー

236 :232,234:03/01/16 00:06
>>235
そっかー。サンクス。「存在している」ことは確認出来ますた(藁
幻のデルマガに出会えるのはいつの日か!?

237 :デフォルトの名無しさん:03/01/16 01:12
でもDelマガってもの凄く紙質悪いよ。
マジで同人誌みたいなんだよな〜
そこがいいところでもあるんだけど

238 :山崎渉:03/01/16 03:03
(^^)

239 :デフォルトの名無しさん:03/01/16 08:59
>237
俺は公式サイトの通販で買ったから、届いたときは正直びびったね、あれには

最近買ってないなあ。またまとめてバックナンバー買うか・・・
読む暇ねえよヽ(`Д´)ノ ウワァァン

240 :Delフサギコ ◆A6VzDeLphI :03/01/16 11:48
  ∧,,∧  神保町の酸性堂と
 ミ,,゚Д゚彡 所詮グラソデには置いてます。
 ミ∪ ∪
 談話室なので余談
    とある日の酸性堂の4Fのねーちゃんが
     びっくりするほどかわいかったので
      釘付けになってしまいますた。
     次いったら、いませんでした...鬱

241 :デフォルトの名無しさん:03/01/16 15:14
秋葉のラオックス ブックの館 で昨日みた

242 :デフォルトの名無しさん:03/01/16 21:05
今日見てみたが、難波の旭屋にはなかったな。
前はあったんだが…

隔月刊ってチェックするの忘れやすいよな。

243 :デルマガ大好きっ子(売ってるとこ見たこと無い):03/01/16 23:45
神保町と秋葉か…。今度見に行ってこよう。
サンクス>情報くれた人

244 :保守sage:03/01/22 00:15
保守sage

245 :山崎渉:03/01/23 21:50
(^^)

246 :過疎地保守sage!:03/01/27 03:09
過疎地保守sage!

247 :デフォルトの名無しさん:03/01/28 11:44
>Borland、MSの.NET Framework SDKをライセンス
ttp://www.zdnet.co.jp/news/0301/28/nebt_01.html

ダウンロードフリーの .NET SDK を配ることにニュースバリューがあるのだろうか。
そりゃ製品に添付させるのであればライセンスなり通達くらいはするのが礼儀だろうけど

それとも、フリーの .NET SDK に含まれない何かが入るんだろうか。


248 :デフォルトの名無しさん:03/01/28 15:45
Delマガ、笹塚の紀伊国屋にありますた

249 :デフォルトの名無しさん:03/01/28 15:55
ふつーの人は、笹塚の紀伊国屋には行きません。
新宿に近すぎるし、存在を知っている人は少ないんじゃないのかな?

場所柄、コンピュータ関係の品揃えがちょっと変わっているのは確か。

67 KB
■ このスレッドは過去ログ倉庫に格納されています

★スマホ版★ 掲示板に戻る 全部 前100 次100 最新50

read.cgi ver 05.02.02 2014/06/23 Mango Mangüé ★
FOX ★ DSO(Dynamic Shared Object)