トップページ⇒tech
1001コメント304KB

【.NET】 C++/CLI について語ろうぜ 【最適】

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん2005/09/11(日) 23:54:01
おそらく、.NET開発でデファクトスタンダードに最も近い
であろうC++/CLIについて語ろうぜ!
0159デフォルトの名無しさん2005/10/05(水) 11:58:04
      ∧_∧
     ( ´∀` )  このゴミ、どこに捨てたらいい?
     /⌒   `ヽ
    / /    ノ.\_M
    ( /ヽ   |\___E)
    \ /   |   /  \
      (   _ノ |  / ウワァァン ヽ
      |   / /  |ヽ(`Д´)ノ|
      |  / /  ヽ(Longhorn)ノ
      (  ) )     ̄ ̄ ̄
      | | /
      | | |.
     / |\ \
     ∠/
0160デフォルトの名無しさん2005/10/05(水) 12:31:44
>>158
LHは1.1じゃなかったっけ?
0161デフォルトの名無しさん2005/10/05(水) 13:47:31
2.0 だろ。WinFX は PlatformSDK のような扱いになるらしいが
>>158
もともとCOMサーバが動いてるんだから、変わらないでしょ
CLR は COM 後継なんだし
0162デフォルトの名無しさん2005/10/05(水) 14:45:51
後継にしては今までのソースが全て吹っ飛んでしまうのは何故?
0163デフォルトの名無しさん2005/10/05(水) 18:45:25
そこでC++/CLIですよ
0164デフォルトの名無しさん2005/10/05(水) 18:55:03
>162
(゚Д゚)ハァ?
0165デフォルトの名無しさん2005/10/06(木) 02:33:02
>>162
レガシー
0166デフォルトの名無しさん2005/10/06(木) 14:27:21
>>165
もうカルディナは必要ありません。
0167デフォルトの名無しさん2005/10/06(木) 14:37:56
Vistaはネッツに吸収されました。
0168デフォルトの名無しさん2005/10/06(木) 15:13:30
アニヲタばっかりだな
0169デフォルトの名無しさん2005/10/06(木) 15:15:10
車なんだけど...
0170デフォルトの名無しさん2005/10/06(木) 15:28:17
>>68
LinqやActive Objectが、C++0xに入るわけないだろ。

この辺が入ったC++/CLIはEMCAで標準化されるだろうけど。
0171デフォルトの名無しさん2005/10/06(木) 15:41:49
そーいえば、C貪とかいう標準化されたどーでもいーものがあったね。

標準化なんてCOBOLでもある。
というか、プログラムの長持ちではCOBOLのが先輩だね。
0172デフォルトの名無しさん2005/10/06(木) 16:22:27
168 名前:デフォルトの名無しさん[sage] 投稿日:2005/10/06(木) 15:13:30
  アニヲタばっかりだな

169 名前:デフォルトの名無しさん[sage] 投稿日:2005/10/06(木) 15:15:10
  車なんだけど...
0173デフォルトの名無しさん2005/10/06(木) 16:53:26
active最高杉

0174デフォルトの名無しさん2005/10/06(木) 18:05:44
168 名前: デフォルトの名無しさん [sage] 投稿日: 2005/10/06(木) 15:13:30
アニヲタばっかりだな
169 名前: デフォルトの名無しさん [sage] 投稿日: 2005/10/06(木) 15:15:10
車なんだけど...

ワロタ
0175デフォルトの名無しさん2005/10/07(金) 00:25:44
よくわからんが、車を元ネタにした名前が出てくるアニメがあるって解釈でいいのか?
0176デフォルトの名無しさん2005/10/07(金) 00:32:14
>>175
レイアースの登場人物の名前は車に由来。
ジョジョの登場人物の名前はミュージシャンに由来。

とCLAMPのアニメを3本見ただけの俺が答える。
0177デフォルトの名無しさん2005/10/07(金) 00:32:53
つまり「アニヲタばっかりだな」が正解?
0178デフォルトの名無しさん2005/10/07(金) 01:28:14
>>177
「アニヲタ馬鹿だな」が正解。
0179デフォルトの名無しさん2005/10/07(金) 14:04:43
アニオタのせいで秋葉原って今ものすごいキモイ町になってる
0180デフォルトの名無しさん2005/10/07(金) 14:41:26
そういや開業直後にTXに乗ってアキバへ行ったが、駅を出たら見知らぬ光景に遭遇して慣れるのに
時間を要した。ちなみにヨドバシカメラにはまだ行っていない。
0181デフォルトの名無しさん2005/10/07(金) 20:32:11
>>179
アニヲタはそれほどでもない。むしろエロゲヲタが酷い。
0182デフォルトの名無しさん2005/10/07(金) 20:52:23
>>181
悪いが区別が付かないのでどうでもいい。
0183デフォルトの名無しさん2005/10/07(金) 20:53:42
>>182
プログラマとSE
0184デフォルトの名無しさん2005/10/07(金) 21:07:08
>>183
悪いが区別が付かないのでどうでもいい。
0185デフォルトの名無しさん2005/10/07(金) 21:15:49
よくテレビや雑誌で晒されてるようなヲタって何ヲタなの?
電車男みたいなやつ
0186デフォルトの名無しさん2005/10/07(金) 21:39:55
ヲタというより、むしろ朝からパチンコ屋に並んだり、競馬場にたむろしてる連中を連想する。
0187デフォルトの名無しさん2005/10/07(金) 22:54:11
パチンコ屋に並ぶのは朝しかねーだろ?
バカかおめー昼夕オープンなんて滅多にないんだぞ
しね
0188デフォルトの名無しさん2005/10/08(土) 00:03:20
とパチンカスが言っております。
0189デフォルトの名無しさん2005/10/08(土) 01:40:45
>>185
プログラマじゃないの? :-)
0190デフォルトの名無しさん2005/10/08(土) 02:08:49
>>186
社会の底辺にいる人達か。
0191デフォルトの名無しさん2005/10/08(土) 02:13:23
なるほど、プログラマは朝からパチンコ屋にならんで競馬場にたむろしてマルチ萌え〜とかセリオたんハァハァって言ってる人たちなのか
モニタの上に変なフィギュア飾ってるし
0192デフォルトの名無しさん2005/10/08(土) 02:15:16
>>191
通常の業務の上にそんなことまでしてたら過労死するな。
0193デフォルトの名無しさん2005/10/08(土) 21:40:48
朝からパチンコ屋にならんでなんいうやつはアフォ1確
お金をつかって買い物するっていってるような物だぞw
0194デフォルトの名無しさん2005/10/08(土) 21:41:33
>>193
おまえは中国人かよw
0195デフォルトの名無しさん2005/10/08(土) 21:43:57
デカ顔&短足&チビの日本人よりはマシw
0196デフォルトの名無しさん2005/10/08(土) 21:44:57
ズボシだったのか
いや、悪気はなかったんだ
ジョークだ許してくれ
0197デフォルトの名無しさん2005/10/08(土) 21:44:59
COME WITH ME
ってカッコイイ
0198デフォルトの名無しさん2005/10/08(土) 21:55:29
誰か>>193の言わんとすることをわかりやすく解説してください。
0199デフォルトの名無しさん2005/10/08(土) 21:57:38
おまいら、巣にカエレ
0200デフォルトの名無しさん2005/10/09(日) 00:56:46
>>198
日雇いのバイトで得た給料を次の日にパチンコでなくすようなやつなんだ。
そっとしといてやれよ。
0201デフォルトの名無しさん2005/10/09(日) 01:00:55
プログラミングヲタよりは(ry
0202デフォルトの名無しさん2005/10/10(月) 13:13:40
>>200
その日の内にだろ
0203デフォルトの名無しさん2005/10/10(月) 16:34:14
>>202
夜勤の場合はその通りだな。
0204デフォルトの名無しさん2005/10/10(月) 21:48:37
ここにいるひとってやっぱ電車男みたいな人ばっかり?
俺は電車男そのものだけど・・・orz
0205デフォルトの名無しさん2005/10/11(火) 00:50:45
電車男って、アニメオタクでプログラミングなんてしないんじゃ? (テレビしか見てないけど
0206デフォルトの名無しさん2005/10/11(火) 00:51:50
電車男はあまりオタクじゃないよ
完全に消費者だし
0207デフォルトの名無しさん2005/10/11(火) 01:27:57
もはやC++/CLIはどうでもよくなってる罠
0208デフォルトの名無しさん2005/10/11(火) 01:31:00
>>168逝って良し
0209デフォルトの名無しさん2005/10/11(火) 11:16:33
>207
必死に自作自演してるんだよ。ほっとけ
0210デフォルトの名無しさん2005/10/20(木) 02:58:49
へー、pure Java の CLRなんてあるのか。
逆もあれば、無限に重ねられるな
0211デフォルトの名無しさん2005/11/05(土) 01:08:45
>>210
詳しく
0212デフォルトの名無しさん2005/11/05(土) 13:22:36
C#のほうが気になる
0213デフォルトの名無しさん2005/11/10(木) 01:23:28
>>210
ただでさえ重いCLRをJavaなんかで実装したら使い物にならんだろ
0214デフォルトの名無しさん2005/11/18(金) 01:03:42
C#もっと速かったら使いやすいし、いいんだけだな〜
0215デフォルトの名無しさん2005/11/20(日) 01:35:04
釣れなかったみたいだねプゲラ
0216デフォルトの名無しさん2005/11/22(火) 07:00:04
checked statement なぜ使えないのだろうか...orz
0217デフォルトの名無しさん2005/11/22(火) 08:16:08
C++/CLIをちょっと.NETのライブラリとか使いたい部分だけマネージにして後はほとんどアンマネージにしてる人って居る?
その場合の速度知りたいんですが・・・
C#ちょっともっさりしすぎ。
0218デフォルトの名無しさん2005/11/22(火) 13:42:52
>>217
部分的にでもCLRを呼び出している以上起動時のもっさり感は変わらない。
P/Invokeよりは高速とはいえ、ネイティブ−マネージドの遷移は負荷が高いから
混ぜたいなら呼び出しの単位は大きいほうがいい。
画面まわりをネイティブで書いて、メニューからのイベントをマネージドで
処理するような使い方(またはその逆)は向いているが、
特定のロジックをネイティブにして頻繁にマネージドコードから呼び出すのには向いていない。
0219デフォルトの名無しさん2005/11/22(火) 20:50:52
ホスティングすればいいんじゃないの?>起動の遅さ
ttp://d.hatena.ne.jp/akiramei/20051108
0220デフォルトの名無しさん2005/11/22(火) 21:33:23
STL.NETはどこからダウソできるん?
0221デフォルトの名無しさん2005/11/24(木) 09:32:05
STL.NETじゃね?
0222デフォルトの名無しさん2005/11/24(木) 11:46:15
> ネイティブ−マネージドの遷移は負荷が高い

え?
0223デフォルトの名無しさん2005/11/25(金) 01:21:05
>>219
だたホスティングしてもmscoree.dll をCOMで呼び出すだけだからあまり変わらない気がするが、
同じプロセス空間に複数のアップドメインを作ってアセンブリを起動するシェルのようなものを作れば、
それなりに起動は速くなるかもしれないですね。

>>222
え? managed codeからnative codeをオーバーヘッド無しで呼べるといいたいのかな?
0224デフォルトの名無しさん2005/11/25(金) 01:44:09
呼べるでしょ。
データの受け渡しにコストがかかるだけで。
0225デフォルトの名無しさん2005/11/25(金) 01:47:36
>>224
呼べません。
0226デフォルトの名無しさん2005/11/25(金) 01:53:34
一見そのまま呼べるかのように振る舞うだけじゃなかったか
0227デフォルトの名無しさん2005/11/25(金) 02:04:50
オーバーヘッドって具体的にどんな処理してるんだろ。
0228デフォルトの名無しさん2005/11/25(金) 02:08:03
マーシャリングとかじゃね?
0229デフォルトの名無しさん2005/11/25(金) 02:12:24
マネージドとネイティブの世界には分厚い境界線
なるものが存在するんですよ。
その境界線を越えようとするものは某北朝鮮から脱国するがごとく
リスクを負わなければならないのですよ。
0230デフォルトの名無しさん2005/11/25(金) 06:46:32
intしか使わないネイティブを、
SuppressUnmanagedCodeSecurity, LinkDemandすればコストほとんどなしなんじゃないの?

構造体もValueType使えば、ボクシング/アンボクシング行われないしね。
0231デフォルトの名無しさん2005/11/25(金) 09:22:48
>>229

つ Borland(R) Developer Studio 2006 ttp://www.borland.co.jp/news/20051124_bds2006.html

マネージドとネイティブをコンパイルで切り替えだお。
0232デフォルトの名無しさん2005/11/25(金) 11:14:41
value class制限大杉

0233デフォルトの名無しさん2005/11/25(金) 21:30:37
ref structとvalue classの違いは?

ref structって値型じゃないの?

ref classとref structの違いって何よ?デフォルトpublicとprivateの違いだけ?
0234デフォルトの名無しさん2005/11/25(金) 22:31:14
ref ←→ 値型

ref class と ref struct の違いは class と struct の違いと同じ
ref 型がCLRに管理されてるクラス。value 型は primary な値を意味するクラス
0235デフォルトの名無しさん2005/11/25(金) 22:44:30
OKありがとう。とてもわかった
0236デフォルトの名無しさん2005/11/25(金) 23:02:55
値型だと
デフォルトコンストラクタ
コピーコンストラクタ
デストラクタ
ファイナライザ
代入演算子
が定義できなかったよ。

デフォルトコンストラクタが定義できないんで引数無しのタグクラス食わせてるんだけど
何かあるんだろうか...
それとデストラクタが定義できないせいで単純にnewすると解放ができない。
0237デフォルトの名無しさん2005/11/25(金) 23:07:16
>>236
C#って知ってる?
0238デフォルトの名無しさん2005/11/25(金) 23:08:24
> newすると解放ができない。

なんか言ってることおかしくない?
解放って?
0239デフォルトの名無しさん2005/11/25(金) 23:12:33
>236
値型は primary な型を作るためのものだから、int とかにデフォルト・コンストラクタや
ファイナライザを定義しないでしょ?
0240デフォルトの名無しさん2005/11/25(金) 23:13:13
>>236
値型は、初期化しによる初期化、代入などで、
memcpyが行われるだけでいいようなオブジェクトに使う。
定義できなかったと言うより、定義しないでいいものに使う。
02412362005/11/25(金) 23:15:45
>>238
template <typename T,typename TAG>
value struct a
{
T *p;
a(TAG)
{
p = new T();//NativeC++のスマートポインタが使えないのでCLIなスマートポインタが必要ぽい
}
};
02422362005/11/25(金) 23:21:43
>>239,240
参照型だとコピーコンストラクタいちいち用意するの面倒じゃん。
C++とC++/CLI両対応のソース書きたいので値型にしてる。
0243デフォルトの名無しさん2005/11/25(金) 23:38:57
>>242
.Netでは「クラスは参照型」となっているのだからいつか破綻する。
0244デフォルトの名無しさん2005/11/25(金) 23:40:16
それは思考が逆で、
コピーコンストラクタが必要ないから値型にしているのであって、
面倒だから参照型を使わないんじゃない。
0245デフォルトの名無しさん2005/11/25(金) 23:41:57
値型か参照型かは性能にもろに影響してくるから
適切に選択した方がいいよ
0246デフォルトの名無しさん2005/11/25(金) 23:56:47
普通にクラスを書けばいいんじゃないか?
わざわざ値型で定義しようとするから、苦労しているだけだと思うが
0247デフォルトの名無しさん2005/11/26(土) 08:19:50
>>45
LLVMがgccに入りそうな勢いだなあ。
0248デフォルトの名無しさん2005/11/28(月) 09:42:42
参照を初期化リストで初期化できないのですが、
なぜなのでしょうか?
value struct UseRef
{
explicit UseRef(int& in_i)
:i(in_i)
{}
int& i;
};
ref struct TestRef
{
int i;
UseRef r;
TestRef()
:r(i)
{}
};
0249デフォルトの名無しさん2005/11/28(月) 13:52:01
値型は生成時にデフォルト値を持つ必要がありますが、標準C++ の int 型はデフォルト値を
規定されていません。そのため、生成時に不定となる値の参照を型として保持できないと思われ
02502482005/11/28(月) 16:40:53
>>249
ありがとうございます。
参照型でも試してみましたが、やはりだめみたいでした。
一度、GC Heapにgcnewしてそこからinterior reference?(int%)を取得することで
参照のように扱うことはできました。
どうも値型のメンバには値型かGcHeap(Cloneされる)しかおけないようです。
また、interior ptr|referenceのときもクラスのメンバにはできないようです。
0251デフォルトの名無しさん2005/11/28(月) 18:05:46
まぁ、仕様書見るとそう書いてありますね
0252デフォルトの名無しさん2005/11/28(月) 22:05:15
俺の勘で。
ref struct TestRef
{
  int i;
  UseRef r;
  TestRef() : i(0), r(i)
  {}
};
0253デフォルトの名無しさん2005/11/29(火) 16:38:04
UseRef のデフォルト・コンストラクタが不定値を持つから駄目ぽ
0254デフォルトの名無しさん2005/12/01(木) 17:33:26
組込型だと
普通のref class とvalue classで通るコードでエラーがでるんだけど
属性とかでなくコンパイラにはじかれてるのかな?

Int32 o_int(0);
Int32^ g_int = gcnew Int32(0);
Int32% r_int = *g_int;
//Int32^ rg_int = %r_int;//NG

//String o_str;//NG
String^ g_str = gcnew String("");
//String% r_str = *g_str;//NG
//String^ rg_str = %r_str;//NG
0255デフォルトの名無しさん2005/12/02(金) 02:00:31
なんだか汚い言語になっちゃいましたね

perlみてー
0256デフォルトの名無しさん2005/12/02(金) 03:41:08
C++が汚いのはもとからだろ
0257デフォルトの名無しさん2005/12/02(金) 07:44:32
>>255
思いつきで拡張してるよね。
C++の世界では有名な人達がやっているんだが…
0258デフォルトの名無しさん2005/12/02(金) 07:49:14
だれだっけ?
■ このスレッドは過去ログ倉庫に格納されています