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

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

♯♯♯Shared Source CLI ♯♯♯

1 :デフォルトの名無しさん:02/06/16 19:21
せっかくソースもあることだし、解析してみるのも一興かと。

2 :デフォルトの名無しさん:02/06/16 19:23
はぁー、明日歯医者だ

3 :デフォルトの名無しさん:02/06/16 19:24
ダウンロード
http://msdn.microsoft.com/downloads/sample.asp?url=/MSDN-FILES/027/001/901/msdncompositedoc.xml

(ActivePerl)
http://www.activestate.com/Products/Download/Get.plex?id=ActivePerl

4 :デフォルトの名無しさん:02/06/16 19:31
参考リンク

FAQ and Release Notes
http://msdn.microsoft.com/msdn-files/027/001/901/ShSourceCLIbetaFAQ_RelNotes.htm

The Microsoft Shared Source CLI Implementation
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/Dndotnet/html/mssharsourcecli.asp
Shared Source CLI Provides Source Code for a FreeBSD Implementation of .NET
http://msdn.microsoft.com/msdnmag/issues/02/07/SharedSourceCLI/default.asp

Uncovering Rotor -- A Shared Source CLI
http://www.oreillynet.com/pub/a/dotnet/2002/03/04/rotor.html
An Architectural Tour of Rotor
http://www.oreillynet.com/pub/a/dotnet/2002/03/27/archtour.html
Get Your Rotor Running
http://www.oreillynet.com/pub/a/dotnet/2002/03/27/gettingstarted.html

5 :デフォルトの名無しさん:02/06/16 19:55
ビルドの仕方(WindowsXP)

1. 必要なもの

 ・VC++.NETをインストール(VS.NETでも可)
 ・ActivePerlをインストール(入手先は>>3)

2. ソースの入手&解凍

 ・>>3よりダウンロード
 ・解凍(スペースを含むパスには解凍しないこと!)

3. ビルド

 ・コマンドプロンプトを起動
 ・解凍先に移動(C:\>cd \sscli)
 ・envコマンド(C:\sscli>env)
 ・buildallコマンド(C:\sscli>buildall)
 ・20〜30分ほどで終了するはず

4. 確認

 ・sscli\build\v1.x86fstchk.rotor以下に環境が出来上がってるか確認

6 :デフォルトの名無しさん:02/06/16 20:10
ランタイムのデバッグの仕方

1. VC++.NET(VS.NET)を起動する。

2. 「プロジェクトを開く」でclix.exeを開く。(「ファイルを開く」ではないので注意!)

3. 適当な場所にプロジェクトを保存する。

4. プロジェクトのプロパティを開いて、「コマンド引数」のところに
  適当な.NETアプリをフルパス指定する。

5. F11キーを押して、clix.cppのmain()関数の場所に行くか確認する。


OKならば、ステップイン・ステップオーバーでコードの流れを順に追うことが
できます。好きなところにブレークポイントを置いてみるもよし。

7 :デフォルトの名無しさん:02/06/16 20:22
・sscli\clr\src\tools\clix\clix.cpp

 ここにmain()関数があります。引数の解析と、ランタイムのLaunchを行ないます。

・sscli\clr\src\vm\ceemain.cpp

 ここがランタイムのスタート地点です。_CorExeMain2()という関数から始まります。

8 :デフォルトの名無しさん:02/06/16 21:41
その他のリソース

http://www.microsoft.com/partner/products/microsoftnet/SharedSourceCsharpCLIFAQ.asp
http://research.microsoft.com/programs/europe/rotor/default.asp

http://www.corel.com/ssclii/

http://www.macadamian.com/download/cli/cli.html
http://www.macadamian.com/column/tinymessenger.html

http://www.codeguru.com/net_general/dn04032002-rotor.html

9 :デフォルトの名無しさん:02/06/16 22:36
さて、スレをどう展開させていくのか・・・

10 :デフォルトの名無しさん:02/06/16 23:19
Main()関数の実行の流れ

ceemain.cpp _CorExeMain2

appdomain.cpp SystemDomain::ExecuteMainMethod

assembly.cpp Assembly::ExecuteMainMethod

clsload.cpp ClassLoader::ExecuteMainMethod

clsload.cpp RunMain

method.cpp MethodDesc::Call

ここまでは追えた。Hello Worldの道は遠い・・・。

11 :デフォルトの名無しさん:02/06/17 00:05
日本の大学とか企業じゃsscliに手を出す(手を出せる)のはいないだろうな・・・

12 :デフォルトの名無しさん:02/06/17 00:07
FreeBSDでコンパイル通らねぇよ!

13 :デフォルトの名無しさん:02/06/17 00:12
誰かMonoの解析キボン

14 :デフォルトの名無しさん:02/06/17 00:29
Monoは関数名がわかりづらくて嫌いだ。。。

15 :デフォルトの名無しさん:02/06/17 00:40
しかもガチガチのCだし。いかにもLinuxerって感じ。

16 :デフォルトの名無しさん:02/06/17 00:43
VC++のデバッガは最強やね・・・

17 :デフォルトの名無しさん:02/06/17 01:42
>>15
オープンソース陣営の生産性が最悪な原因がよく分かるよね。

18 :デフォルトの名無しさん:02/06/17 11:55
Hello Worldが実行されるまでものすごい手間だね

19 :デフォルトの名無しさん:02/06/17 13:04
・sscli\clr\src\vm\ecall.cpp

 BCLのコアなメソッドはcil internalcallで定義されており、
 ildasmしてもその実装内容は見えない。

 ecall.cppではその実装部とのマッピング定義を行なっている。
 実装部はcom〜.cppというファイルに多く見受けられる。
 FCIMPL〜FCIMPLENDで囲まれた関数がそれ。

 どうやらECall、FCallなる用語があるようだ。

20 :デフォルトの名無しさん:02/06/17 13:39
・sscli\clr\src\csharp\csharp\inc\predeftype.h

 C#で特別扱いされる型の一覧。

・sscli\clr\src\md\compiler\custattr.cpp

 CLRで特別扱いされるCustomAttributeの一覧と動作定義。
 ...と思われるが、ブレークを置いても引っかからん。

21 :デフォルトの名無しさん:02/06/18 00:12
sscliはBCLソースとinternalcall実装以外はあまり深い入りしない方がいいよ。
JITとかGC周りは.NETとはかなり違うだろうし。

22 :デフォルトの名無しさん:02/06/18 00:15
JITは懐かしのEconoJITの名残りという噂も・・・

23 :デフォルトの名無しさん:02/06/18 00:53
・sscli\clr\src\inc\il_kywd.h

 CILのキーワード一覧。

・sscli\clr\src\csharp\csharp\inc\tokens.h

 C#のキーワード一覧。アンダーバーで始まる見慣れないキーワードも。

24 :デフォルトの名無しさん:02/06/18 02:31
C#の隠しキーワード

__makeref
__reftype
__refvalue
__arglist

使い方は分からんが。(w

25 :デフォルトの名無しさん:02/06/18 02:33
makerefはboxingの別名

26 :デフォルトの名無しさん:02/06/18 02:38
>>24
__arglistは引数につけるよろし。paramsみたいな感じ。

27 :デフォルトの名無しさん:02/06/18 03:36
うむ。やっぱりソースが公開されてることはいいことだ。

28 :デフォルトの名無しさん:02/06/21 07:33
Peeking Under the Lid of Open Source .NET CLI Implementations
http://www.devx.com/free/hotlinks/2002/ednote061902/ednote061902-1.asp

29 :デフォルトの名無しさん:02/06/22 19:08
キタ━━━━━━(゚∀゚)━━━━━━ !!!!!

Rotor for Linux
http://www.oreillynet.com/cs/weblog/view/wlg/1602

30 :デフォルトの名無しさん:02/06/23 00:33
RedHat7.2で動いた!ヽ(´ー`)ノ

bashの人はenv.shに修正要。
https://mailserver.di.unipi.it/pipermail/dotnet-sscli/msg00052.html

あとは
. ./env.sh
./configure
./buildall
でOK。

環境ができあがったら、環境変数PATHとLD_LIBRARY_PATHに
clixのあるディレクトリを登録。

31 :デフォルトの名無しさん:02/06/23 03:12
ビルドに時間かかるねー。
同じスペックなのにwinの倍以上かかるよ。

32 :デフォルトの名無しさん:02/06/23 03:14
しかしLinuxはMono、Portable.NET、Rotorの3つの選択肢があるわけか。
どれかを選べって言われたらやっぱりMS純正の・・・。

33 :デフォルトの名無しさん:02/06/23 04:13
>>32
Monoも使ってるけど、やっぱりsscliの方がなじみがあって安心する。
悪いけど。

34 :デフォルトの名無しさん:02/06/26 17:07
Refresh版が出たよ〜。ヽ(´ー`)ノ

http://msdn.microsoft.com/downloads/default.asp?URL=/downloads/sample.asp?url=/msdn-files/027/001/901/msdncompositedoc.xml

35 :デフォルトの名無しさん:02/06/27 01:58
コンパイラのロゴが変わった。(・∀・)イイ!

Microsoft (R) Visual C# Shared Source CLI Compiler version 1.0.0002
for Microsoft (R) Shared Source CLI version 1.0.0
Copyright (C) Microsoft Corporation 2002. All rights reserved.

36 :デフォルトの名無しさん:02/06/27 02:45
ActivePerlもいつの間にかバージョンアップ

37 :名無しさん@カラアゲうまうま:02/07/09 20:57
やば…

38 :名無しさん@お腹いっぱい。:02/07/11 02:17
マイクロソフトのプログラマでさえ、
C++のテンプレートは活用してないのね。

39 :デフォルトの名無しさん:02/07/12 21:52
Rotor Comes to Linux
http://www.oreillynet.com/pub/a/dotnet/2002/07/01/rotorlinux.html

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

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

read.cgi ver 05.04.00 2017/10/04 Walang Kapalit ★
FOX ★ DSO(Dynamic Shared Object)