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

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

managed C++ やろうぜ!!

1 :デフォルトの名無しさん:02/02/24 02:47
C#関連のスレは山ほどあるが
managedC++のスレが無いじゃないか。
折角.NETに生き残ったC++、みんなで語ろうぜ。

2 :デフォルトの名無しさん:02/02/24 02:47
おお、
語ろう


3 :デフォルトの名無しさん:02/02/24 02:48
>1=>2

4 :デフォルトの名無しさん:02/02/24 02:49
1-2=3

5 :デフォルトの名無しさん:02/02/24 02:49
名スレの予感

6 :デフォルトの名無しさん:02/02/24 02:50
1-2+3=4

7 :デフォルトの名無しさん:02/02/24 02:50
1==2==3

8 :デフォルトの名無しさん:02/02/24 02:51
1^2^3^4^5^6=7

9 :デフォルトの名無しさん:02/02/24 02:53
v(^・^)v(^・^)v(^・^)v(^・^)v=1*3

10 :デフォルトの名無しさん:02/02/24 02:57
if(1から9まで同一人物だったら)
{
System.out.println("○○○");
}
の「1から9まで同一人物だったら」
の部分って
1==2&&1==3&&....
って書くのは長ったらしいので
何かいい方法ありますか?

11 :デフォルトの名無しさん:02/02/24 02:59
ポインタ、template、が生き残っただけでも凄い嬉しい。
と言う事はSTLもとおると言う事か・・・?
素晴らしい!!

12 :デフォルトの名無しさん:02/02/24 03:17
結局、
class CA{
public:
template<typename T>void func(T t);
};
template<typename T>void CA::func(T t){.......}
がエラーになるのは解決されたのだろうか??

13 :デフォルトの名無しさん:02/02/24 03:21
をを・・・解決されているみたいですな。
今試したら、ちゃんと動きましたよ。


14 :デフォルトの名無しさん:02/02/24 04:41
何てこった・・・.NET SDKには<iostream.h>が入ってない。
さようなら、cout・・・・

15 :デフォルトの名無しさん:02/02/24 04:49
マナゲドって何よ?

16 :デフォルトの名無しさん:02/02/24 04:53
>>14
普通のSDKと.NETのSDKは
C++の扱いは違うの?
.NETのC++はあくまでmanagedコードを
書くためのものなのかな?

17 :デフォルトの名無しさん:02/02/24 04:54
man=男
aged=ageの過去形

18 :デフォルトの名無しさん:02/02/24 04:54
>15
ネタだよな・・・?

19 :デフォルトの名無しさん:02/02/24 05:03
>>15
マグドナルドの経営する中華風ファーストフード店の名称です。

20 :デフォルトの名無しさん:02/02/24 07:57
どうせなら「相談室」スレにしたら良かったのに。

21 :デフォルトの名無しさん:02/02/24 09:13
Ruby >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> managed C++

22 :デフォルトの名無しさん:02/02/24 09:41
>>14
本当だ......。よくみるとVS.NETのほうにしかiostrem.hはないですね。
まあ私はVS.NET買うつもりなので関係ないけど。

23 :デフォルトの名無しさん:02/02/24 09:44
ってか、iostream.hなんていいかげん捨てろよ。
それにマトモなSTL入れておけば問題ないだろ。

24 :デフォルトの名無しさん:02/02/24 09:46
>iostream.hなんていいかげん捨てろよ
どゆいみ?

25 :デフォルトの名無しさん:02/02/24 09:47
iostream

26 :デフォルトの名無しさん:02/02/24 10:12
ファイル名から .h が取り除かれたのが今の標準ってこと知らんのか?

27 :デフォルトの名無しさん:02/02/24 10:47
Ruby!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

28 :デフォルトの名無しさん:02/02/24 11:40
>>10
 !(a^b || a^c || ... )
がベストに近いかな?
少なくとも&&使うよりは良いと思われ。

29 :22:02/02/24 12:02
よく考えてみれば、自分の環境はいきなりVS.NETベータ2をいれたので
純粋に.net SDKを入れただけで本当にiostream.hがインストール
されるかどうかはわからなかったです。
ちなみにC:\Program Files\Microsoft.NET\FrameworkSDK\includeには
なかったです.......。


30 :デフォルトの名無しさん:02/02/24 12:11
>>10
適当なコンテナに突っ込んでfor_eachで比較

31 :デフォルトの名無しさん:02/02/24 12:17
>>30
for_each()じゃなくて、find_if()だろ

32 :デフォルトの名無しさん:02/02/24 18:46
__gc class CA{.....};
とすれば、

mann(){
CA* pca=new CA;
}
delete pca;を書かなくても、
ガベージコレクションがオブジェクトを壊してくれる。
便利になったなぁ・・・。

33 :デフォルトの名無しさん:02/02/24 18:56
>>32
mann()ってなに?ネタだよな・・・?

34 :デフォルトの名無しさん:02/02/24 22:10
>>16
.NETでも今までと同じC++が書けます。
managedコードを吐かせたくなければ、コマンドのcl/CLR
からCLRを外して、ソースからmanagedC++固有の書式を除けば
可能です。多分。

35 :ぎゃあああああ:02/02/24 22:41
managed C++でCOMオブジェクトは作れないの?


36 :デフォルトの名無しさん:02/02/24 22:56
>>35
AttributeとATLで作った方が楽だぞ。

37 :ぎゃあああああ:02/02/24 23:14
>>36
.NET frameworkを使えるATLの環境がほしい…。


38 :デフォルトの名無しさん:02/02/24 23:49
MFCは今後まともなサポートは期待
出来ないんだろうなぁ。

39 :デフォルトの名無しさん:02/02/25 00:37
>>38
移植です。それしかありません。

40 :デフォルトの名無しさん:02/02/26 00:44
アセンブリへのパスが通らん。何故だ?
ベータ2ってインストール時にパスを通すとか言ってなかったか?

41 :デフォルトの名無しさん:02/02/26 00:55
いいや、ここはダレも通さん。

42 :デフォルトの名無しさん:02/02/26 01:23
>>40
練習あるべし。


43 :デフォルトの名無しさん:02/02/26 01:36
ディフェンスの宮本にパスカットされた。

44 :デフォルトの名無しさん:02/02/26 01:56
アセンブリは「パス」は関係ないっす。アプリと同じディレクトリにおいてみるべし。

45 :デフォルトの名無しさん:02/02/26 20:41
>44
そうなんですか?
fatal error C1107: アセンブリ 'System.WinForms.dll' がみつかりませ
んでした : /AI または LIBPATH 環境変数を使用してアセンブリ検索パスを指定してくだ
さい。
と、出るんですが。'System.WinForms.dll' ってassemblyと言うフォルダの中に
あるんですけど・・・。

46 :デフォルトの名無しさん:02/02/26 21:00
根性が足りん


47 :デフォルトの名無しさん:02/02/26 21:15
根性かよ!?
・・・頑張ってみるよ

48 :デフォルトの名無しさん:02/02/26 21:17
>>45
'System.WinForms.dll' ということは、相当古いバージョンだね。


49 :デフォルトの名無しさん:02/02/26 21:31
>>45
System.WinForms.dllはBeta2でSystem.Windows.Forms.dllに変わりました。


50 :デフォルトの名無しさん:02/02/26 21:45
おお、成る程。
そのDLLはありました。assemblyフォルダじゃなくて.NETの方に。

Microsoft.Win32.Interop.dllも名前が変わっているのですか??

51 :名無しさん♯:02/02/26 21:53
>>50
> Microsoft.Win32.Interop.dll

そのDLLはβ2以降なくなったよん。

52 :デフォルトの名無しさん:02/02/26 22:22
無くなった・・・?
もう根性でもどうにもできないな。

53 :デフォルトの名無しさん:02/02/26 22:47
お前の環境はどうなんてっだと、小一時間問詰めたい。

54 :デフォルトの名無しさん:02/02/26 22:51
OSのクリーンインストールからだな。


55 :デフォルトの名無しさん:02/02/26 22:51
.NETベータ2、VC6.0、JAVA2しか入っていません。

56 :デフォルトの名無しさん:02/02/26 23:00
うちもVS.NETβ2とVS6.0は入ってるけど別に問題無いよ。
てことはJAVAかな?

57 :デフォルトの名無しさん:02/02/26 23:01
んなわけない。
旧バージョンをアンインストールせずに新しいやつ入れたんでしょ。

58 :デフォルトの名無しさん:02/02/26 23:08
お前本当に古いバージョンを消したのかと、トイレに連れ込んでボコボコにしながら問詰めたい。

59 :56:02/02/26 23:10
あ、要るDLLが無いんじゃなくて、要らないDLLが在るのか(藁
スマソ

60 :デフォルトの名無しさん:02/02/26 23:11
アンインストはかけましたよ?
但し、インストールとアンインストールを計6回ぐらいしましたが・・・

61 :デフォルトの名無しさん:02/02/26 23:36
その環境は捨てろ。
OSから再インストールしやがれ。

62 :デフォルトの名無しさん:02/02/26 23:44
β2でFormを使ったHello Wolrdをどなたかお示しください。
日本語ページでは見付かりません。
(managed C++の情報って何処にあるんだ? )

63 :デフォルトの名無しさん:02/02/26 23:59
こんなんでどうでしょう?RTMでしか試してませんが。

#using <mscorlib.dll>
#using <System.dll>
#using <System.Windows.Forms.dll>
using namespace System;
using namespace System::Windows::Forms;

__gc public class Form1 : public Form {
protected:
 Label *label1;
public:
 Form1() {
  label1 = new Label();
  label1->Text = S"Hello World!";
  this->Controls->Add(label1);
 };
};

int main() {
 Application::Run(new Form1());
}

% cl /clr form1.cpp

64 :デフォルトの名無しさん:02/02/27 00:09
をを・・・出来ましたよ。
ありがとうございます!!
(やっと、GUIの門の前に立った♪)

65 :仕様書無しさん:02/02/27 00:43
おおっ、いつの間にこんなスレが!
昔、managed C++とC#の比較のセミナー見たことあるけど、
managed C++は味があっていい感じ。


66 :デフォルトの名無しさん:02/02/27 00:46
C#とmanaged C++ってどう違うんですか?

67 :デフォルトの名無しさん:02/02/27 01:11
文法が違います。
JAVAとC++と同じぐらい違います。

68 :デフォルトの名無しさん:02/02/27 01:16
>>63を見る限りは文法がそんなに違うとも思えないんですが…

69 :デフォルトの名無しさん:02/02/27 01:22
VCをメインに使ってきた私にはC#もJAVAもほとんど一緒に見えるのです。
だからmanaged C++は私には絶好の言語なのです。ガベコレがあるなんて
最高としか思えない。

70 :デフォルトの名無しさん:02/02/27 01:50
ガベージコレクションってnewしたヤツだけ消してくれるの? GetDCしてReleaseDCしなくてもよくなるとかってことは?

71 :デフォルトの名無しさん:02/02/27 02:00
誰かmanaged C++の分かり易い解説ページ知らない?
本とか全然ないしさ、みんなどうやって勉強してるの?

72 :デフォルトの名無しさん:02/02/27 02:11
>>70
ない。GC対象になるのは__gcなクラスだけ。

>>71
RTMのドキュメント。


73 :デフォルトの名無しさん:02/02/27 18:57
managed C++ってSTL使えるの?
使えるなら、managed C++に乗り換えるけど。

74 :デフォルトの名無しさん:02/02/27 21:24
C#とくらべて少しは速いの?>>実行速度

75 :デフォルトの名無しさん:02/02/27 21:25
>>37
gcroot

76 :デフォルトの名無しさん:02/02/27 21:28
>>73
You can use it

77 :デフォルトの名無しさん:02/02/27 21:31
managedC++ってネィティブコンパイラ?

78 :デフォルトの名無しさん:02/02/28 17:33
C#とコレが使えれば、とりあえず
10年は喰えそうな気がするのだが、
俺の気のせいだろうか・・・・?

79 :デフォルトの名無しさん:02/02/28 17:36
正解。

80 :デフォルトの名無しさん:02/02/28 17:37
>>77
っていうか、cl.exeはネイティブコードもILも両方吐けます。

81 :デフォルトの名無しさん:02/02/28 20:50
クライアント領域が出ねぇーーーー!!
何故だぁ!!

82 :デフォルトの名無しさん:02/02/28 20:59
>>80
ネイティブっつーても、
.NET frameworkは必要。
誤解する人も出るので
言い方改めた方がよい。

83 :デフォルトの名無しさん:02/02/28 21:36
>>82
それを言ったら、いまのプログラムも Win32 API は必要だし。(GDI32.DLL とかさ)

84 :デフォルトの名無しさん:02/02/28 21:41
ATLってどうなるの?

85 :デフォルトの名無しさん:02/02/28 22:16
>>84
死滅しました

86 :デフォルトの名無しさん:02/02/28 22:22
COMの時代も終わりか・・・


87 :デフォルトの名無しさん:02/02/28 22:31
>>85
.net でもヘッダファイルには残ってるが。従来の WTL の機能も一部取り込んで、
発展はしてる。(メインストリームではないと思うが)

88 :デフォルトの名無しさん:02/03/01 11:18
>>82
はぁ。誤解しているのはあんたです。cl.exeはx86ネイティブ吐けます。ILを吐くのは/clrのときだけ。

>>85-87
ATL7使ってみなって。ある意味C++/ATLユーザーは.NET Frameworkなんかいらないってことがわかるから。
ATLはまだまだメインストリーム。


89 :デフォルトの名無しさん:02/03/01 11:22
age

90 :デフォルトの名無しさん:02/03/01 11:49
マネジドやるならC#かJavaでええやん。

91 :デフォルトの名無しさん:02/03/01 12:09
C++でもええやん

92 :デフォルトの名無しさん:02/03/01 16:22
>88
82じゃないけどおれも誤解してたかも。
managed C++はCLR(.NET)を使うために作られたものだと思ってたけど、
CLRと全く関係無しに managed C++を使うものなの?

93 :デフォルトの名無しさん:02/03/01 16:35
>>92
managed extension for C++はC++の構文で、CLR向けのコードを書くための拡張機能。

Visual C++ .NETは、通常のC++以外に、managed extension*も*サポートするC++コンパイラ。

>CLRと全く関係無しに managed C++を使うものなの?
CLRと関係なしに「C++を」使うことができる。
CLRと関係しまくりの「managed extensionをC++とともに」使うこともできる。
OK?

94 :92:02/03/01 17:02
>93
>>CLRと全く関係無しに managed C++を使うものなの?
>CLRと関係なしに「C++を」使うことができる。
>CLRと関係しまくりの「managed extensionをC++とともに」使うこともできる。
CLRを使わずに、「managed extensionをC++とともに」使うことはありえないですよね?

いや、83さんがx86ネイティブを非/clr時に吐けると書いているけど、
ここはmanaged C++スレなので、managedをCLR非利用時に使うことが
ありえるのか?と疑問に感じましたので。

95 :デフォルトの名無しさん:02/03/01 17:14
つーかな、ファイル名そのものがある種のポインタなわけよ。
だから、94は、ポインタとポインタのポインタの説明って事さ。

96 :95:02/03/01 17:27
誤爆スマソ。

97 :デフォルトの名無しさん:02/03/01 17:39
>>94
なるほど。僕としては、
「managedをCLR非利用時に使うことがありえるのか?」
っていう文章が文章として成り立っていない(managedっていう言葉はCLRと同義語だから)ので、??と思ったのでした。

あ、ちなみに83==93==thisってことで。

98 :デフォルトの名無しさん:02/03/01 17:40
ちがーう。88==93==97。

99 :デフォルトの名無しさん:02/03/02 00:38
templateが使えて、GCもあればC#いらん。
C++プログラマーの長年の夢は叶えられた。

100 :100!:02/03/02 00:42
今だ100ゲット!

101 :デフォルトの名無しさん:02/03/02 00:43
>99
ならD使え

102 :デフォルトの名無しさん:02/03/02 00:48
しかし101は無視された!
しかし101は無視された!
しかし101は無視された!


103 :99:02/03/02 00:51
D言語ってDigital Marsのところのヤツか?
確かにC++に最も近いだろうが、「何処でも動く」
わけじゃないからなぁ。

104 :デフォルトの名無しさん:02/03/02 00:55
>「何処でも動く」
managedとか言ってる時点で駄目だろ

105 :デフォルトの名無しさん:02/03/02 01:47
んなこたぁない。実際に「何処でも動く」ようにしてあるんだから。
言葉の定義はどうでもよくて実際が大事。

106 :デフォルトの名無しさん:02/03/02 01:49
managedが動く「何処でも」って何処のこと?

107 :デフォルトの名無しさん:02/03/02 01:50
>103-105
微妙なずれを感知。

108 :デフォルトの名無しさん:02/03/02 02:05
どこでも=MSか地味案が気にかけてくれた所&ユーザがCLR作っちゃうくらい
やるきのあるコミュニティのある所。

109 :デフォルトの名無しさん:02/03/02 07:32
>>99
君は、何屋さんかな?
C++プログラマは要らないと思ってるんだよ。
今まで、ずっとJavaにコンプレックス持ってて、
「でもこっちにはテンプレートがあるんだい」とか言って田?


110 :デフォルトの名無しさん:02/03/02 20:51
C++プログラマは要らないと・・・
ガ━━(゚Д゚;)━━ン!


111 :デフォルトの名無しさん:02/03/02 20:56
>109-110
明らかなズレを感知。

112 :デフォルトの名無しさん:02/03/02 21:24
>109
その通りです。
JAVAのバカヤロー!!

113 :109:02/03/02 21:36
ごめん。
誤:C++プログラマは要らないと思ってるんだよ。
正:C++プログラマはGCなんか要らないと思ってるんだよ。何にしても、煽り入ってたね。ごめーん。

114 :デフォルトの名無しさん:02/03/02 21:38
許さーん。

115 :デフォルトの名無しさん:02/03/02 22:43
確かにC++にガベージコレクションはいらないかも。
ろくにメモリの管理もできないような厨房大量発生の予感。


116 :デフォルトの名無しさん:02/03/02 22:45
いらないというか付けて欲しくないね。
もし付いたらパフォーマンス最優先なOOPLがなくなってしまう。

117 :デフォルトの名無しさん:02/03/02 22:45
auto_ptrで十分…

118 :デフォルトの名無しさん:02/03/02 22:50
BoehmGCだっけ?あれはどーなの?

119 :デフォルトの名無しさん:02/03/02 22:52
Bjarne Stroustrup >
>>The best garbage collecting language that I know of is C++ with a garbage collector.


120 :デフォルトの名無しさん:02/03/02 22:53
The best garbage collecting language that I know of is Ruby!

121 :デフォルトの名無しさん:02/03/02 22:53
>>116
クラス単位で選択可能にすれば良いだけだと思うが。

122 :デフォルトの名無しさん:02/03/02 23:34
>121
なにがいいんだ?
それでGCが走るタイミングを制御できんのか?

123 :デフォルトの名無しさん:02/03/03 00:32
GC なら Lisp に一日の長あり。

124 :デフォルトの名無しさん:02/03/03 06:23
>>119
おお・・・Stroustrupがそんなことを言っていたなんて(福音)
その下のは何?宗教の勧誘か??

125 :デフォルトの名無しさん:02/03/03 09:25
>>119
「GC付きのもっともよい言語は、私の知る限り、GC付きのC++です」
意味わかりません。これマネジドのこと?そんなこと教祖が言ったの?
信じらんない。ソース希望。

126 :デフォルトの名無しさん:02/03/03 09:34
そうだよねー、
GC の制御を細かく出来ないと 速度がクリティカルな環境じゃ使えない。

なんとかならないのかな? .NET の GC は。

127 :デフォルトの名無しさん:02/03/03 10:18
>>126
クリティカルな部分は自分で管理するとかして、
gcの起動を抑制すればいいんじゃない?


128 :デフォルトの名無しさん:02/03/03 11:39
>>125
訳さんでもいいわい。
ttp://www.csl.mtu.edu/cs5311/www/quote.html

129 :デフォルトの名無しさん:02/03/03 11:42
こんなのもあるぞ。
http://pc.2ch.net/test/read.cgi/tech/1010852722/620

130 :デフォルトの名無しさん:02/03/03 12:12
StroustrupはC++のことしかいってないなぁ(w
>Pablo Picasso
>Computers are useless. They can only give you answers.
が(・∀・)カコイイ!!

131 :デフォルトの名無しさん:02/03/04 01:16
マジな話、GCの制御できないのか?(文法レベルで)
VS.NETにはオプションでありそうな気がするんだが。

132 :デフォルトの名無しさん:02/03/04 10:29
なにを制御したいのかな?呼びたいときに呼ぶってなら、System.GCクラスでできるけど。
あとGCが起動するスレッドをどれにするかとか、制御できるよ。

でも、VS.NETのオプションとかいってるところを見ると、アンタGCわかってないね。
開発環境と関係あるわけがない。

133 :興味本位:02/03/04 11:18
ベタな質問でスマソ。
managed C++ソースコードの標準的な拡張子って.cppのままなんですか?

managed G++が出ないかなあ…(CLRが先か)

134 :デフォルトの名無しさん:02/03/04 11:57
>133
そう。

135 :興味本位:02/03/04 13:24
thx
構文的にはC++にCLRを使うための機能を追加しただけだから.cppでいいのか。

136 : :02/03/04 19:22
機能追加なら、C++++で.cp4か?

137 :デフォルトの名無しさん:02/03/05 17:37
++c++ではどうか。

138 :デフォルトの名無しさん:02/03/05 20:28
++++++++c++++++++

139 :デフォルトの名無しさん:02/03/05 20:38
それじゃBrainF**kだよ(w

140 :デフォルトの名無しさん:02/03/05 20:55
Visual BrainF**k

141 :デフォルトの名無しさん:02/03/06 23:49
age

142 :デフォルトの名無しさん:02/03/07 00:00
類似スレが立ったようだが、いきなり荒らされてるな。

143 :デフォルトの名無しさん:02/03/07 00:47
c=1;
++c++;

c==3ですか?

144 :デフォルトの名無しさん:02/03/11 23:10
ttp://msdn.microsoft.com/msdnmag/issues/02/02/ManagedC/ManagedC.asp

145 :デフォルトの名無しさん:02/03/16 16:42
全てがオブジェクトである

146 :デフォルトの名無しさん:02/03/16 17:08
int c = 1, x;

x = ++c++;

cout << "x = " << x << " : c = " << c <<endl;
// x = 2 : c = 3 かな

147 :デフォルトの名無しさん:02/03/16 17:26
で、みんな本気で手を出すつもりかい? まなげどC++


148 :デフォルトの名無しさん:02/03/16 20:19
unmanagedコードが気軽に呼べる環境として注目してる。
.NET的なクラス/インスタンス管理を自動でやってもらえるのは嬉しい。

MC++のコードでmanagedな部分がメインになることは少ないと思うなあ・・


149 :デフォルトの名無しさん:02/03/16 23:04
現在、β2使ってるけど
「古い形式で書かれていますがビルドしますか?」
みたいな内容のダイアログが出てくる時点で
プチ・リストラ気分>VC++ユーザーの俺

150 :デフォルトの名無しさん:02/03/21 21:18
明日本番age


151 :デフォルトの名無しさん:02/03/21 21:19
「ai-indigo.6151@docomo.ne.jp」からウィルスが添付されてきた・・・
よって晒し!

152 :デフォルトの名無しさん:02/03/21 21:20
managed C++ってRubyコンパイラ並みに無意味なような。

153 :デフォルトの名無しさん:02/03/21 21:23
C++ >>>>>>>>>>>>>>>>>>>>>>>>>> Ruby == managed C++
ですか?

154 :デフォルトの名無しさん:02/03/22 13:13
入手!!

155 :デフォルトの名無しさん:02/03/22 13:36
>>153
ちょい違う。
if( (C++ * 10) > ( ( Ruby * 8 ) || ( Managed C++ << 3 ) ) )
printf( "MS イッテヨシ" );

156 :155:02/03/22 13:38
あ、条件文間違えた。

157 :デフォルトの名無しさん:02/03/22 20:17
C++ マネージ拡張

158 :デフォルトの名無しさん:02/03/23 14:31
VS.NET発売age

159 :とあるフリーソフトウェア作家:02/03/23 16:00
しつもーん。
managed C++ のランタイムを配布するときって、
何と何を一緒に配布すりゃいいんでしょ。はたまたそのサイズはいかほど?
あるいは、MSのどこにリンク張っとけばいいんでしょ。

.NET 買うかどうか悩んでるとこなんですが。

160 :デフォルトの名無しさん:02/03/24 02:07
このスレタイトルの
managedてなんですか?

161 :デフォルトの名無しさん:02/03/24 02:11
>>160
.NET上で動くC++か
今までのC++かってことじゃに
managedC++なコードは.NET上でないと動かないよん

162 :デフォルトの名無しさん:02/03/24 02:42
>>159
dotnetfx.exe(21.6MB)

163 :159:02/03/24 05:19
で、デケェ・・・。
そんなもん、フリーソフトウェアにはつけることはできん。
やっぱふつーにC++使いますわ。

会社で作るときに検討しよう・・・・。

164 :デフォルトの名無しさん:02/03/24 11:27
>>163
どうせすぐにサービスパックに含まれるって。


165 :デフォルトの名無しさん:02/03/24 11:33
>>162
それさぁ、Win95で動かすことはできないんかな?
Win95 で CLR / .net しなきゃならないんだけど。


166 :デフォルトの名無しさん:02/03/28 17:00
> Win95 で CLR / .net しなきゃならないんだけど。
何それ?
Win95はもうMicrosoftがサポート止めてるのにいまさら出るわけないと思われ

167 :デフォルトの名無しさん :02/04/07 19:23
http://hp.vector.co.jp/authors/VA000092/jokes/strup.html
感動した。

168 :デフォルトの名無しさん:02/04/07 19:47
何てことだ・・・何てことだ!!

169 :デフォルトの名無しさん:02/04/08 02:06
>>167
ああああああああぁぁぁぁぁぁ

優秀なCプログラマが書いたソースなら、C++のクラスに勝る気がしていたのは
気のせいじゃなかったのか・・・・

170 :デフォルトの名無しさん:02/04/08 08:02
"jokes" ?


171 :C++歌劇派:02/04/08 08:32
managed C++なんてC++じゃないだろ。
だたらJavaやれ。

>優秀なCプログラマが書いたソースなら、C++のクラスに勝る気がしていたのは
それは君がパーなだけ。それに、最近は、じじいのCプログラマばっかりで、
優秀なのもいない。

172 :デフォルトの名無しさん:02/04/08 09:02
マジレスはあれでしょう。

173 :デフォルトの名無しさん:02/04/08 21:40
おいおい、この反応は全部ネタだよな?

174 :デフォルトの名無しさん :02/04/08 23:12
>>167
マジな話C++は終わったのか?
ネタだと信じたい。
もし、ビル・ゲイツが10年ぐらいたってC#は実はジョークでしたとか言ったら泣くよ・・・。

175 :デフォルトの名無しさん:02/04/08 23:23
誰もまなげどC++やってないらしい罠


176 :デフォルトの名無しさん:02/04/09 00:12
よっぽど理由がない限りやらないよ

177 :デフォルトの名無しさん:02/04/09 02:34
いや、MC++まんせー!ってひとがMSのnewsにいたよ。

178 :デフォルトの名無しさん:02/04/09 03:30
    冫─'  ~  ̄´^-、
    /           丶
    /             ノ、
   /  /ヽ丿彡彡彡彡彡ヽヽ
   |  丿           ミ
   | 彡 ____  ____  ミ/
   ゝ_//|    |⌒|    |ヽゞ
   |tゝ  \__/_  \__/ | |    ________________
   ヽノ    /\_/\   |ノ  /
    ゝ   /ヽ───‐ヽ /  /   C#は実はジョークでした
     /|ヽ   ヽ──'   / <     次はC♭出すので買ってね
    / |  \    ̄  /   \
   / ヽ    ‐-            ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄


179 :デフォルトの名無しさん:02/04/10 11:20
まなげどマンセーage

180 :デフォルトの名無しさん:02/04/10 11:36
VS6でmanagedC++やってる人いる?
どうもコマンドラインからだとコンパイル成功するのに
エディタからだとdllがらみのエラーが出る。

181 :デフォルトの名無しさん:02/04/10 11:37
↑リンクエラーのことね

182 :デフォルトの名無しさん:02/04/10 14:20
>>176
C++をmanagedでやる理由もなけりゃmanagedをC++でやる理由も無いからな。
つかC++はキーワードが汚すぎ。

183 :デフォルトの名無しさん:02/04/10 17:56
C++から.NETを使いたい。ってそんなにマイナーなニーズ?
MFCだってあとは現状維持程度で、新しいことがしたければ.NETへ逝け!でしょ?

おれは今のところWindowsは開発対象でないので様子見。

184 :180:02/04/10 18:37
原因はこれです
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vccore/html/vcerrLinkerErrorLNK2023.asp
だけど解決方法が分かりません。Link.exeに正しく
E:\Program Files\Microsoft Visual Studio .NET\Common7\IDE\msobj10.dll
を読み込ませる方法はないでしょうか?

185 :180:02/04/10 18:59
自己レス。
E:\Program Files\Microsoft Visual Studio\Common\MSDev98\Bin\msobj10.dll
を上の.netSDKのDLLで上書きしたらLNK2023は出なくなりました!

という訳でVS6、.netSDK、PlathomeSDKの三つを上手く組み合わせれば
まだまだ開発はできそうです。

186 :デフォルトの名無しさん:02/04/10 20:55
をいをい、%LIB%直せよ。。

187 :デフォルトの名無しさん:02/04/10 21:20
VC.NETはlokiをコンパイルできるのですか?
というかtemplateの制限はどれくらい解けてます?

188 :デフォルトの名無しさん:02/04/10 21:42
VC.NETはloliをコンパイルできるのですか?

189 :デフォルトの名無しさん:02/04/10 21:47
>>187
それなりに解けてる

190 :180:02/04/10 22:49
>>186
%LIB%にパスを設定したけどダメなんですよ。なんでですかね?

191 :デフォルトの名無しさん:02/04/22 01:27
C#ってVBの関数使えるらしいけど、managed C++は使えるの?

192 :デフォルトの名無しさん:02/04/24 21:04
.NETの関数、という意味ならどの言語だろうが同じなのでは。

193 :デフォルトの名無しさん:02/05/06 03:38
>>192
ほう・・・VBが使えるVC・・・訳わからんな。

194 :デフォルトの名無しさん:02/05/06 03:46
>>192
だよな。
カーネル内の関数をVC++で作成したものだろうがVBで作成したものだろうが呼び出せるのと同じだよな。

195 :194:02/05/06 03:50
カーネルじゃなくてDLLの方がいいか。

196 :デフォルトの名無しさん:02/05/08 16:24
managed C++まじで分らん。誰か助けて!

197 :デフォルトの名無しさん:02/05/08 16:44
>>196
やだ

198 :デフォルトの名無しさん:02/05/08 17:23
>>196
C#やれ

199 :デフォルトの名無しさん:02/05/08 17:50
>>196
質問書けよ。助けて!じゃわからん。

200 :デフォルトの名無しさん:02/05/08 17:54
managed C++でやれることは
unsafeキーワード使うことで
全てC#でできるんですか?

201 :デフォルトの名無しさん :02/05/08 18:04
unsageって前はマネージドコードってことになってなかったっけ?

202 :デフォルトの名無しさん:02/05/08 18:05
多重継承とかは?

203 :デフォルトの名無しさん:02/05/08 18:06
>>202
それはそもそもmanaged c++にはない

204 :デフォルトの名無しさん:02/05/08 18:10
ms-help://MS.NETFrameworkSDK.JA/vcmxspec/html/vcManagedExtensionsSpec_1.htm

205 :デフォルトの名無しさん:02/05/08 18:14
>>201
unsage = age

206 :デフォルトの名無しさん:02/05/08 18:22
・アクセスと制御。
マネージ コードとアンマネージ コードを混在できるため、
下位レベルのアンマネージ API などに直接アクセスできます。
Visual C++ とマネージ拡張を使用して、最大パフォーマンスの
マネージ API を記述できます。

この辺りしかmanaged C++を使う理由はないな。
C#でも十分パフォーマンスをあげるコーディングの仕方が
用意されてるみたいだし。またx86ネイティブなコードを
書く機会もWindowws上じゃ減るんだろうなぁ。

207 :デフォルトの名無しさん:02/05/08 18:30
>>206
MC++のメリットって、APIの構造体(またはクラス)を直接使えることぐらいじゃないかな。
APIの引数の型が単純だったら、C#とかでも難なく使えるし。

208 :デフォルトの名無しさん:02/05/08 18:31
>>200
いいえ。C#は何でもできる言語ではありません。VB.NETでできるのにC#では
できないこともあります。MC++でならできるけど、C#やVB.NETではできない(または限定的)と
いうこともあります。

>>206さんの言うことは一部真だと思いますが、C++ユーザーがC#に進んで混乱するくらいなら
MC++のほうがいいという選択もありえると思います。

209 :デフォルトの名無しさん:02/05/08 18:32
>>207
ちなみにMC++のアンマネージコードの呼び出しはP/Invokeではありません。
P/Invokeよりも数十倍高速な仕組みを利用します。

210 :207:02/05/08 18:35
>>209
ああ、そういやそんな話があったね。IJWって言うんだっけ?

211 :デフォルトの名無しさん:02/05/08 19:12
ms-help://MS.NETFrameworkSDK.JA/vcmxspec/html/vcmg_PlatformInvocationServices.htm
この辺りかな?
とにかく高速なラッパーという用途だけはC++に残っているわけね。

212 :デフォルトの名無しさん:02/05/08 19:31
unsage!

213 :デフォルトの名無しさん :02/05/08 19:51
unsage!

214 :デフォルトの名無しさん:02/05/09 18:37
既存のアプリケーションをマネージドに移行するのに注意する点なんてありますか?

215 :デフォルトの名無しさん:02/05/09 18:41
関係ないですが、"managed C++"を日本語でGoogleから検索すると
かなり上位に出てきます。

216 :デフォルトの名無しさん:02/05/09 19:08
>>214
unmanagedコードを使わないようにがんばろう。

217 :デフォルトの名無しさん:02/05/09 19:48
MFCとかATLをmanagedコードにすることは可能なの?

218 :デフォルトの名無しさん:02/05/09 19:51
ムリ!

219 :デフォルトの名無しさん:02/05/09 19:55
ナンデ!!

220 :デフォルトの名無しさん:02/05/09 19:57
>>217
/clr つければできるよ。一緒に使えないオプションが多くて面倒だけど。

221 :デフォルトの名無しさん :02/05/09 20:06
MC++ってごちゃごちゃしててまじでワケワカラン

222 :デフォルトの名無しさん:02/05/09 21:05
とりあえず、新規のプロジェクトでMC++を使うことはないって言うのが
よく分かったよ。

223 :デフォルトの名無しさん:02/05/09 21:20
C++死滅スレでも作る?

224 :デフォルトの名無しさん:02/05/09 23:29
MC++死滅スレなら。

225 :デフォルトの名無しさん:02/05/10 00:06
>>224
VC++に関していえば、
過去の資産を引き継ぐという意味じゃ、
互換性を切り捨てたVBとは役割は全然違う。
10年はなくならない。
それにMC++は多分内部的にかなりC#とコードを
共有してるような気もするから、なくなることは
ないと思う。

あくまで希望的観測だけどどうでしょう?

226 :デフォルトの名無しさん:02/05/10 00:10
>>225
MC++ -> MSIL -> C#
いいデコンパイラが出れば良い線行くかも。
MC++ -> MSILとC# -> MSILが似ていれば。

227 :デフォルトの名無しさん:02/05/10 07:05
既存のアプリケーションをコンパイルして気が付いたけど、
FILETIME(WinBase.h)とSystem::Runtime::InteropServices::FILETIME
みたいに名前がかぶっちゃうようか場合はどうしてる? 

228 :デフォルトの名無しさん:02/05/10 07:27
ms-help://MS.NETFrameworkSDK.JA/vcmxspec/html/vcmg_AmbiguousReferences.htm

229 :デフォルトの名無しさん:02/05/10 07:49
>>228
解決しました。どうもです。

230 :デフォルトの名無しさん:02/05/10 08:43
ところで普通のアプリに
・使用するDLLを#pragma comment(lib, "XXX.lib")と指定する。
・使用する.net frameworkのDLLをusing <XXX.dll>と指定する。
とこれだけでいいんでしょうか?

しかもやってて思ったのは::MessageBox関数みたいに#define
切られてるのはどうしようもないような気がしてきました。
System::Windows::Forms::MessageBoxWはありませんとか言われて・・・

231 :デフォルトの名無しさん:02/05/10 08:47
>>230
dllなのに拡張子libとは?

232 :デフォルトの名無しさん:02/05/10 08:57
>>231
LINK : fatal error LNK1104: コンパイラは、ファイル 'kernel32.dll' を開くことができません
こうなっちゃうんですよ。

ところでこうやってコンパイルしたプログラムはmanagedってことに
なるんですかねぇ?もちろん全て__nogcという意味でいいのですが。
なんかMC++ってなんなのかよく分りません。
ildasm.exeでもちゃんと見れるからどうなってるのかさっぱりです。

233 :デフォルトの名無しさん:02/05/10 09:04
>>231
#pragma comment(lib, "kernel32")
これでOKでした。拡張子は入りません。

234 :デフォルトの名無しさん:02/05/10 09:08
それにしても盛り上がらないですねー。
既存のプログラムをC#で書き直すぐらいなら
MC++を活用した方が全然いいと思うのですが、、、

これでDLLを作ればC#なんかからusing MyLib;
なんて出来ていいと思うのですが。

235 :デフォルトの名無しさん:02/05/10 09:12
>>234
ライブラリの移植用としては上の方で語られているね。
すくなくとも.NET用に開発されたC#がもっとも.NETとの親和性が高い。

236 :デフォルトの名無しさん:02/05/10 09:17
>>235
個人的にはSun派とMS派のどっちでもないけど、
.netが過去との互換性を重視してる点がいいと思うんですよ。
MC++あっての.net(w

237 :デフォルトの名無しさん:02/05/10 09:19
>>236
俺は心機一転派なのでC#のパイオニアを目指すw


238 :デフォルトの名無しさん:02/05/10 09:19
そういう意味じゃg++が.net対応して保水

239 :デフォルトの名無しさん:02/05/10 09:21
>>238
最強だね。それ。

240 :デフォルトの名無しさん:02/05/10 09:34
今あるWindowsの.net frameworkと同等のmonoを作るだけで
最低でも10年はかかるんだろうなぁ。opensource is always late
なんてAlan Coxさんが言ってたけどまさにそんな感じか、、

241 :デフォルトの名無しさん:02/05/10 11:59
MC++やろうぜ!

242 :デフォルトの名無しさん :02/05/10 12:25
だれも盛り上げないから独り黙々と情報提供

【Essential Guide To Managed Extensions For C++】
http://www.amazon.com/exec/obidos/ASIN/1893115283/

【Managed C++ and .NET Development】
http://www.amazon.com/exec/obidos/ASIN/1590590333/

【Visual C++(r).NET Developer's Guide】
http://www.amazon.com/exec/obidos/ASIN/0072132817/

【Programming with Microsoft Visual C++ .NET, Sixth Edition (Core Reference)】
http://www.amazon.com/exec/obidos/ASIN/0735615497/

GotDotNetのMC++
http://www.gotdotnet.com/team/cplusplus/
http://www.gotdotnet.com/team/upgrade/c++.aspx



243 :デフォルトの名無しさん:02/05/10 12:35
一冊漏れてた
【Microsoft Visual C++ .NET Step by Step】
http://www.amazon.com/exec/obidos/ASIN/0735615675/

COMとの相互運用に関して特化した本
【.NET and COM: The Complete Interoperability Guide】
http://www.amazon.com/exec/obidos/ASIN/067232170X/

C++プログラマたるもの、内部について無知は許されない!
【Inside Microsoft .NET IL Assembler】
http://www.amazon.com/exec/obidos/ASIN/0735615470/

【Compiling for the .NET Common Language Runtime】
http://www.amazon.com/exec/obidos/ASIN/0130622966/

【Essential .NET: The Common Language Runtime (Volume 1)】
http://www.amazon.com/exec/obidos/ASIN/0201734117/

発売してないものも含まれているので注意してください。

それにしても思ったより少ない気もする・・・

244 :デフォルトの名無しさん:02/05/10 12:47
>>243
これからでそ

245 :デフォルトの名無しさん:02/05/10 12:58
managed C++でILを吐かせることはできるんですか?

246 :デフォルトの名無しさん:02/05/10 13:00
>>245
もちろん。そのための「M」ですから。

247 :デフォルトの名無しさん:02/05/10 13:10
>>245
/CLRオプションを付けたときはデフォルトでmanagedコードに
なるみたいですが、managedコード=ILという訳ではないんですよね?
どうもGCとmanagedとILの関係が分らんのです。

x86バイナリにコンパイルされたC++managedコードにGCの機能が含まれて
いるっていう組み合わせもありえるんですよね?

248 :デフォルトの名無しさん:02/05/10 13:12
PreJITと実行時ILコンパイルに質的に差がないのは理解してます。

C#に負けるな、あげ!

249 :デフォルトの名無しさん:02/05/10 13:26
>>247
/clrでmanaged codeを吐くよ。managed codeって目に見えるものじゃなくて
概念的なものだと思う。ILであることもmanaged codeの一側面ではあるけど。

__gcのクラスはmanaged dataになる。managed dataとmanaged codeの違いは
意外にみんな理解していないようだ。

x86バイナリのlibをリンクしても、それがmanagedになるわけじゃないよ。
CLRはunmanaged codeを実行することもできるんだよね、これも意外に
知られていないが。

250 :デフォルトの名無しさん:02/05/10 13:30
>>249
難しいです。なにかよいドキュメントがあればぜひお願いします。

251 :デフォルトの名無しさん:02/05/10 14:10
ドキュメントから抜いてきました。

managed data 【マネージ データ】
共通言語ランタイムによって有効期間が管理されるオブジェクト。
共通言語ランタイムはオブジェクトのレイアウトを自動的に処理し、
それらのオブジェクトへの参照を管理し、不要になったオブジェクトを解放します。

managed code 【マネージ コード】
共通言語ランタイムとの "連携のコントラクト" に従って実行されるコード。
マネージ コードは、ランタイムがメモリ管理、言語間の統合、
コード アクセス セキュリティ、オブジェクトの有効期間の自動管理などの
サービスを提供するために必要とするメタデータを提供する必要があります。
Microsoft Intermediate Language (MSIL) に基づくコードはすべて、
マネージ コードとして実行されます。

unmanaged code 【アンマネージ コード】
共通言語ランタイムの規則および要件に関係なく作成されたコード。
アンマネージ コードが共通言語ランタイム環境で実行される場合は、
最小限のサービスで実行されます。たとえば、ガベージ コレクションは
実行されず、デバッグ機能も限定されます。


これから考えると、いわゆるmanaged C++っていわれてるプログラムは
managed dataとmanaged codeの規約を満たしているっていうわけですね。
ILかx86バイナリかどうかに関係ないく。GC云々の話は規約を満たしている
managed codeが生成したmanaged dataにおいて可能ということですか。
そして規約外のコードが全てunmanaged code。

となると、既存のC++プログラムを/CLRオプションでコンパイルした場合は、
例えそこからunmanaged codeを呼び出していたとしてもmanagedになる、
ってことですね。


もっと勉強しないと。。。

252 :デフォルトの名無しさん:02/05/10 14:27
ms-help://MS.NETFrameworkSDK.JA/csref/html/vclrfunsafe.htm
ところがどっこい、C#ではポインタを使うためにunsafeキーワードを
使うと、アンマネージドになってしまうらしい。

C#ではポインタの使えるマネージドコードというのは記述できないのかな?
それとも上のドキュメントの記述が紛らわしいだけなのか、、

253 :デフォルトの名無しさん:02/05/10 14:44
>>252
綺麗に線引きするには内部の動作を把握してないと無理。
だからみなあいまいな説明しかできない。

254 :デフォルトの名無しさん:02/05/10 17:31
>>252
アンセーフとアンマネージは違う。アンセーフはマネージコードです。
CLRはマネージコードを実行します。アンマネージコードも一部実行できます。
アンセーフはマネージですから完全にCLRの傘下で実行されます。

255 :デフォルトの名無しさん:02/05/10 18:59
>>230
マクロを #undef するよろし。

256 :デフォルトの名無しさん:02/05/10 20:41
MC++とJava(JNI)で連携できた。(・∀・)イイ!

257 :デフォルトの名無しさん:02/05/11 00:57
.NETとJavaとネイティブコードを混ぜられるのはC++だけ。C++最強!

258 :デフォルトの名無しさん:02/05/11 03:01
MC++で COMって書けるの?
厨でrjc

259 :デフォルトの名無しさん:02/05/11 03:41
>>258
ATLで /clr をつければできると思う。

260 :デフォルトの名無しさん:02/05/11 08:15
>>255
それしかないんだけど、なんかきたないね

261 :デフォルトの名無しさん:02/05/12 22:26
MC++やろうぜ!

1はどこいった?(ワラ

262 :デフォルトの名無しさん:02/05/13 17:07
↓で new Size のところ、フルネームにしないとコンパイルエラーに
なるんだけどなんでだろ・・・?

using namespace System;
using namespace System::Drawing;
using namespace System::Windows::Forms;

__gc class Form1 : public Form
{
public:
  Form1()
  {
//   this->Size = *__nogc new Size(400, 300);
    this->Size = *__nogc new System::Drawing::Size(400, 300);
  }
};

[ STAThread ]
int __stdcall WinMain(void)
{
  Application::Run(new Form1);
  return 0;
}

/*
cl /CLR /FU mscorlib.dll /FU System.dll /FU System.Drawing.dll
/FU System.Windows.Forms.dll Form1.cpp
*/

263 :262:02/05/13 17:17
IL的に面倒なことになってるのでちょっと修正。

  Form1()
  {
//   Size s(400, 300);
    System::Drawing::Size s(400, 300);

    this->Size = s;
  }

264 :デフォルトの名無しさん:02/05/13 17:22
>>263
FormにSizeプロパティがあるのと関係?

265 :262:02/05/13 17:30
>>264
あ〜、そういうことですか。Fontクラスもだめでした。
this->Size と System::Drawing::Size の判断ができないのか・・・。萎え。ヽ(´Д`)ノ
それはともかく、ありがとうございます。

266 :デフォルトの名無しさん:02/05/17 14:19
MC++やろうぜ!
http://www.codeproject.com/managedcpp/

267 :デフォルトの名無しさん:02/06/06 15:55
age

268 :デフォルトの名無しさん:02/06/06 16:14
wingdi.hに定義されているGetObjectと
System::Resources::ResourceManagerのGetObject
が、重なってしまいます。


ms-help://MS.NETFrameworkSDK.JA/vcmxspec/html/vcmg_AmbiguousReferences.htm
を見て完全限定名を使ってみたりしてるんですがwingdi.hの方で

#ifdef UNICODE
#define GetObject GetObjectW
#else
#define GetObject GetObjectA
#endif // !UNICODE

というようにdefineされてしまってResourceManagerのGetObjectがうまく使えません。
この場合は、どうしたらいいんでしょう?

System::Resources::ResourceManager *rm=
(new System::Resources::ResourceManager(S"testForm",Assembly::GetExecutingAssembly()));
this->set_Icon(dynamic_cast<System::Drawing::Icon *>(rm->GetObject(S"MainIcon")));



269 :デフォルトの名無しさん:02/06/06 16:28
>>268
ms-help://MS.VSCC/MS.MSDNVS.1041/vcmxspec/html/vcmg_MacrosandthePreprocessor.htm

270 :デフォルトの名無しさん:02/07/01 05:09
あげ

271 :デフォルトの名無しさん:02/07/02 19:17
manageC++でダイアログボックスとか使うときは自分でコード書かないといけないのですか?
リソースからボタン貼り付けてボタンダブルクリックするとMFCクラスウィザードとか出てきますが
MFCでしかウィザードは使用できないのですか?
manageC++ではひたすらコード書き込みですか


272 :デフォルトの名無しさん:02/07/02 22:42
マネドC++使っている人いますか?

273 :デフォルトの名無しさん:02/07/02 22:44
>>272
お前のすぐ上

274 :login:Penguin:02/07/02 22:52
普通に使ってますがなにか?

っていいたいところなんだけど、
C#の方が便利だし綺麗だ。
これが現実。

275 :_:02/07/14 01:56
ちょっとややこしいよね。そこまでC++に愛着ないし・・・

276 :デフォルトの名無しさん:02/07/14 14:36
さらしあげ
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=1638&forum=7

277 :_:02/07/14 15:16
なんかDOS→NTの時の3.1, 95みたいな香りがする。。。

278 :デフォルトの名無しさん:02/07/14 16:06
>>276
何だかなあ...

279 :あぼーん:あぼーん
あぼーん

280 :デフォルトの名無しさん:02/07/23 23:57
age

281 :デフォルトの名無しさん:02/07/26 02:01
盛り上がらんね

282 :デフォルトの名無しさん:02/07/26 02:12
managed C++ってなんですか?って聞いていい?

283 :デフォルトの名無しさん:02/07/26 03:07
>>282
VC++.NETに付いてるおまけ

284 :デフォルトの名無しさん:02/07/26 03:09
>>283
ありがと。

285 :デフォルトの名無しさん:02/07/26 03:12
>>284
それで納得するなよ。(w

286 :デフォルトの名無しさん:02/08/23 14:28
age

287 :デフォルトの名無しさん:02/09/25 14:16

CLR (゚ロ゚) クルァ!!

288 :デフォルトの名無しさん:02/10/07 19:55
あげ

289 :デフォルトの名無しさん:02/10/25 01:08
age

290 :デフォルトの名無しさん:02/10/29 20:43
あげ

291 :デフォルトの名無しさん:02/10/31 11:02
↑リンクエラーのことね

292 :デフォルトの名無しさん:02/11/02 18:33

      、ヾ''""ツノ,
     ミ ・д・ 彡  <ほっしゅほっしゅ!
     "ミ,, , ; ;;::ヾ
       "'''''""

293 :デフォルトの名無しさん:02/11/02 18:47
↑そりゃなんの生き物だ?

294 :デフォルトの名無しさん:02/11/02 19:27
ネタが無いのに延々と上げてる馬鹿がいるな

295 :デフォルトの名無しさん:02/11/05 11:30
こんな誰も使わないものに膨大な開発リソースをつぎこめるMSは
改めて凄い会社だとおもいます。まる。

296 :デフォルトの名無しさん:02/11/12 17:00
C は屑!!

297 :デフォルトの名無しさん:02/11/12 17:41
>>296
ネタもないのに上げるなって言ってるだろ

298 :デフォルトの名無しさん:02/11/23 01:59
お前の環境はどうなんてっだと、小一時間問詰めたい。

299 :デフォルトの名無しさん:02/11/24 18:56
久しぶりに揚!
そして300getは君の手に…

300 :デフォルトの名無しさん:02/11/24 19:05
年末もハイだぜ、ベイベー!
 ̄ ̄ ̄ ̄ ̄∨ ̄ ̄ ̄ ̄ ̄ ̄ ̄
      ,〜((((((((〜〜、
     ( _(((((((((_ )
     |/ ~^^\)/^^~ヽ|
      |  _ 《 _  |
      (|-(_//_)-(_//_)-|)
      |   厶、    |
      \ |||||||||||| /
      ⊂ \_______⊂ ⌒`つ≡≡≡(´⌒;;;≡≡≡
              ̄ (´⌒(´⌒;;


301 :デフォルトの名無しさん:02/11/25 12:59
もうこのスレ巡回からはずすよウワァァン

302 :デフォルトの名無しさん:02/11/25 14:24
だから上げるのならネタもってこい
無いのなら上げるな

303 :デフォルトの名無しさん:02/12/02 13:11
managed C++ってなんですか?

304 :デフォルトの名無しさん:02/12/02 13:23
まなげのじょうしき!

305 :デフォルトの名無しさん:02/12/02 13:29
>>303
上げるための自作自演uzee

306 :デフォルトの名無しさん:02/12/02 14:57
うんこちんちん

307 :デフォルトの名無しさん:02/12/08 03:49
CLR だから開発言語は好きで良いってのはお題目で
少なくとも社内では統一しないと駄目だしな。
結局 C# と VB.NET に移行するだけの予感。

308 :デフォルトの名無しさん:02/12/21 16:52
ふぅ・・・

309 :デフォルトの名無しさん:02/12/22 01:32
なんかMSやばいんじゃない?まじで。

310 :デフォルトの名無しさん:02/12/24 19:00
第32章C++マネージ拡張
http://www.microsoft.com/japan/msdn/net/books/ProgVCNET/chapter32.asp

311 :デフォルトの名無しさん:02/12/24 22:08
ManagedDXのソースコードを公開してくれれば
流行ると思うんだがなあ・・・

312 :デフォルトの名無しさん:02/12/24 22:13
ソースを見なくても基本的にラッパーなんだから同じようなものは作れるだろ
何のためにソースが必要なのか小一時間問い詰めたい

313 :デフォルトの名無しさん:02/12/24 22:15
> 基本的にラッパーなんだから

ManagedDXを見てない方がよくおっしゃる。

314 :デフォルトの名無しさん:02/12/25 09:49
>>313
ラッパー以外の部分というのを説明できない方がよくおっしゃる。

315 :デフォルトの名無しさん:02/12/25 10:44
>>313
見たことないから説明できないんだろ、ほっとけ。

316 :デフォルトの名無しさん:02/12/27 18:59
せめて一つのプロジェクトの中にC#とmanaged C++を混在できれば、
既存のC++のソースコードを(managed C++でラップして)流用するのに
都合が良かったのにな。
わざわざクラスライブラリ化するのは、作るのも取り扱いも面倒で嫌。

本当はmanaged C++だけで自分にとっては必要十分だし(普段はすべてUNIXなので)、
これを使いたいのだけどMSが全く力を入れないから困る。
各種サンプルやVisualStudio.NETでのRADとか。

317 :デフォルトの名無しさん:02/12/27 19:13
>>311
http://test.saurik.net/anakrino/Anakrino9.zip

318 :デフォルトの名無しさん:02/12/27 21:24
これ何?

319 :デフォルトの名無しさん:02/12/28 13:38
>>318
ildasmをすごくしたやつ(w

320 :デフォルトの名無しさん:02/12/28 17:43
必要なら自前で作るからイラネ

321 :デフォルトの名無しさん:02/12/28 18:25
>>320
逆コンパイルしてくれるって知ってる?

322 :デフォルトの名無しさん:03/01/05 13:17
もう次のコンパイラが出るわけだが・・・

323 :デフォルトの名無しさん:03/01/05 17:36
あげ

324 :IP記録実験:03/01/08 21:52
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を提出することがある。

325 :デフォルトの名無しさん:03/01/09 01:39
IP売ったりしないですか?

326 :デフォルトの名無しさん:03/01/09 02:27


基礎英語聞かなくっちゃwwwwwwwwwwwwww




327 :デフォルトの名無しさん:03/01/09 03:11
IP記録実験PART2
http://qb.2ch.net/test/read.cgi/accuse/1042020193/

328 :デフォルトの名無しさん:03/01/09 03:56
ID:ZBsKvw39 が嫌がってるから>>249は効果有りそうだな。

329 :デフォルトの名無しさん:03/01/09 12:51
managed C++でプロジェクトを作るとコンソールアプリのスケルトンができてしまいました。
formとかを使いたいとき、C#やVBみたいにツールボックスからドラッグ&ドロップしたいんですけど、
ツールボックス上のアイコンがみんなグレーになってます…。
これってすべてコードだけで記述しないといけないんですか?

330 :デフォルトの名無しさん:03/01/09 13:09
中学生ちゃんねるに移民する日はいつ?

331 :デフォルトの名無しさん:03/01/09 14:56
 ウェー、ハッハッハ                             イキデキネーヨ
   ∧_∧    / ̄ ̄ ̄ ̄ ̄ ̄ ̄ハライテ- ウェー、ハッハッハ     ウェー、ハッハッハ
.  ( ´∀`) <ZBsKvw39ってヴァカ? ∧_∧       〃´⌒ヽ
.  ( つ ⊂ )  \_______   (´∀` ,,)、     ( _ ;)
   .)  ) )   ○   ∧_∧      ,, へ,, へ⊂),    _(∨ ∨ )_
  (__)_) ⊂ ´⌒つ´∀`)つ    (_(__)_丿      し ̄ ̄し
          タッテ ラレネーヨ ウェー、ハッハッハ


332 :デフォルトの名無しさん:03/01/09 15:50
sscliの
sscli\docs\techinfo\native_managed_interop.html
ここに書いてある
[Managed Extensions for C++ Supported]
Native C++ classes can be compiled in the same assembly
as managed classes and can interoperate directly.
Managed methods can be exported directly
as dynamic library entry points.
これってどういう仕掛けなんだろう。マネージドコードのDLLにC++の
クラスをマネージドコードとして入れられるのはいいとして、それは
Precompileされた形なのかそれともILなのか。でも普通にアンマネージド
からリンクできるってことは実行バイナリなのかな。よく分からん。
メソッドのエントリポイントだけマネージドコードDLLの中に用意しておいて
アンマネージドからそれが呼ばれたら、JITコンパイラに制御を飛ばすって
意味に取ってるけどどうかな。

333 :デフォルトの名無しさん:03/01/09 16:06
ネイティブとマネージ好きな形式が選べる
一つのソース中で混合も可能

334 :デフォルトの名無しさん:03/01/09 17:19
======2==C==H======================================================

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

===============================読者数: 138720人 発行日:2003/1/9

年末年始ボケがそろそろ収まり始めた今日このごろのひろゆきです。

そんなわけで、年末に予告したIP記録ですが実験を開始しています。

「2ちゃんねる20030107」
こんな感じで各掲示板の最下部に日付が入ってるんですが、
20030107以降になってるところはログ記録実験中ですー。

んじゃ!

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

335 :デフォルトの名無しさん:03/01/09 23:12
Yahooトップきました。

http://www.yahoo.co.jp/

336 :デフォルトの名無しさん:03/01/10 01:00
あめぞうという昔旺盛を極めた掲示板は「誹謗・中傷・アダルトお断り」の文字を書き込んだ
事が原因の1つとなって潰れたが、いまの2chは「誹謗・中傷・密告お断り」というのを出したのと
同じ事なんだよなあ、、、

337 :デフォルトの名無しさん:03/01/10 09:40
動物病院の話はISP法以前で、書き込み者の発言を消さない頃の話
今は削除要請板に依頼さえ届けば、本気でまずいのは消してるから問題ないんじゃないの?

338 :デフォルトの名無しさん:03/01/10 10:01
動物病院の話はISP法以前で、書き込み者の発言を消さない頃の話
今は削除要請板に依頼さえ届けば、本気でまずいのは消してるから問題ないんじゃないの?

339 :デフォルトの名無しさん:03/01/10 10:20
>>106
どこまでが中傷かどうか判断するのが難しそうっすね、、
>>107
ん?どの書き込みに対してのレスですか?(^_^;)

内容証明が届いて、7日間以内に消さないと、
告訴されても負けちゃう可能性が強いってことになるのかなぁ、、

340 :デフォルトの名無しさん:03/01/10 10:52
>>455
DAT形式のログ管理だと大変そうだわな。

341 :デフォルトの名無しさん:03/01/10 11:36
西村 博之
「2ちゃんねる」管理人
1976年東京生まれ。
1998年に中央大学(心理学専攻)在学中に
合資会社東京アクセスを設立し、
web制作、システム開発、
システム設計等のプランニングの仕事を始める。
1998年の夏に米国アーカンソー州に留学。
1999年5月に「2ちゃんねる」という掲示板サイトを始める。
2001年6月にイレギュラーズアンドパートナーズ株式会社設立。
地域コミュニティーまちBBSやレンタル掲示板JBBSなど、
コミュニティ関連のサービス提供ばかりしている今日このごろです。

東京都北区赤羽北2-31-16-1311
090-9840-9821(電話は訴訟関係のみ)


342 :デフォルトの名無しさん:03/01/10 12:04
Age2ch、かな。
Windows、Linux、ソフトウェア、で今のところ見かけてる。

343 :デフォルトの名無しさん:03/01/10 12:55
>530
俺はマンコとかいてるがIPとられても怖くないぞ。もし文句あってもやめないからな!!

344 :デフォルトの名無しさん:03/01/10 15:19

おめでとうございます。
こちらこそ宜しくお願いします。

345 :デフォルトの名無しさん:03/01/10 16:46

誰も突っ込んでやらないので急にかわいそうになったんだよ・・

346 :デフォルトの名無しさん:03/01/10 23:07
>>312
キタ━━━━━(゚∀゚)━━━━━!!!!

347 :デフォルトの名無しさん:03/01/10 23:12
N速なんか一番腐った板なんだからちょうどいいんでないの。犯罪者予備軍
うようよいるだろうし

348 :デフォルトの名無しさん:03/01/11 00:30
ほぅ

349 :デフォルトの名無しさん:03/01/11 00:38
犯行予告・個人や法人に対する誹謗中傷
内部告発・差別的発言・タメ口・顔文字

ぐらいかな

350 :デフォルトの名無しさん:03/01/11 10:00
スレ立て人にも匿名性を持たせるらしいよ、今後

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

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

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

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

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

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

んじゃ!

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

352 :デフォルトの名無しさん:03/01/11 11:25
正直、杞憂。

353 :デフォルトの名無しさん:03/01/11 11:58
海外国籍の人!運営しなよ。
管理人は以前TVでいつでも、譲りたいって言ってたし。

354 :デフォルトの名無しさん:03/01/11 13:00
そそ、で本当にヤバい話なんてどれくらいあるかといえば(略

355 :デフォルトの名無しさん:03/01/11 13:31
じゃなに、今までは何でも言える時代だったって訳?


356 :デフォルトの名無しさん:03/01/11 16:16
2chをはけ口にしていた人はどこで憂さ晴らしをするのか少し興味ある

357 :デフォルトの名無しさん:03/01/11 16:23
ワリィ、それの元ネタなにさ?

358 :デフォルトの名無しさん:03/01/12 00:24
逆に立てて欲しくなかったんだが(w

359 :デフォルトの名無しさん:03/01/12 00:35
>類似発言を連呼すればグレーゾーンに入りますね。
で、何でそれをお前が決めるんだ??

360 :デフォルトの名無しさん:03/01/12 03:15
2002年2ちゃんねるアニメランキング1位のアニメに・・・・

モナーが出演決定!!!!!!!!!!!!!!!!!!!!!

<<放送時間>>
1/12
大阪 テレビ大阪 (日)9:30〜10:00
東京 テレビ東京 (日)9:30〜10:00
名古屋 テレビ愛知 (日)9:30〜10:00
福岡 TVQ九州放送 (日)9:30〜10:00
札幌 テレビ北海道 (日)9:30〜10:00
岡山・高松 テレビせとうち (日)9:30〜10:00 

361 :デフォルトの名無しさん:03/01/12 10:47
名無しは強制フシアナ(串は強力に規制)。
フシアナが嫌なら有効メアド入力。
両方とも嫌なら●購入。
これくらいやればユーザーは10分の1くらいに減るかな。

362 :デフォルトの名無しさん:03/01/12 21:21
エスパー伊東

363 :デフォルトの名無しさん:03/01/12 21:23
名誉毀損ってのは "事実" であっても該当するのは周知の事実ですよね。
(ただし、公共の利益になる場合はこの限りではないのだけど)

事実誤認のレスで 名誉を毀損された =営業的な不利益が生じた のであれば
確かにレスが事実誤認であることを証明するのは 原告側。

しかし その反証の場が 2ch でなくてはならないというのは ? です。

今や 2ch は管理人の個人サイトとは判断されないほど メディアとしての
認知・影響力が裁判所で認定されているですから
公序良俗に反する情報発信は情報の発信者が責任を負うべきでしょう。
その発信者の情報をわざと特定させないのは 
ある意味、確信犯的な共犯者と見なされても仕方ないでしょ。

(もちろん、Internet の匿名性 については十分、議論の余地はあります。)

364 :デフォルトの名無しさん:03/01/12 21:34
引き続き gamble 行きます。

365 :山崎渉:03/01/13 18:58
(^^)

366 :デフォルトの名無しさん:03/01/13 23:23
 4nd
フォンドボー?

367 :山崎渉:03/01/15 18:12
(^^)

368 :デフォルトの名無しさん:03/01/19 12:48
緊急浮上!!

369 :デフォルトの名無しさん:03/01/19 14:15
>>368
上げるならネタを出せ、無能者

370 :山崎渉:03/01/23 20:10
(^^)

371 :山崎渉:03/01/23 21:58
(^^)

372 :デフォルトの名無しさん:03/01/27 21:39
なんでこのスレは厨房が多いんだ?

373 :デフォルトの名無しさん:03/01/30 06:24
あげ

374 :デフォルトの名無しさん:03/01/30 19:09
>>373
上げるならネタを出せ、奴婢

375 :デフォルトの名無しさん:03/02/16 14:37
/clr付けるとフツーのC++コードもILで吐かれるんですね
これってパフォーマンス上のペナルティはないんでしょうか
(インライン化を阻害するとか)
(1)全部managed(JIT様を信じる)
(2)__gcの絡むところだけを#pragma managedして、
残りは#pragma unmanagedにする
どっちがいいですかね

376 :デフォルトの名無しさん:03/03/12 21:50
age

377 :デフォルトの名無しさん:03/03/12 22:02
>>376
上げるならネタを出せ、奴婢

378 :デフォルトの名無しさん:03/03/15 00:53
もう一度・・・浮上するんだ!!

379 :デフォルトの名無しさん:03/03/15 01:03
勃起age

380 :デフォルトの名無しさん:03/03/15 14:55
Bug Alert: Visual C++ .NET Loader Lock Issue
http://msdn.microsoft.com/visualc/techinfo/articles/loaderlock/default.asp

381 :デフォルトの名無しさん:03/03/18 00:01
結局使ってる人はいないという,,,,,,,

382 :デフォルトの名無しさん:03/03/18 00:03
>>381
MS社内開発者専用ツール

383 :デフォルトの名無しさん:03/04/06 00:47
VC++.NETのCD2枚目の
\Samples\VC\Extensibility\AppWizards
にコンソール用のアプリケーションウィザードと
ManagedC++WindowsFormのアプリケーションウィザードがある。

わざわざ別にしなくてもいいのに。


384 :山崎渉:03/04/17 15:40
(^^)

385 :山崎渉:03/04/20 04:23
   ∧_∧
  (  ^^ )< ぬるぽ(^^)

386 :デフォルトの名無しさん:03/04/30 10:19
 


387 :デフォルトの名無しさん:03/05/26 12:34
WindowsFormデザイナキタ━━━━━(゚∀゚)━━━━━!!!!




388 :デフォルトの名無しさん:03/05/27 00:35
もまいらVS2003になってVC++でもフォームデザイナがついたのに
なんにもなしですか!!!!!

389 :デフォルトの名無しさん:03/05/27 00:39
>>388
期待して良いのか?どうせまた裏切ら(ry

390 :デフォルトの名無しさん:03/05/27 00:42
フォームデザイナ以外の変更点を知りたいんだが
どこにも書いてねえよ

391 :デフォルトの名無しさん:03/05/27 00:48
>>391
それ以外にあるのか?

392 :デフォルトの名無しさん:03/05/27 00:51
ANSI C++に98%対応したっていうのはどうなったんだ?

393 :デフォルトの名無しさん:03/05/27 00:55
そりゃMC++とは関係ねえっしょ

394 :デフォルトの名無しさん:03/05/27 01:05
MC++はポインタ使えるの?それじゃー意味ないっしょっていうつっこみは無しで。

395 :デフォルトの名無しさん:03/05/27 01:08
恐ろしいことに、使える。

396 :394:03/05/27 01:13
>>395
回答ありがとう。
どうmanageするんだろうね。

397 :デフォルトの名無しさん:03/05/27 01:17
>>396
見てみたほうが早い

398 :394:03/05/27 01:22
>>397
そうだね。イメージ的には荒馬慣らしって感じがする>まったくの想像。

399 :デフォルトの名無しさん:03/05/27 01:24
JITが基本なのでスタックもヒープもそのままということ
インタプリタやJavaのようなものとは全く別物だよ

400 :デフォルトの名無しさん:03/05/27 01:28
>>399
ヒープは別。

401 :デフォルトの名無しさん:03/05/27 01:28
自分の中では「MC++はC#をC++風に味付けしたもので〜」という記事を
どこかで読んで以来、まったく興味を無くした経緯がある。

402 :デフォルトの名無しさん:03/05/27 01:31
>>400
GCに任せるかどうかは選択できるわけじゃん。

403 :デフォルトの名無しさん:03/05/27 01:46
>>401
「C#はMC++をJava風に味付け」の間違いではなくて?

404 :デフォルトの名無しさん:03/05/27 01:53
>>403
いや、「まずC#が先にあって〜」みたいな切り口だった。

405 :山崎渉:03/05/28 12:42
     ∧_∧
ピュ.ー (  ^^ ) <これからも僕を応援して下さいね(^^)。
  =〔~∪ ̄ ̄〕
  = ◎――◎                      山崎渉

406 :デフォルトの名無しさん:03/05/30 19:03
沈みすぎage

>>404
まず.NETがあって、じゃないかなあ


407 :デフォルトの名無しさん:03/06/01 20:14
小さな DLL だったら、
C# でラッパクラス作るよりも、
Managed C++ で書き直しちゃう方が早かった。
てか C# の DllImport うんちゃらがよう分からんですタイ。

Managed C++、思ったより使えそうな感触。

408 :デフォルトの名無しさん:03/06/01 20:28
>>407
そのための MC++ です
日本語の参考書籍・・・無いよなあ・・・

409 :デフォルトの名無しさん:03/06/02 01:21
無いっすねえ..

6800円かそこらの分厚い本で
VC++.NET 解説みたいなのんが有ったんで
チラっと眺めてみたんですが、
Manged C++ に関する記述は 20 ページかそこらだけ。
この厚さで... と涙せずにはいられませんでした。

つーか .NET と無関係な VC++ な記述が殆どを占めてて泣けた。
チラっと見ただけなんで間違ってるかも知れないけど。

410 :洗濯猫:03/06/02 15:20
初心者ですが、
MFCで作ったコードをマネージドに変換して
コンパイルして、
CRLで動くようにできますか?

またドキュメントビューアーキテクチャを
マネージドシープラで実現することは可能ですか?

411 :デフォルトの名無しさん:03/06/02 15:25
★クリックで救えるオマ○コがあるらしい★
http://yahooo.s2.x-beat.com/linkvp/linkvp.html

412 :デフォルトの名無しさん:03/06/02 15:37
>>410
間にラッパークラスを挟めば可能

413 :デフォルトの名無しさん:03/06/03 01:11
MFC 使ったやつとかよりも
API じか叩きしたようなのほど効果有るっぽい。

ところで参照渡しすれば C# で ref する扱いになるみたいだけど
out する扱いは無理ぽ?
ref だけで用事足りるからどうでも良いっちゃ良いのだけど
なんか無駄に気になったので。

414 :デフォルトの名無しさん:03/06/07 18:13
void WndProc(Message *m)
{
  if (m->Msg == WM_NOTIFY)
  {
    LPNMHDR nmhdr = (LPNMHDR)m->LParam;
  }
}

Managed C++でこういう感じにキャストしたい場合は、どういう方法でやればいいんでしょうか?
dynamic_castなどでもだめでした。。

415 :414:03/06/07 20:01
(LPNMHDR)m->LParam.ToPointer();
で出来ました。。

416 :デフォルトの名無しさん:03/06/07 20:57
ほう。なるほど。

417 :デフォルトの名無しさん:03/06/20 18:29
.NET C++ でWindowsフォームアプリケーションでウィンドウメッセージを捕まえるにはどうすればいいでしょう?
解像度変更を検出したいんだけど・・・。

418 :417:03/06/20 18:50
[System::Security::Permissions::PermissionSet(System::Security::Permissions::SecurityAction::Demand, Name="FullTrust")]
void WndProc(Message* m) {
// ...
}
ヘルプにはFormでWndProcをオーバーライドすると書いてあるんですが、
オーバーライドすると' マネージ型で、仮想メソッドへのアクセシビリティを少なくすることはできません。」
とエラー吐かれます。
そもそも1行目の [System::Security... は何を意味するかと子一時間...

419 :デフォルトの名無しさん:03/06/20 18:59
何で参照渡しをポインタにしているのか小一時間...

420 :417:03/06/20 19:35
protected:
 void WndProc(Message* m) {
  // ...
 }
これだけでいけますた。
さっきのエラーはprotectedで宣言された仮想関数をprivateには出来ねーぞって事でした。

421 :デフォルトの名無しさん:03/07/06 23:38
保守

422 :デフォルトの名無しさん:03/07/15 03:32
>>388
ほんとだ使えるようになってる。

MC++で
インデクサとforeachは使えないのでしょうか?
(演算子がC++の時のようにオーバーロードできないような...)


423 :デフォルトの名無しさん:03/07/15 05:35
サンプル作ってみた

#include "stdafx.h"
#using <mscorlib.dll>
using namespace System;
using namespace System::Collections;

#define mprint(x) System::Console::WriteLine( x );

namespace DesignPattern
{
__gc public class Book
{
private:
System::String *name;
public:
Book(){this->name = System::String::Empty;}
Book(System::String *n){this->name = n;}
__property System::String* get_Name(){return name;}
__property void set_Name(System::String *n){this->name = n;}
};

424 :422(続き):03/07/15 05:45
__gc public class BookShelf :public System::Collections::ArrayList,
public System::Collections::IEnumerator
{
private:
int mIndex;
public:
BookShelf(int maxsize) :mIndex(-1){}
__property int get_Length(){return __super::Count;}
void append(Book *b){this->Add(b);}
//インデクサが使えないので
Book* at(int index){return static_cast<Book*>( this->get_Item(index) );}
System::Collections::IEnumerator* GetEnumerator(){return this;}
__property System::Object* get_Current(){return at(mIndex);}
bool MoveNext(){
if(mIndex <(this->Length-1)){mIndex++;return true;}
else{return false;}
}
void Reset(){mIndex=-1;}
};
}

using namespace DesignPattern;

425 :422(続き):03/07/15 05:48
int _tmain(){
BookShelf *bookshelf = new BookShelf(3);
bookshelf->append(new Book(S"Book1"));bookshelf->append(new Book(S"Book2"));
bookshelf->append(new Book(S"Book3"));bookshelf->append(new Book(S"Book4"));
/*これをやりたいんだが...
foreach(Book book in bookshelf)
Console.WriteLine(book.Name);*/
//ちょっとだるいね
for(int i=0;i<bookshelf->Length;i++){System::Console::WriteLine( bookshelf->at(i)->Name );}
//だるいよだるすぎるよ
{IEnumerator *i = bookshelf->GetEnumerator();
i->Reset();
while(i->MoveNext()){
Book *book = static_cast<Book*>( i->Current );
mprint(book->Name);
};}
//ということで foreachをマクロでやってみる
#define mforeach(type____,identifier____,expression____) \
{ IEnumerator *i____ = expression____->GetEnumerator(); \
i____->Reset(); \
while(i____->MoveNext()){ \
type____ *identifier____= static_cast<type____*>( i____->Current );
#define mforeach_end \
}; \
}
//イイ
mforeach(Book,book,bookshelf)
mprint(book->Name);
mforeach_end
return 0;}


426 :デフォルトの名無しさん:03/07/15 08:38
Quake II .NET
http://www.vertigosoftware.com/Quake2.htm

カコ(・∀・)イイ!

427 :デフォルトの名無しさん:03/07/16 00:30
managed Age++

428 :デフォルトの名無しさん:03/07/18 23:54
マネージドなクラスをSTLのコンテナに入れることは、できないみたいだな。


429 :デフォルトの名無しさん:03/07/19 00:19
COBOLだけはガチ!

430 :428:03/07/20 12:09
gcrootを使ってできた。

431 :デフォルトの名無しさん:03/07/20 15:12
>>430
へー。
こんな感じでやってみたけどOKだった。
std::vector<gcroot<String*> > v;
for(System::Int32 i=0;i<100;i++){
v.push_back(String::Concat( S"test",i.ToString() ) );
}
Console::WriteLine( v[23]->ToString() );


432 :デフォルトの名無しさん:03/07/20 15:32
>>431
http://pc2.2ch.net/test/read.cgi/tech/1058618416/

433 :デフォルトの名無しさん:03/07/20 17:56
>へー。
>こんな感じでやってみたけどOKだった。
読んだ瞬間ダメだったのかと思って焦った。

ところでこのToString()はいらないよ。
>Console::WriteLine( v[23]->ToString() );

434 :デフォルトの名無しさん:03/07/25 19:17
>425
static_castでいいのかな?
dynamic_castで型のチェックした方がいいと思うんだが。

435 :425:03/07/25 21:19
>>434
ほんとですね。
動的にチェックするように変更しました。
(キャスト失敗時に System::InvalidCastException がスローされます)

#define mforeach(type____,identifier____,expression____) \
{ System::Collections::IEnumerator *i____ = expression____->GetEnumerator(); \
i____->Reset(); \
while(i____->MoveNext()){ \
type____ *identifier____= __try_cast<type____*>( i____->Current );

436 :デフォルトの名無しさん:03/07/27 01:17
http://homepage2.nifty.com/MXC03711/mc/managedcpp.htm

437 :山崎 渉:03/08/02 02:17
(^^)

438 :デフォルトの名無しさん:03/08/12 09:33
MSDNのXmlSerializerにあるサンプルをMC++で試しているのですが、
__gc struct Address{
[XmlAttribute] String *Name;
};
の[XmlAttribute]のアトリビュートだけがなぜか見つからないと出ます。
解決策はないのでしょうか?

(他の属性はSystem.Xml.dllを参照の追加してOKでした)↓
[XmlElementAttribute][XmlArrayAttribute][XmlRootAttribute]



439 :デフォルトの名無しさん:03/08/12 09:51
そりゃXmlAttributeAttributeじゃな。たしかに紛らわしいけど。
最初のAttributeはXMLの属性のことで、次のAttributeは.NETの属性のことじゃ。

440 :デフォルトの名無しさん:03/08/12 13:17
>>439
[XmlAttributeAttribute]でできました。ありがとうございます。
System.Attributeの派生クラスでないと属性には使えないから
System.Xml.XmlAttributeはSystem.Xml.XmlNodeの派生クラスでXMLの属性なんですね。

C#,MC++ともにTest.HogeAttribute が属性の[]の中では
[Test.Hoge]か[Test.HogeAttribute]と書けるみたいです。

だから、C#で[XmlAttribute]と書かれたものはXmlAttributeかXmlAttributeAttributeのはず。
したがって、属性クラスのSystem::Xml::Serialization::XmlAttributeAttributeを使えばよい。

ただ、MC++で[XmlAttribute]とするとエラーが起きる模様。(->XmlAttributeAttributeとは自動解釈しない?(安全策?))
また、C#では[XmlAttribute]でも可能。でも、カーソルを持っていくと、
ツールチップにSystem.Xml.XmlAttributeと表示されるみたいだが???...。
(->C#コンパイラはXmlAttributeAttributeを選んでるのかな?)

usingする前提だと名前の衝突で紛らわしいことになるからフルネームで
[System::Xml::Serialization::XmlAttributeAttribute]
としておいたほうがいいのかな。
ただ、System::Xml::Serialization::XmlAttributeAttributeAttributeができたとき,
C#とMC+でどうなるのかは試してないです。


441 :山崎 渉:03/08/15 15:40
    (⌒V⌒)
   │ ^ ^ │<これからも僕を応援して下さいね(^^)。
  ⊂|    |つ
   (_)(_)                      山崎パン

442 :デフォルトの名無しさん:03/08/20 20:07
checkedステートメント
は使えないのでしょうか?


443 :デフォルトの名無しさん:03/08/22 17:55
>442
使えないようですね。


444 :デフォルトの名無しさん:03/09/10 19:34
age

445 :デフォルトの名無しさん:03/09/23 22:38
昔ドキュメントビューアーキテクチャでC++あきらめました。
Del厨です。
最近C#がだいたい使えて来たので、
MC++→MFC→非MFCと言う順番に学習したいと思ってます。
C♯→MC++移行で参考になるようなサイトないでしょうか。
たとえば、初心者はC♯よりもVBよりもMC++なら将来ネイティブアプリ作れるとか、
たとえばC++なのに.NETなら簡単にブラウザを作れるみたいな。
無理?

446 :デフォルトの名無しさん:03/09/23 22:54
→非MFCは別にいらんとおもうけどなあ

447 :デフォルトの名無しさん:03/09/24 09:19
>MC++なら将来ネイティブアプリ作れるとか
カエレ!

448 :デフォルトの名無しさん:03/10/03 05:37
C#プロジェクト(アプリ)にMC++プロジェクト(ライブラリ)を挿入して、
参照の追加をしているのですが、
test.cpp で普通にインクルードしたいのですが、例えば
#include<string>とすると

test error LNK2001: 外部シンボル ""void * __cdecl memmove(void *,void const *,unsigned int)" (?memmove@@$$J0YAPAXPAXPBXI@Z)" は未解決です。
test error LNK2001: 外部シンボル ""void __cdecl __CxxCallUnwindDtor(void (__thiscall*)(void *),void *)" (?__CxxCallUnwindDtor@@$$J0YAXP6EXPAX@Z0@Z)" は未解決です。
test error LNK2001: 外部シンボル ""void __cdecl operator delete(void *)" (??3@$$FYAXPAX@Z)" は未解決です。
.... (計:30件)
というエラーが出てしまうのですが、解決策はあるのでしょうか?
(VC2003,XP)

NG: vector,list,deque,string,locale,boost/shared_ptr.hpp ....
OK: cstdlib,cstdio,boost/timer.hpp,typeinfo,boost/scoped_ptr.hpp ....


449 :デフォルトの名無しさん:03/10/28 21:35
おい!
managedC++はなんでフォーム継承できないんだ?????

450 :デフォルトの名無しさん:03/10/29 10:51
VBやC#からでも簡単にCOMが呼べることを知って、MC++を使わずにATLで
コンポーネントを相変わらず書いている私は逝ってヨシですか?

移行するタイミングが難しいんだあ。

451 :デフォルトの名無しさん:03/10/29 14:38
Managed C++は次のバージョンで文法が全く別物になります。

452 :デフォルトの名無しさん:03/11/23 22:55
仕様書のドラフト版出たよ。
ttp://download.microsoft.com/download/9/9/c/99c65bcd-ac66-482e-8dc1-0e14cd1670cd/C++%20CLI%20Candidate%20Base%20Draft.pdf

453 :デフォルトの名無しさん:03/11/26 12:29
MFCとどっちが仕事になりますか

454 :デフォルトの名無しさん:03/11/26 13:30
>>450
結構居るみたいですよ、そんな人。逆もできるしね。
.NETの相互運用能力ってちょっといい感じ。お気に入りです。

455 :デフォルトの名無しさん:03/11/28 20:55
人気ないなぁ・・・

>>452
C++/CLIだって。

N* hn = new N; // allocate on native heap 40
N& rn = *hn; // bind ordinary reference to native object
R^ hr = gcnew R; // allocate on CLI heap
R% rr = *hr; // bind tracking reference to gc-lvalue

^とか%使い回すあたり、なんか好きだ
CLIヒープクラスも指定子がrefになって、見た目に分かりやすいな
いいかげん、__hogeな書式のキーワードはうんざりだからな
リリースはいつごろだろう

456 :デフォルトの名無しさん:03/11/28 20:58
てか、CLIヒープクラスって言い方は違うのかな
クラスの種類にかかわらず、newもgcnewもできる?
もう少し読もう

457 :デフォルトの名無しさん:03/11/28 21:02
単にref classと言えばいいのか?
C++のリファレンスとの関連性はあるんかな
もう少し読もう

458 :デフォルトの名無しさん:03/11/28 22:22
ちかれた・・・。
やっぱ単に__gc → refか。
for eachはよいね。

459 :デフォルトの名無しさん:03/11/28 22:36
>CLIヒープクラスも指定子がrefになって、見た目に分かりやすいな

この時点で、

__gcクラスも指定子がrefになって、見た目に分かりやすいな

と言えばよかっただけか。
てか、誰もいないじゃん。一人芝居ショボン

460 :デフォルトの名無しさん:03/12/05 12:54
以前、「managed C++は整数もかならず整数オブジェクトになる」と言われますた。

そのときはアホな設計だなぁ、と思ったのですが、
手元にあるショボイ入門書を見ると「単純型」というのがあるので、
これが Javaでいうプリミティブ型に相当するのではないかと思うのですが、
実際のところどうなんでしょうか。教えて Teach Me

461 :デフォルトの名無しさん:03/12/05 16:12
>>460
そうだよ
value classのこと
Javaより柔軟だから

462 :461:03/12/05 16:13
と、思ったが何か違うな

そもそも、「managed C++は整数もかならず整数オブジェクトになる」んだっけ?
教えて Teach Me

463 :461:03/12/05 16:30
多少こんがらがったが、

Managed C++ ≒ Java
__value class≒primitive type
__gc class≒class
__box(__value class)≒class Wrapper { primitive type member; }

こんな感じ



464 :デフォルトの名無しさん:03/12/06 00:41
>>460
javaで言うところの、primitive型とclass型の間を、比較的簡単に
行き来できるのが.NET系の言語の特徴。

MC++でもそれを利用できるが、intと書いただけでIntegerオブジェクトが
生成されるわけではない。

value型とclass型の違いはCLRでも重要な事項なので、
MC++に触れる前にしっかり理解しておいたほうがいいと思う

465 :デフォルトの名無しさん:03/12/06 13:11
アンマネージドコンテキストに限定して書いてるのかもしれないけど、
MC++でも、intはSystem::Int32 value type(simple type) だと思うよ



466 :デフォルトの名無しさん:03/12/06 13:20
>>465
コンテキストに依存するのでは?

467 :デフォルトの名無しさん:03/12/07 02:41
寂れてる様に見えるが見てる人はゼロでないのだな

468 :デフォルトの名無しさん:03/12/07 03:01
>>466
そう書いたつもりが、そうなってなかった
宇都氏

469 :デフォルトの名無しさん:03/12/07 11:09
>>467
そろそろ飼いならした人が増えてきてもいいんじゃないかなー
日本語の解説書が欲しいところ

470 :デフォルトの名無しさん:03/12/07 13:51
>>469

出版社を探して自分で翻訳;-p

471 :デフォルトの名無しさん:03/12/08 00:26
一冊全部MC++って、話題もつの?

472 :デフォルトの名無しさん:03/12/08 01:15
http://www.amazon.co.jp/exec/obidos/ASIN/0735617244/
http://www.amazon.co.jp/exec/obidos/ASIN/1893115283/
このへんかな。前者は持ってる。

473 :デフォルトの名無しさん:03/12/22 20:25
これはC++じゃないと思った。

474 :デフォルトの名無しさん:04/01/22 07:36
さすがに濃い内容ですなあ。
ttp://weblogs.asp.net/slippman/

475 :デフォルトの名無しさん:04/01/23 19:11
>448
かな〜り遅いレスだが、これは msvcrt.lib, msvcrtd.lib をリンクすればいい
でも、なるべく #pragma unmanaged のエリアで使おう


476 :デフォルトの名無しさん:04/01/23 19:16
ところで、漏れの質問なんだが boost::spirit をアセンブリにして利用したくて
managed C++ で boost::spirit のC構文のサンプルをコンパイルしたんだが、
C1129 つーエラーが出て歯がたたねぇ

普通のC++としてはサンプルは無事動くのに、managed C++ じゃテンプレートの
展開が違うのか?


477 :デフォルトの名無しさん:04/01/27 10:04
>476
自己解決。boostをインクルードしているとこまでまとめて unmanaged 指定してやったら
コンパイルは通過。ただし、リンクエラーLNK1254でだめぽ
r'⌒X⌒X⌒X⌒X⌒X⌒X⌒X⌒X⌒X⌒X⌒X⌒X⌒X⌒X⌒ヽ ⊂゙⌒゙、∩
ヽ__乂__乂__乂__乂__乂__乂__乂__乂__乂__乂__乂__乂__乂__乂__ノ  ⊂(。Д。)

478 :デフォルトの名無しさん:04/01/31 17:11
.NETも従来のC++も使いたいんだけど
コードの中で混在させる事は出来ますか?
.NETは資料が少ない(C++の場合)ので、自分にはメインでは使えないのですが
簡単にスレッド起こせたり、フォームの半透明とかが簡単だったりするんで・・・


479 :デフォルトの名無しさん:04/01/31 19:44
混在可能。

> 自分にはメインでは使えないのですが
> 簡単にスレッド起こせたり、フォームの半透明とかが簡単

そういう部分をメインというと思うんだがどうか。

480 :デフォルトの名無しさん:04/01/31 21:06
質問です。

C#で
Byte[] sendBytes = Encoding.ASCII.GetBytes("01"+textBox1.Text+" "+textBox2.Text+"\0");
こんな感じで書いてたコードを
managedC++で書き直したいのですが
どうすれば良いのでしょうか?
Byte sendBytes[] = Encoding::ASCII->GetBytes("01" + textBox1->Text + " " + textBox2->Text + "\0");
これだと、ポインタにポインタが足せないと言われてしまいます。


481 :デフォルトの名無しさん:04/01/31 21:09
>>480
地道に String::Concat かな?

482 :デフォルトの名無しさん:04/01/31 21:11
文字列4つまでは Concat で一度に連結できるようだ。

483 :デフォルトの名無しさん:04/01/31 21:20
どうもです。
とりあえず
sprintf(buf2,"01%d %d\0",textBox1->Text,textBox2->Text);
としました。。。(Cの知識しか殆ど無かったりします。

484 :デフォルトの名無しさん:04/01/31 21:21
%sの間違いです。

485 :483:04/01/31 21:37
またまたすみません。。。
>>480で書いたC#のコードと
>>483でやったコードの結果が違うようです。
一応、この文字列をUDPでサーバーへ転送するのですが
サーバー側でフフフという文字が大量に発生してしまいます。(\0が無い為?
何故このような事がおきるのでしょうか?


486 :デフォルトの名無しさん:04/01/31 21:40
sprintf(buf2,"01%d\n %d\n\0",textBox1->Text,textBox2->Text);
こんな感じで\nを付けてみ


487 :483:04/02/01 00:16
>>486
どうもありがとうございます。
無事出来ました。

488 :デフォルトの名無しさん:04/02/01 16:26
namespace 会社名.プロジェクト名
{
  public class ホゲホゲ
  {
  }
}

C#で上のように書いたコードを Managed C++ で書き直した場合どうする?

namespace 会社名.プロジェクト名
{
  __gc class ホゲホゲ
  {
  };
}

って書けない?
namespace を一発で書くような方法をきぼんぬ。


489 :デフォルトの名無しさん:04/02/01 19:01
IPEndPoint *RemoteIpEndPoint = new IPEndPoint(IPAddress::Any, 0);
Byte receiveBytes[] = udpClient->Receive(&RemoteIpEndPoint);
String *returnData = Encoding::ASCII->GetString(receiveBytes);
MessageBox(NULL, returnData, "", MB_OK);


こんな感じで受信結果をMessageBoxで表示したいのですが
型が違うため出来ません。
どのようにすればいいのでしょうか?

490 :デフォルトの名無しさん:04/02/01 19:15
・どの行でエラーになってるのか
・エラーの詳細
を書け

491 :489:04/02/01 19:32
MessageBox(NULL, returnData, "", MB_OK);
ここで
error C2664: 'MessageBoxA' : 2 番目の引数を 'System::String __gc *' から 'LPCSTR' に変換できません
        マネージ型をアンマネージ型に変換できません。

です

492 :489:04/02/01 19:35
とりあえず
sprintf(RevBuf,"%s",returnData);
こんな感じで、無理やり変換しましたけど。。。
なんだかなぁ・・・


493 :デフォルトの名無しさん:04/02/01 19:37
>>489
String型をC文字列に変換するメソッドがあると思うけど。

494 :デフォルトの名無しさん:04/02/04 23:51
う〜む・・・
なんでMC++はこんなに普及しないんだ?
時期OSの仕様がああなった以上、.NETは避けて通れない道
現に、C#の書籍や情報はあちこちに溢れてる

でも、C++で.NETってのがこんなに普及してないのが不思議でしょうがない。
なんでだろう・・・・・
俺も勉強したくても書籍はないわWebにも殆ど資料ないわ、MSDNにはC#とVB.NETのみだわで大変

もしかしてC#の方が楽って事?
Win32APIやMFCで作った過去の遺産を使いたいって人も居ると思うんだが・・・


495 :デフォルトの名無しさん:04/02/05 00:26
VisualStudio.NET2002では、ManagedC++でのフォーム作成がGUIでできなかったって
聞いたことあるけどホントですか?

496 :デフォルトの名無しさん:04/02/05 01:06
VisualStudio買わないとVC++の最適化コンパイラが手に入らないのが(´・ω・`)

497 :デフォルトの名無しさん:04/02/05 05:52
>>494
MC++とはまた別のものを作ってるという話もあるよ

498 :デフォルトの名無しさん:04/02/05 16:25
C++/CLIでそ
MC++はつなぎなんじゃないの

499 :デフォルトの名無しさん:04/02/05 20:38
C#の方が256倍マシ
.NETでマネージドC++なんか使ってるやつの気がしれない


500 :デフォルトの名無しさん:04/02/06 23:19
情報量の少なさに耐えかねてMC++見限ってC#に行きました。。。
これもMSの計略か・・・・

501 :デフォルトの名無しさん:04/02/07 01:35
C++はネイティブのオブジェクト指向言語というだけの価値しかないわけだし。
ネイティブじゃないなら存在意義が無いし

502 :デフォルトの名無しさん:04/02/07 02:18
んー、でもXMLシリアル化とか結構魅力なんだよねー。

503 :デフォルトの名無しさん:04/02/07 10:06
MC++はラッパとしての価値がメインなんじゃね?
COM化するのが正統なんだろうけど、それもメンドいことあるし。

504 :デフォルトの名無しさん:04/02/07 12:41
>488
それは漏れも悩んだが駄目らしい

boost みたく

namespace boost { namespace spirit {

}}
と書くことにしてる。こういうところこそ拡張してほしかったんだが

505 :デフォルトの名無しさん:04/02/07 20:03
newがあるのに対になるdeleteが無いのはおかしい
前のドアがあるのに裏口が無いようなもの

506 :デフォルトの名無しさん:04/02/07 20:10
>>565
テレビで食事は放送しても排泄は放送しないだろ。

507 :デフォルトの名無しさん:04/02/07 20:14
>>565は排泄ネタを振ることを運命付けられてしまったわけだが

508 :デフォルトの名無しさん:04/02/09 12:56
確かにnewじゃなくてinitとかの方が自然だ。

509 :デフォルトの名無しさん:04/02/09 17:17
>>505
入るときにはどのドアに入るか自分で選ばないと駄目だけど、
出るときは自動排出。

510 :デフォルトの名無しさん:04/02/09 18:12
つうかさ、newなんているの?
A a;
a = A( 3);
これでよくない?

511 :デフォルトの名無しさん:04/02/09 18:26
ぶっちゃけ
型や構造体と同じ使い方で良い

512 :デフォルトの名無しさん:04/02/09 21:41
>510
Test test(80, 100);

こういう宣言ができれば、new 無しでもいいんだよなぁ
ref もあるわけだし、受け渡しで困るわけで無し
(´-`).。oO(・・・なんでマネージド型はポインタじゃないといけないんだろう)


513 :デフォルトの名無しさん:04/02/09 22:27
値型はポインタではないのでは?

514 :デフォルトの名無しさん:04/02/10 10:07
値型の参照で操作することに統一してはあかんの?


515 :デフォルトの名無しさん:04/02/10 12:54
>513
マネージド型って値型で作成できるの?
__gc が付くクラスは new しないと駄目よってエラーが出るんだけど


516 :デフォルトの名無しさん:04/02/10 15:37
>>515
__value 使え

517 :デフォルトの名無しさん:04/02/10 15:40
>>515
__value struct V {
int i;
int r;
};
とか。

518 :C ◆dZiiJEl1F6 :04/02/10 16:22
>517
それはちゃんと参照渡ししてくれるの?
値渡しでは意味なさそうだが・・




519 :デフォルトの名無しさん:04/02/10 16:22
>516-517
IsValue を入れると付くやつだよね?
これってマネージド型とは排他的だと思うんだけど


520 :519:04/02/10 16:46
マネージ型の基本事項、制限事項読んできた
('A`)マンドクセ ・・・MC++の存在意義を見失いそうな気分です


521 :デフォルトの名無しさん:04/02/10 17:37
>>520
>MC++の存在意義
既存コードの流用が簡単ってこと以外、MC++に意義なんてあったっけ?

522 :デフォルトの名無しさん:04/02/10 18:36
>>518
次のコードで参照渡しはできそうだね。
#include "stdafx.h"
#using <mscorlib.dll>
using namespace System;
public __value struct V
{
int i;
int r;
};
__gc class TestClass
{
public :
static void Test(V& va)
{
va.i = 4;
va.r = 8;
}
};
int _tmain()
{
V v1;
v1.i = 2;
v1.r = 4;
Console::WriteLine(S"v1.i = {0}", v1.i.ToString());
Console::WriteLine(S"v1.r = {0}", v1.r.ToString());
TestClass::Test(v1);
Console::WriteLine(S"v1.i = {0}", v1.i.ToString());
Console::WriteLine(S"v1.r = {0}", v1.r.ToString());
Threading::Thread::Sleep(5000);
return 0;
}

523 :デフォルトの名無しさん:04/02/11 12:44
>521
既存コードの流用もCOMにしておいた方が便利だし、あまり利点になってない
既存C++のパワーと.NETライブラリの融合を期待していたのに_| ̄|○

524 :デフォルトの名無しさん:04/02/11 16:15
>>504
レス、サンクス!
質問の意味が分からず、総スカン食らったのかと思たよ。

けど、やっぱ、ダメなのね。

これが煩わしいのと、
C#でいうところの param が指定されたメソッドを呼び出すのが煩わしいのがあって、
MC++は、本格的に利用できないね。

さらに次のバージョンではC++ CLIになるし、
個人的に、MC++はボツかなぁ....。


525 :デフォルトの名無しさん:04/02/11 17:54
WinFX C++CLI
.NET MC++
ということ?

526 :デフォルトの名無しさん:04/02/11 17:55
C#でいいじゃん
なんでC++にそこまで執着するわけ?
もうC++ CLIも要らないよ

527 :デフォルトの名無しさん:04/02/11 20:23
C++には夢があるんだよ、夢が。
特にtemplateの夢はC++プログラマなら離れられないものなんだよ・・・。

528 :デフォルトの名無しさん:04/02/11 20:57
>>527
いまどきテンプレートだって。
Visio 使えよ Visio! プ

529 :デフォルトの名無しさん:04/02/11 21:14
>528
最近の Visio はすごいんだな((;゚Д゚)ガクガクブルブル

>526
template に関しては Generic で C# でもサポートされるところがあるから、微妙かな

ただ、やっぱりあるでしょ? MSに対するそこはかとない不信感が(w
だから、C++ はあくまで限りなく標準のままに .NET との親和性を深めてホスィ


530 :MaccroSoft:04/02/11 21:16
>>529
信じよされば巣食われる。


531 :デフォルトの名無しさん:04/02/11 21:22
> ただ、やっぱりあるでしょ? MSに対するそこはかとない不信感が(w

だからC#使うんだよ。ECMA標準。もうすぐISO標準。

532 :デフォルトの名無しさん:04/02/11 21:24
C++も、MFCによって成長した感があるから、あんまり変わんないや・・・

まぁ、漏れは趣味ではC、仕事ではJavaとCOBOL(過去の遺産w)だけどね。


533 :デフォルトの名無しさん:04/02/11 21:43
C++ の template なんか C++ のプログラマの中でも
Visio より知名度が低かったりして。

534 :デフォルトの名無しさん:04/02/11 21:57
>533
さすがにそれは・・・、Java も C# も template のありがたみがわかって回帰してるわけだし

C#の標準化ってCILも含めてなの? それとも言語仕様だけ?


535 :デフォルトの名無しさん:04/02/11 22:01
文法だけ。CLI含まず。

536 :デフォルトの名無しさん:04/02/11 22:22
>>534
MFC厨だとありえるが・・・

537 :デフォルトの名無しさん:04/02/11 22:45
>535
そっか。ごめん漏れにはやっぱりMSは信じ切れないよ(´・ω・`)
C++ CLI が来るまで待つかぁ

>536
恐ろしい話だ・・・


538 :デフォルトの名無しさん:04/02/11 23:19
>>537
C++ CLI出ても、それはMS主導だから一緒でしょ

539 :デフォルトの名無しさん:04/02/12 04:02
MFCやCOMですら既に十年以上続いてるわけだが
信用できないとか言ってる奴はアフォか?

540 :デフォルトの名無しさん:04/02/12 23:54
まぁ、結局MFCやCOMをバカにしてるのは、
Windowsの動作そのものを理解してないやつばっかり。


541 :デフォルトの名無しさん:04/02/12 23:58
>>540
すみません、Windowsの作者ですがMFCやCOMを馬鹿にしてますが何か?

542 :デフォルトの名無しさん:04/02/13 00:41
>>541
ああ、あなたがあのブサイクなメガネチビ・・・

543 :デフォルトの名無しさん:04/02/13 02:09
カトラー様を侮辱する気か!

544 :デフォルトの名無しさん:04/02/13 06:58
CPUの研究者にはフォンノイマン症候群ってものが
あるらしいけど、OS板の香具師はデビッドカトラー
症候群ってものがあるのかな。カトラーだって
MachのアイディアをMSに持ち込んで、そこから設計したって
いうのにね。OSASK。。。

545 :デフォルトの名無しさん:04/03/02 02:02
#include <atlbase.h>
するとこんなエラー出るんですけどどうにかならんですか?

error LNK2020: 未解決のトークン (0A00000B) atexit
error LNK2020: 未解決のトークン (0A000012) ??_7type_info@@6B@
error LNK2020: 未解決のトークン (0A00001A) free
fatal error LNK1120: 外部参照 3 が未解決です。

CComPtr とか使いたいのに

546 :デフォルトの名無しさん:04/03/06 15:04
>545
>475

547 :545:04/03/07 00:28
ありがと〜(^ー^)/
たすかりますた!!
ここはいいインターネットですね。

548 :デフォルトの名無しさん:04/03/08 13:56
Win32 Platform SDKと.NET Framework SDKとは共存できないのでしょうか?
前者を入れた後に後者を入れると前者のドキュメントの目次等が表示できなく
なるのです。解決策等ご存知でしたら、ご教示願います。

549 :デフォルトの名無しさん:04/03/08 14:03
>>548
漏れもそれなった。PSDK入れた後に.NETSDK1.1を入れたら。
とりあえず不具合はそこだけなので、そのまま放置してます。

550 :デフォルトの名無しさん:04/03/08 14:23
素直にVS買えよ

551 :548:04/03/09 03:47
自己レスです。逆順でインストールしたら解決しました。

552 :デフォルトの名無しさん:04/03/13 18:26
C++/CLI ってどこかに情報あるの?
Wedbey のところじゃ、__gc が ref になるとかSTLとの親和性が上がるとかの
断片的な情報しかないんだけど、ECMAに仕様を提出して標準化するって書いてあるから
今のうちにMC++との違いを認識しておきたいんだけど

とりあえず、ロードマップの日本語版
ttp://www.microsoft.com/japan/msdn/vstudio/productinfo/roadmap.asp


553 :552:04/03/13 18:29
いちおう、こんなん見つけた

PDFなんで注意
ttp://download.microsoft.com/download/9/9/c/99c65bcd-ac66-482e-8dc1-0e14cd1670cd/C++%20CLI%20Candidate%20Base%20Draft.pdf

554 :デフォルトの名無しさん:04/03/13 18:39
>535
このPDF見ると、CLIもECMA,ISO/IECに標準化するのね


555 :デフォルトの名無しさん:04/03/15 03:00
っていうか、そこまでしてC++に執着してC++/CLIに移行するメリットあるのかな・・・
素直にC#に行った方が飯食える気がする・・・
っていうか、C++/CLIって出る前から雲行き悪すぎるし、話題にすら殆ど上がって無いあたり。。。

MSは次期OSは.NETで統一するんだし(決定済み)
.NETの為に作成したC#が一番.NETが使いやすいんだし(事実)

こう考えると、C++にいくら自分が残っても、飯食うために使う事は出来ない気がするんだけどなぁ・・・


556 :デフォルトの名無しさん:04/03/15 03:40
死滅スレのノリですな

557 :デフォルトの名無しさん:04/03/15 04:48
managed C++は既存のC++で組まれたアプリケーションを.NET環境に移行するためのものだね。
(そういう需要があるかとか、移行がスムーズにいくかはさておき)

新規の開発でmanaged C++を選択する必要性や動機はほとんど無いだろね。
>555が書いてるように、C#で開発した方が生産性高い。
C#が選択肢になりえない対象の場合は、managed C++も選択肢にほぼなりえない。


558 :デフォルトの名無しさん:04/03/15 06:08
ネイティブコードとマネージドコードの「つなぎ」に使うためのものじゃないのか?>MC++

559 :デフォルトの名無しさん:04/03/15 07:51
つなぎというのが何を指してるのか今市よく分からんが
マネージドコードからアンマネージドなコードを呼ぶだけなら
なおさらMC++である必要はない罠


560 :デフォルトの名無しさん:04/03/15 13:01
なんでそこまで CLR 上で C++ が動くことに反発するのかわからんが、MS がこの方向を
覆すことだけはないって

もしも、現状の MSIL と CLR が C++ を載せる能力がないと MS が認めてしまったら
将来、CLR 上でのベースAPIとなる WinFX が C++ に対して親和性がないと言っている
ことになってしまう
Longhorn でのアプリが .Net とネイティブ C++に2局化してしまう。これは CommonLangage
として .Net を位置づけようとしてる MS にとっちゃ問題だろう?
Win32 から WinFx への移行が進まなくなる

既存の VC++ での開発者を WinFX に流すためにも MS が C++ を外すことはないだろう
それが MC++ ではなく、C++/CLI なだけで


561 :デフォルトの名無しさん:04/03/15 17:57
反発してるんじゃないんだよ
(本来の)C++や、MC++、C#などを一通りやった上で
ネイティブアプリケーションに比べると、いくらか足枷が出来てしまう
.NETアプリの開発ではC++の生産性の悪さが目に付いてしまうだけ
現状の.NET Frameworkだとネイティブアプリだと普通に出来ることを
実現するのに様々なトリックが必要になったりするからね
あと、MSが一番力入れてるのはC#だろう
MC++については既存の開発者の移行を促すと言う意味では賛成だが
あくまで移行のための言語であって、主力になりえるとは到底思えない


562 :デフォルトの名無しさん:04/03/15 18:51
MC++ に関しては移行のためにとりあえずやっつけで作ったものだけど、開発者の
理想としては、従来の VC++ で組んだアプリがそのまま CLR 上に載ることでないの?
それが実現できれば、アンマネージドな軽快さとマネージドの堅牢性があいまって
最強の環境になると思うんだが
とりあえず、MS はその方向へ向かおうと努力しているように見える(と信じたい)

もちろん、.Net の開発環境として最適なのは C# って点には同意するし、漏れも C# は
大好きだ


563 :デフォルトの名無しさん:04/03/15 20:06
現状として
> 従来の VC++ で組んだアプリがそのまま CLR 上に載る
ということはないし、実際
> MS はその方向へ向かおうと努力している
ということもないように私は思う。将来的にはWin32の方が
ネイティブではなくなり、エミュレータ上で動くようになって、例え
> Longhorn でのアプリが .Net とネイティブ C++に2局化してしまう。
としても、結局は後者の(高速性等の)メリットはなくなってしまう
であろう。
結果として、managed C++で.Netを学びつつもその扱いにくさを
感じ、その後C#を学んで言語・APIセットともに移行が完了すると
いう順序をMSは目論んでいるのであろう。すなわち、managed C++は
C# & WinFXに向かうための迂回路の1つとして用意されているに
過ぎないと考えられる。

しかし、例えばWin & Macなどクロスプラットフォームで作っている
サードパーティのために、Mac動作の.Net環境をMSが作るかどうか…。

564 :デフォルトの名無しさん:04/03/15 21:11
MC++とC++/CLIって別物ですか?

565 :デフォルトの名無しさん:04/03/15 22:18
>564
MC++ が移行準備段階で、C++/CLI が移行中な感じ
個人的には WinFX が来るのと同時に、C++/CLI がもう一つ構成が変更されるように思える

MC++ が既存の C++ に マネージド型を扱うためのキーワードを追加してなんとかやりくり
しようとしているのに比べて C++/CLI の方は CLR との相互やりとりのエリアを扱うハンドル
型を追加したりして、Heap Alloc と GC Heap 上のエリアを並立させようとしている模様

詳しくは上の Candidate base でも呼んでちょ


566 :デフォルトの名無しさん:04/03/15 22:25
>563
Mac 用の Office とかがあるから、公開するかはともかく CLR は作るんじゃない?
Office は .Net 化するらしいから、ソース管理を考えるとブランチ分けするよりは CLR
を作るかと


567 :デフォルトの名無しさん:04/03/15 23:02
>563
Java の失敗から見てもわかるとおり、アンマネージドな部分の要求は決してなくなることは
ないと思う。(私にとってだが)業務用の主となる解析や描画、Design 演算はまずマネージド
にならないだろうし、既存の資産との流用性からアンマネージドな部分を作り、接続する言語は
必要だ

まず、この点は認めてもらえるだろうか?

その上で、マネージドとアンマネージドな領域を自在に行き来できる言語として MC++
(は駄目だけど、その先のC++/CLI)があるのではないかと思う
これは開発者にとって充分に魅力的だと思うんだが、違うかなぁ

なんか昔の PureJava 論議みたいになってきた気がするが(w


568 :デフォルトの名無しさん:04/03/15 23:15
マネージドとアンマネージドな領域を「自在に」行き来できるなら
価値あると思うよ
今のはおよそ自在とは言えない代物だからね



569 :デフォルトの名無しさん:04/03/16 22:56
MC++は、既存ライブラリを.NET向けにwrapするための
thin wrapperを作るためのもの、にしては
あまりにリッチだと思うぞ。

そこにそんだけリソースを費やせるのはMSぐらいのもんだろうけど。

Javaの失敗というのには同感。JNIははっきり言って拷問。
MC++の自在っぷりは異常。.NET語とC++語とマシンコードを
同時に解釈できるのはなにげにすごいぞ。

570 :デフォルトの名無しさん:04/03/17 01:38
議論以前にMC++普及してないじゃん。。。
日本語の参考書籍が1つも無い状況っすよ?
こんなのでは勉強もやりにくいし・・・

もうわざわざC++使う必要もないんじゃないかな・・・
既有技術そのままで実装出来るとは思えないし・・・

571 :デフォルトの名無しさん:04/03/17 09:15
VS.NET系のVC本にはMCの解説を入れているものが、私の知る限りで5冊はあるけど。
いったいどんな田舎に住んでるんだろう?

572 :デフォルトの名無しさん:04/03/17 10:13
日本語でないと読めない奴はだまってC#とVBで下請けやってればよい

573 :デフォルトの名無しさん:04/03/17 12:50
こんなの勉強しなくても普通に使えるだろ。
なにをそんなに慌ててるのかしらんが。

574 :デフォルトの名無しさん:04/03/17 20:23
>>571
まぁ、5冊だけどな
資料が少ないってのは事実っしょ。
普及してないってのも事実だし。

正直、C#に行かずにMCにとどまる理由は、移行のためのラッパー書くのみっしょ
それ以上の使い道ないから、移行が完了すると、もう使う事もないでしょうし


575 :デフォルトの名無しさん:04/03/18 01:27
JNIがアホすぎたんだよな

576 :デフォルトの名無しさん:04/04/16 22:57
Whidbey の Community Technology Preview のコンパイラだが、C++/CLI も
コンパイルできるっぽい

ふつうに Whidbey のプロジェクトから /clr のオプションをつけると /clr:oldSyntax と
なって C++/CLI の構文はエラーになるけど、コマンド・プロンプトで cl /clr とやって
コンパイルを通ると、動いたよん


577 :デフォルトの名無しさん:04/04/17 16:08
質問です。
クラスのインスタンスを作る時に
グローバルな領域において置きたいのですが
MC++だと関数の中でしかインスタンスを作れません。

どうすれば各関数から共通のインスタンスを使う方法を実現出来るのでしょうか?


578 :デフォルトの名無しさん:04/04/17 16:09
>>577
まずはsageを覚えろ。

579 :デフォルトの名無しさん:04/04/17 17:01
>>577
その次にシングルトンを覚えろ。

580 :デフォルトの名無しさん:04/04/17 19:24
>>577
出来ない。
設計見直せ。
何のためのnamespaceであり、何のためのクラスか知るべし

どうしても共通のインスタンスが必要ならば


581 :デフォルトの名無しさん:04/04/17 19:25
途中で送信してしまった・・・
どうしても必要ならば
と思ったけど、もう>>579で答え出てるか・・・

582 :デフォルトの名無しさん:04/04/17 20:48
ここってsage進行なんですか?
よく分からないのでとりあえずsageで・・・

え〜と、質問なのですが
VC++.NETでMC++でコード書いてるのですが
今までSDKでやってたので、.NETではウインドウプロシージャはどうなってるのでしょうか?

と言うのもWinsockのWSAAsyncSelect()を使いたくて、メッセージを受信したいのです。


583 :デフォルトの名無しさん:04/04/17 20:55
なんでVC++.NETがあるのにMSDNを読もうとしないんだろう

584 :デフォルトの名無しさん:04/04/17 21:05
>>583
とりあえず半日調べての質問です。。。。
すみません、探し方が悪いとは思うんですが、キーワードも適切なのが見当付かずに・・・


585 :デフォルトの名無しさん:04/04/17 22:50
>584

void System::Windows::Forms::Control::WndProc(Message* m);

次は、メッセージが定義されてないんですけど、とか訊くなよ


586 :デフォルトの名無しさん:04/04/17 22:53
>581
素直に、グローバルな値はアンマネージドクラスで定義した方が早くない?


587 :デフォルトの名無しさん:04/04/19 09:01
>> 576
VC++2005 のプロジェクトのプロパティにある、C++ のコマンドラインオプションに、
/clr を追加すれば、警告が出てくるが、/clr:oldSyntax を上書きしてくれる。
それがいやなら、「use managed 〜」のチェックをはずす。


588 :デフォルトの名無しさん:04/04/19 10:19
>587
Thx. チェック外して自前でコマンドラインに追加するっす
しかし、>>553 以外の C++/CLI のちゃんとした構文ドキュメントってどっかにないかねぇ


589 :588:04/04/19 10:26
ttp://std.dkuug.dk/jtc1/sc22/wg21/docs/papers/2003/n1557.pdf
これは何の資料なんだろう。QuakeIIのソースを利用した調査かな

590 :デフォルトの名無しさん:04/04/19 10:33
>>588
「Use Managed 〜」のチェックをはずすと、
コマンドラインで取り込んでいるモノがすべて消えるので注意。
メモして自前で記述する。

591 :デフォルトの名無しさん:04/04/19 10:43
>590
りょうかいです

プロパティもとはちょっと変わるんだねぇ

ref class R {
private:
  int size_;

public:
  property int Size {
    int get() { return size_; }
    void set(int val) { size_ = val; }
  }
};


592 :デフォルトの名無しさん:04/04/19 10:50
>589
これは ISO C++ のワーキング・グループがまとめた C++/CLI の説明らすぃ
今回の Whidbey でどこまで実装されてるかチェックしてみます


593 :デフォルトの名無しさん:04/04/19 14:26
C++ compiler M4 feature list
ttp://communities.microsoft.com/newsgroups/previewFrame.asp?ICP=whidbey&sLCID=US&sgroupURL=microsoft.private.whidbey.cplusplus.language&sMessageID=%253CVhwhvymIEHA.2972@cpmsftngxa06.phx.gbl%253E

594 :デフォルトの名無しさん:04/04/19 15:06
>593
おおう、おおむねこのリスト通りであることを確認しますた

・ファイナライザ(M4.2) 未実装

・プロパティ
機能を確認

・インデックス・プロパティ(M4.2) 未実装

・ref クラス内でのSTLコンテナの記述
マネージド型と非マネージド型の混在するmapが作れなかった
stdcli はたぶんかなり先

・delete
ref 型に対する機能を確認

・for each(M4.2) 未実装

・marshal_as 未実装

・native 型からの継承 未実装

・static な operator (M4.1) 機能を確認

generic と template はまだ見てないです


595 :デフォルトの名無しさん:04/04/19 15:21
ParamArray と 初期化時の new もまだですた

void foo(array<Object^>^arr); // 可変長引数

ref class Foo {
  std::vector<int> *vec_;

public:
  Foo() : vec_( new std::vector<int> ) { // 初期化時のnew
  }
  ~Foo() { delete vec_; }
};


596 :デフォルトの名無しさん:04/04/19 16:15
マネージクラスのポインタが作成できない。

597 :デフォルトの名無しさん:04/04/19 16:17

ref class C { /* .. */ };

C ^ h = gcnew C;     // OK
(*h).do_something();    // OK
C * p;            // Compile Error
sizeof( *h );        // Compile Error

orz


598 :デフォルトの名無しさん:04/04/23 02:10
独自にネイティブスレッド生成するアンマネージドなC++の
コードをラップするマネージドなクラスを生成して、
マネージドコードなUIプログラムとリンクさせたアプリケーションを
作った場合、アンマネージドなスレッドの動作にGCコレクションを
割り込ませないようにすることは可能でしょうか?
例えばアンマネージドなスレッドを優先的に動かしたい場合
などです。


599 :デフォルトの名無しさん:04/04/23 10:10
>598
具体的には何とも言えんが、用はネイティブなスレッドが起動している間はGCが
動いてその親であるマネージド型を回収してほしくないってこと?

__pin しる

__pin はアンマネージドが動いている間、対象となるオブジェクトをGCしないことを
保証してくれる


600 :デフォルトの名無しさん:04/04/23 10:18
>596-597
これって、こういうもんだろってスルーしてたけど、マネージド型って C++/CLI では
ハンドル型として規定されて、クラス・インスタンスとは同等ではないから >>597
振る舞いで問題はないと思う

アンマネージドなクラスがマネージド型を保持するときだけ、* でのポイントを認められて
いるけど、ネイティブとマネージド型の混在は M4 を通しての課題らしいから、まだ動いて
いないかと


601 :598:04/04/23 11:32
>>599
__pinはメモリを移動しないって意味ですよね?
そうではなく、私が考えているシチュエーションは
1)優先度が高いアンマネージドなスレッドがアクティブな時に
 GCが走り出さない保証があるか?
2)通常優先度のマネージドなコード実行中にGCが走り出した場合、
 そこに優先度が高いアンマネージドなスレッドが割り込むことが
 可能か?
ということです。helpみてるとGC中は(同一プロセス内の?)
全スレッドが中断されるみたいな記述があったようなきがした
のですが、これってアンマネージドなスレッドも含まれのでしょうか?
優先度の高い所だけプロセス分けるって手もあるんでしょうけど…。


602 :デフォルトの名無しさん:04/04/23 14:45
>>600
でもなぁ、>>589 のPDF みると、将来的には出来そうなんだよなぁ。
これが出来れば、T がマネージドなクラスかそうでないかをコンパイル時に
判定することも出来そうなので、なるべく早い段階で使えるようにしてほしい。

603 :デフォルトの名無しさん:04/04/23 14:56
>601
実行モデルの問題ですね
NativeスレッドとGCのどちらが優先度が高いのか、正直こんなとこで訊いてないで
やってみればいいんでない、とか思わなくもないですが、ざっと調べた限り、CLRと
Nativeの混合状態での実行モデルのようなものは見あたりませんですた

つーことで、試してみました
native スレッドは通常のプライオリティで、ひたすらミリセカンドまで表示し続け
GC側はマネージド型を10000個作って、GC::Collect をかけます

とですね、見事にGCのタイミングで出力される時間が飛んでます。普段は10ミリ
セカンドですが、GC::Collectのタイミングでだいたい+30ミリセカンドぐらいです

もちろん誤差も含んでますし、タイミングもあると思いますが、まぁ、COMでapart
にしたほうがよろしいかと思います


604 :デフォルトの名無しさん:04/04/23 15:00
>602
M4終了がいつかってことだよね。WGのタイムテーブルだと、C++/CLIの最終勧告が
2005年末ぐらいだから、構文とベース機能(nativeとmanagedの併存の実現)は今年
いっぱいぐらいじゃないのかなぁ

年末あたりにベータが出るかもね


605 :598:04/04/23 17:10
>>603
>やってみればいいんでない
おっしゃる通りです。今夜にも同じようにして試してみます。

>とですね、見事にGCのタイミングで出力される時間が飛んでます。普段は10ミリ
うーん、残念です。ここら辺が保証されれば、私的にはmanaged C++最強!
なわけですが…。っていうか実行モデルの問題か。
まあ、windows上でTimeCriticalなアプリ組むのもどうかってのもあるけど。

わざわざ試して頂いて、ありがとうございました。


606 :デフォルトの名無しさん:04/04/28 22:52
http://page4.auctions.yahoo.co.jp/jp/auction/d47227135

607 :しぃ:04/05/03 08:54
VC++.NET2003はC++の.NET環境が整ってきているのですが、デバッグ実行時の起動が超遅いです。
プロジェクトを新規作成して何もコードを書かずにデバッグ実行を開始しても、フォームが出てくるまで30秒ぐらい待たされます。
デバッグなしの実行ではすぐに出てくるのでデバッガの問題だと思うのですが。
2002の時も「Hello World」がコンソールに出てくるまでやはり30秒ぐらいかかります。
どなたか解決策をご存じないでしょうか?
ちなみに環境はWinXPPro、AthlonMP2000+Dual、メモリ512MBです。
ノート(WinXPHome、PentiumM1.4GHz、メモリ512MB)や職場のPC(Win2k、Pentium4-2GHz、メモリ256MB)でも同様でした。
よろしくお願いします。


608 :デフォルトの名無しさん:04/05/03 09:08
ウチは3秒だなあ
アンチウイルスソフトとかつかってる?

609 :山本五十六:04/05/03 10:22
おまえら何時までC++ なんか使ってるんだ?
馬鹿だろ?さっさと死ねよ

610 :デフォルトの名無しさん:04/05/21 01:50
ウチも遅いです。
なんか大量にモジュールをロードしてる感じ。

ナニカ常駐させれば速くなるのかな?

611 :デフォルトの名無しさん:04/05/21 11:34
>610
2002 の時はそうだったが、2003 になってからは感じなくなった
当時も環境の問題だろうと言われて、消えていったんだが、マルチポストのスレ違い
を相手にしないでくれ

いい感じに沈んでたのに

612 :しぃ:04/05/22 01:08
>607 です
自己解決しました。デバッグモードを「自動」ではなく「マネージのみ」にすると早くなりました。デバッグも出来るみたいです。お騒がせしました。

613 :デフォルトの名無しさん:04/05/22 01:55
>>612
お礼すんのにあげんなァァァ

614 :デフォルトの名無しさん:04/05/23 21:26
private: System::Void button1_Click(System::Object * sender, System::EventArgs * e)
{
  int a;
  a=atoi(textBox1->Text);
}

error C2664 'atoi' 1番目の引数を'System::String __gc*'から'const char*'に変換できません。

フォーム上のボタン button1 をクリックしたら
textBox1 の text プロパティを数値に変換したいのです
デザイン時 text="10"です

615 :デフォルトの名無しさん:04/05/23 21:56
>614
上げないで欲しいんだが・・・

文字列の変換はユーティリティを利用する

#include<vcclr.h>

と宣言して、

wchar_t __pin *pRawString = PtrToStringChars(textBox1->Text);

これで、ワイド文字列になる。あとは、ワイド文字列に対応した wcstol を使って欲しい

よく考えると、この文字列処理ってこのスレに書いたことがなかったなぁ


616 :デフォルトの名無しさん:04/05/23 21:58
>615
あーっと、スマソ
こっちだ wcstol −> _wtoi


617 :デフォルトの名無しさん:04/05/23 23:42
>>615-616
遅レス&age申し訳ないです
今確かめました。修行してきます・・・

MSDN C++マネージ拡張の仕様
7.8 文字への直接アクセス
これ自分には勉強になりました

618 :デフォルトの名無しさん:04/05/25 15:37
MSDN に VS2005 TP May 2004 来た。
C++ CLI はどこまで進んでいるんだろう…

619 :デフォルトの名無しさん:04/05/25 17:12
>618
こんな感じらしい
ttp://blogs.msdn.com/slippman/

もうしばらくしたら確認してみる


620 :149:04/05/30 15:39
皆さんの目から見るC#に対してのメリットってなんですか?
自分はVC++メインに使っていて、最近やっと.NET触ることになり調べてるんですが、C#も便利そうなんですが、テンプレート使えないので躊躇しています。
           
自分なりのメリットデメリットです。まだ本診ただけなので間違ってるところも多々あると思いますが
ManagedC++
 テンプレートつかえる。stl、boostなどになれたものには何よりも変えられん。
 アンマネージとの共存がちょっとやりやすそう
 
C#
 記述がC++よりもすっきりする(個人的に)
 デリゲート、イベント使える


621 :620:04/05/30 17:17
追加:C++の多重継承

ハンドルは間違いです...

622 :デフォルトの名無しさん:04/05/30 18:37
>620

まず、MC++ に対する認識について、マネージドクラスに対してはまだテンプレートは
あまり使えんです
また、マネージド、アンマネージドの混合したクラスも作れんです
だから、単純に言語としてのレベルでは C# の圧勝と言ってもいいと思います
それで、C++/CLI とかで上で騒いでるわけですが

ただ、アンマネージドなプログラムから、マネージドなクラス・ライブラリを摘み食うことが
できるのは、MC++ の唯一最大の特権ではないでしょうか
また、処理速度を必要とする部分を組むのに、アンマネージドで組んでマネージド側に
ラップして機能を提供するという点を考えると、MC++ を避けて通れないと思っています

どこでも継子扱いなんだけどね(´・ω・`)ショボーン


623 :デフォルトの名無しさん:04/05/30 19:33
うーんだときついかも知れんです
テンプレートはマネージドに対して少しは使えるんですか?

624 :デフォルトの名無しさん:04/05/30 22:15
>623
言い忘れてたけど、できれば sage て

アンマネージド・クラスで gcroot 使ってマネージド・クラスを持てば、アンマネージド・クラスに
ついてはテンプレート使えるけど、現状の CLR 自体が Generics について拡張されるのを
待ってる状態だから

すぐに仕事に使うんじゃなければ >589 でも読んで(*´Д`)ハァハァするがよしかと


625 :デフォルトの名無しさん:04/05/30 23:05
>623

マネージド拡張の未サポート説明
ttp://msdn.microsoft.com/library/default.asp?url=/library/en-us/vcmxspec/html/vcManagedExtensionsSpec_25.asp

MSDN日本語ドキュメントにも付いてたはず


626 :デフォルトの名無しさん:04/05/31 11:59
>>623
単純なSTLの利用程度だったら gcroot を使う方法がここにある
http://www.codeproject.com/managedcpp/


627 :デフォルトの名無しさん:04/05/31 13:03
自分がしたいこと

多重継承
リフレクション
デリゲート
テンプレートorGenerics
ガベコレ
アンマネージとの密接なやり取り

...2005年まで待つのか...いやほんとに2005年に出るのか?


628 :620,627:04/05/31 13:06
ごめんなさいまたあげちゃいました...

629 :デフォルトの名無しさん:04/05/31 14:10
Whidbey May 2004
基本的には M4.1 ベースでバグフィックスを進めたみたい
今回の Whidbey からはプロパティ上で /clr /clr:pure /clr:safe /clr:oldSyntax が設定できる
ようになってた

後は、.Net FW は 2.0 ベースになってた


630 :デフォルトの名無しさん:04/05/31 14:13
んで、次のような構文を実行しますた

interface class IOut { String ^Result(void); };

value class SamVal : public IOut {
public:
  String ^Result(void) override {
    return gcnew String("Sample value");
  }
};

generic <typename T> where T : IOut
ref class Sample {
public:
  void out() {
    T t;
    Console::WriteLine("Result : {0}", t->Result());
  }
};

void _tmain() {
  Sample<SamVals> ^sam = gcnew Sample<SamVals>;
  sam->out();
}
Generics も順調そうです

631 :デフォルトの名無しさん:04/06/07 23:49
SessionEnding を拾えないでいる・・・・C#で書くとうまくいくのだが・・・?
どっかにサンプルころがってないかな?VC++.netのコード。

632 :デフォルトの名無しさん:04/06/08 22:30
>631
CodeProject の C++ WebSrevice あたりで、あるんでない?
この間、WebServices を作ってて、Application や Session にアクセスできることを
今更ながら知って感動していた

いや、漏れが物知らずだったんだけどさ(´・ω・`)ショボーン


633 :デフォルトの名無しさん:04/06/09 05:37
結局SessionEnding使わずにWndProcでやり過ごしたわ。あーすっきり

634 :デフォルトの名無しさん:04/06/26 23:15
深く沈んでる(w
ベータが出るまで話題がないなぁ

と、保守


635 :デフォルトの名無しさん:04/07/01 14:12
VC++2005 Express Beta 入れてみた
相変わらず、ファイナライザはない

相変わらず M4.1 らしい


636 :デフォルトの名無しさん:04/07/05 18:44
ぬぅ。

 boost::is_base_and_derived< System::Object, T >

とかかけるようになるのはいったいいつになるのだ。

637 :デフォルトの名無しさん:04/07/06 09:27
MC++以外の.NETのプロジェクトに
C++,ATL,MC++で書いたライブラリをDLL化
しないで使うことって可能ですか?

あとからexeとdllを一つにできるのでもいいです。


638 :デフォルトの名無しさん:04/07/06 12:39
>637
無理


639 :デフォルトの名無しさん:04/07/20 22:16
なあ、managed C++やろうと思っても良い書籍が見つからないんだがオススメある?
やっぱMSDNライブラリしかない?

640 :デフォルトの名無しさん:04/07/20 22:37
>639
漏れはこれで勉強した。いい本かどうかは微妙

ttp://www.amazon.co.jp/exec/obidos/ASIN/1893115283/qid=1090330561/sr=1-4/ref=sr_1_10_4/249-9037969-2157104

641 :デフォルトの名無しさん:04/07/25 05:19
あげ

642 :デフォルトの名無しさん:04/07/25 06:03
>>639
洋書でいいなら"Programming with managed extensions for VISUAL C++ .NET" MS Press
http://www.amazon.com/exec/obidos/tg/detail/-/0735617244/qid=1090702738/sr=8-1/ref=sr_8_xs_ap_i1_xgl14/103-7664091-4927863?v=glance&s=books&n=507846
もあるよ。ぜんぜん初心者向けじゃなく、C++ をMFCなどで使っている人が.NETを使いたい場合に読むって感じの内容。
なので、易しい解説などいらんから、がつーんと要点と詳細が欲しいという人向け。


643 :デフォルトの名無しさん:04/07/31 13:47
C# の params キーワードに対応するmanaged C++ での方法は、何を使えばよいのでしょうか?

644 :デフォルトの名無しさん:04/07/31 21:47
>643

対応型 __gc[] じゃ駄目?

params char[] だったら wchar_t __gc []


645 :643:04/07/31 22:05
いえ、可変長メソッド引数なので、単なる __gc ではだめです。
何かしらの Attribute だと思うのですが、見つけられていません……。

646 :デフォルトの名無しさん:04/07/31 22:47
えっと、 __gc[] で駄目だったの? __gc[] って array のガベージ型だと思うんだけど

C#
System.Console.WriteLine(string format, params object[] args)

C++
System.Console.WriteLine(String *format, Object* arg __gc[])

ってなってるんだけど



647 :643:04/07/31 23:15
解決しました。
ParamArrayAttribute でした。
MSDNの言語フィルタをVBにしたら気づきました。

>>646
その __gc は、単に managed 配列を表すだけの、省略可能な修飾子ですよ。


648 :デフォルトの名無しさん:04/08/01 00:39
[ParamArrayAttribute]
void Func(String *forms, Object * args[])

具体的にはこんな感じになるのでしょうか?


649 :643:04/08/01 00:44
引数に対する属性なので、この位置です。
void Func(String *forms, [ParamArray] Object * args[])

ただ、managed C++ だと、最後の引数以外につけてもエラーにならないんですね。
C# の params だとちゃんと怒られるのに……。

650 :デフォルトの名無しさん:04/09/14 13:31:31
2005βにて。
ジェネリックテンプレート

template <typename Interface>
generic <typename Type> where Type : Interface
public ref class GenericTemplate{



}

こんなのを書いたら怒られた。
コンパイラ君、無理言ってスマンカッタ

651 :デフォルトの名無しさん:04/09/18 12:37:13
>650
・・・そりゃ難かしいでしょう
でも、できたらうれすぃ


652 :デフォルトの名無しさん:04/09/22 11:17:09
>649
Whidbey のサンプルでは、C++/CLI ではこうなるらすぃ

double average( [ParamArray] array<Int32>^ arr );

array は stdcli::language でサポートされるマネージド配列のクラス

double average( [ParamArray] array<Object^>^ arr)

で任意の Object お取得するようになるってことか


653 :デフォルトの名無しさん:04/09/22 11:49:33
ざっと、アプリを作ってみますた。軽く注意するところは

・まず、第一に using namespace stdcli::language;
・配列の受け取りは array<型> ^
・ハンドル型の NULL 初期化は nullptr を使う
・static 変数の初期化は static コンストラクタで行う
・普通のポインタ型を delete し忘れるな
・as の代わりに safe_cast<ハンドル ^>
・foreach はないので、stdcli::for_each を信じて待て

という点でしょうか

感想としては、C# で組んでるのと変わらない気分になったです
速度も、WindowsForm で組む分には C# の方が起動は早いみたい
まぁ、まだこれからだと思いますが


654 :デフォルトの名無しさん:04/09/23 01:02:50
Stringの比較はCompare、CompareToメソッドを使うしかないの?
if (Path::GetExtension(filename) == S".BIN")みたいに書きたいんだけど。

655 :デフォルトの名無しさん:04/09/23 12:04:40
String は結局、CLI の型だから、Equals が用意されてる

if ( Path::GetExtention(filename)->ToUpper()->Equals(S"BIN") )

って書けばいいかと

== もちゃんと動いている気がするけど、念のために


656 :デフォルトの名無しさん:04/09/26 01:33:52
C++/CLIって
ぶっちゃけイケてる?

657 :デフォルトの名無しさん:04/09/26 01:56:31
>>656
逝けてる

658 :デフォルトの名無しさん:04/09/26 01:57:26
>>656
既存のライブラリを使いやすいという意味ではかなりいけてる。

まあ、MC++で Managed ラッパクラス作って、それを C# から使うのがベストな気がするが。

659 :デフォルトの名無しさん:04/09/26 11:01:23
>656
C++ で .Net フレームワークを綺麗に使いたい。でも、__gc とかうっとうしい。という要望に
完全に応えている。ハンドル型とか最初は気になるけど、自動変数の気分で使い捨てる
ことができる

C# くらいに C++ が .Net フレームワークへの親和性を高めたものと感じる
ここまで作りが違わないと、逆に C# でコード組む気がなくなるよ
後は、マネージド、アンマネージドの混在が実現できれば、言うこと無し

標準 C++ で組みたいときはそのまま組めばいいし、ふと、マネージドに繋げたいときは
さっくりソース持ってきて纏め直して、ref つけるだけ
ベータ・レベルのできばえとしては、べた褒めする

まぁ、まだ、ベータだし、ってとこいっぱいあるけど

660 :デフォルトの名無しさん:04/09/26 21:39:46
STL.NET
http://msdn.microsoft.com/library/en-us/dnvs05/html/stl-netprimer.asp
いつだ、いつ追加されるんだぁ。少なくとも Beta1 にはなかった

ところで、匿名デリゲートのやり方がよくわからないんですが、できる?

List<String ^>^ loop_words = gcnew List<String^>;
loop_words->ForEach( ... ここに匿名 delegate を渡したい );

って、やりたい
チェックライト程度の処理をいちいちメソッドにしたくないんです



661 :デフォルトの名無しさん:04/09/26 21:58:40
http://www.msdn.net/library/default.asp?url=/library/en-us/dnvs05/html/TransGuide.asp
こんなのもあったのな


662 :デフォルトの名無しさん:04/09/27 14:08:50
アスペクト指向的に、今までのC++ソースコードは何も書き換えずに
別ファイルからこのクラスは__gcにする、とかいう指定が出来るようになればいいな。

663 :デフォルトの名無しさん:04/09/27 14:39:49
>662
なんか、できそうな気がする

アセンブリに纏めるということを前提に、export するクラスを別ファイルでこのクラスは
ハンドル型で扱えるようにすると指定しておいて、アセンブリにまとめるときに、対応する
インターフェイス名を指定してマッピングし、旧来のソースをマネージド型として扱うという
やり方なら作れるんじゃないかな


664 :デフォルトの名無しさん:04/09/27 17:48:44
C#での
BindingContext[dataSet1,"TableName"].Position++;
はCPPでどう書くの?

665 :デフォルトの名無しさん:04/09/27 17:56:30
>>663
そうすと、C#囲い込み戦略byM$が破綻するから、出来ない仕掛け。

666 :デフォルトの名無しさん:04/09/27 18:06:17
>>665
ぜんぜん論理的じゃない。

667 :デフォルトの名無しさん:04/09/27 18:07:54
>664
MSDN に書いてあるじゃねぇか
BindingContext->get_Item( ds, "Customers" )->Position = groupBox1->BindingContext->get_Item( ds, "Customers" )->Position + 1

>665
え? 自作すればいいだろ、これぐらい
ファイルの対応表から、マネージド・ラッパのクラス吐いて、インターフェイスの実装再配置を
使って、アンマネージドなクラスにマッピングすればいいんだと思うが
もしかして、それよりもずっと高度な話を言ってる?


668 :デフォルトの名無しさん:04/09/29 14:12:29
MC++とC++/CLIの違いは記述の違いだけ?
やれることに違いは無いのかな?

669 :デフォルトの名無しさん:04/09/29 16:03:13
違いはいっぱいあるんだが、目に見えるところでは記述の違いだけだな
言語って、そういうものだろ?


670 :デフォルトの名無しさん:04/09/29 18:33:10
>>669
まあそうですけどね。ただ、VJ++とCOMのシームレスな連携と
C++とCOMのあのメンドクささを、ただの記述の違いというには
個人的には違和感を感じます。あれぐらいの違いがあるのかなと。

671 :デフォルトの名無しさん:04/09/29 21:35:28
>670
C++/CLI の最大の焦点は、マネージドとアンマネージドの2層化
MC++ ではCILヒープとヒップの層の分離ができていないために、総てが一緒くたに
new していた。だから、逆に何を削除するか、何をガベージに任せればいいのか
わからなくなっていた

MC++ はその試行錯誤の段階の言語といえる。管理を明確にし、型を分離し、配置位置を
ちゃんと意識しながらコーディングできるようにしたのが C++/CLI
そして、同時に標準 C++ の純粋性を保持しようとしている。また、継承関係でもマネージド
・非マネージド間での相互参照を許可する(予定。笑)設計になってる

これらを考えると、内部的にはかなり違っている。追加された表記は特にオブジェクトの
配置位置を明確にすることと、さりげに、C++ の抽象化への不満を解消するための
キーワードが多い

こんな感じで良い? まぁ、口で説明受けるより組んでみた方が良い
漏れの意見はちょっとヽ(´ー`)ノマンセー意見が過ぎると思う

ECMA 標準化 C++/CLI ドラフト
http://msdn.microsoft.com/visualc/homepageheadlines/ecma/default.aspx

672 :デフォルトの名無しさん:04/10/15 20:28:07
VS2003、.net Framework 1.1を使っています。
自作のアイコンを作成してFormに適用しました。タスクバーにもアイコンが表示されています。

ところがXPにはタスクバーにアイコンが増えるとアイコンをまとめる機能があり、
これが働くとデフォルトのアイコンに戻ってしまいます。
たぶんフォームではなくアプリのアイコンを表示しているのだと思います。
アプリケーションに自作のアイコンを適用するにはどうすればよいのでしょうか?

C#ではプロジェクトのプロパティにビルドという項目があってそこで指定できます。
しかしMC++にはこれがありません。app.icoを自作のアイコンで上書きしたところ、
app.rcの中も自作のアイコンに置き換わりましたが、上記の不具合はなおりませんでした。

673 :672:04/10/18 22:01:22
解決しました。
app.icoを上書きすればよかったのですね…。
debugビルドでは反映されないので混乱してしまいました。

674 :デフォルトの名無しさん:04/10/19 10:24:57
C#での BindingContext[dataSet1,"TableName"].Position++;

BindingContext->get_Item( ds, "Customers" )->Position = groupBox1->BindingContext->get_Item( ds, "Customers" )->Position + 1
に化けるのか。

なんかどこかで見たような....

そうそう。C++Builder で Delphi のクラスを使うときも、こんな感じで記述が増えた。
同じことをやっているんだね...


675 :デフォルトの名無しさん:04/10/19 11:49:37
>674
ただ単に、現状の C++/CLI では、インデックス・プロパティをサポートできていないから
こうなってるだけなんでは?

インデックス・プロパティに対応したら、

BindingContext[ds, L"Customers"]->Position = BindingContext[ds, L"Customers"]->Position + 1;

になるでしょう。もっとも、+や++をわざわざオーバーロードする気がなさそうなんで
あまりかわんないけど

676 :デフォルトの名無しさん:04/10/19 22:15:46
プロパティのインクリメントに対応するだけでも、
BindingContext->get_Item( ds, "Customers" )->Position++;
こんなにすっきり。

677 :デフォルトの名無しさん:04/10/20 14:31:07
ふと思ったんだが、インクリぐらい対応してるんじゃないのか?

678 :デフォルトの名無しさん:04/11/17 21:31:45
__gc なクラスをシングルトンにするにはどうしたらいいでしょうか?
クラス変数はGCポインタをもてないので。


679 :デフォルトの名無しさん:04/11/18 09:17:50
お願いだから、。NETでSTLやふつ〜の標準C/C++ライブラリ
使う方法教えてくれ。これなしでC++のプログラムをせいと
いうわけじゃなかろ?

680 :デフォルトの名無しさん:04/11/18 18:04:44
>678
Singleton クラスを一つ作って、gcroot でメンバを持たせたら?

>679
C++/CLI が無事完成するのを待て
ふつーのSTLや標準C++ライブラリしか使わないなら、マネージド拡張なしで作れば
いいんでない?
#pragma unmanaged 使ってさ

漏れ、boostをそれで使ってるよ

681 :デフォルトの名無しさん:04/11/18 21:34:23
このスレも C++/CLI やろうぜ!! で立て直したら?

682 :デフォルトの名無しさん:04/11/20 11:33:48
まだ、M4程度のベータだし、managed C++とスレ分けるまでもないから、このままで
いいと思われ
このペースじゃ2005 Mid のWhidbeyリリースまでに1000逝かんでしょ

683 :デフォルトの名無しさん:04/11/22 15:01:25


684 :デフォルトの名無しさん:04/12/04 16:51:53
C++/CLI のベータだが、気のせいか
Dictionary<String ^, data ^> ^dic = gcnew Dictionary<String ^, data ^>;
で作ったデータで、

String ^keyword = ...
dic->ContainsKey(keyword)
としたとき、データとして含まれているはずなのに引っかからないことがある
(´-`).。oO(なんでだろう?)

685 :デフォルトの名無しさん:04/12/08 00:20:12
interface class を継承したクラスまでインターフェイスになっちまうし。

686 :age:04/12/08 14:42:12
>>679
Microsoft Visual C++ .Net 2003: Kick Start
http://www.amazon.co.jp/exec/obidos/ASIN/0672326000
を読むと何か参考になるかも。

687 :wonapi:04/12/08 15:03:02
WonAPI MRIMG32は、Microsoft MSIMG32.DLL と高い互換性を実現しました。

サンプル プログラムで動作を確認できる。

詳しくは、下の「WonAPI MRIMG32 トップページ」で最新情報をご確認を。

WonAPI MRIMG32 トップページ
http://f59.aaa.livedoor.jp/~wonapi/mrimg32/index.html

688 :デフォルトの名無しさん:04/12/08 17:26:56
この程度自前で実装できる上に、このスレと何の関係もない。

689 :デフォルトの名無しさん:04/12/27 10:35:10
__gcを付けたクラスから__gcの無いクラスにコールバック先(デリゲートを使う?)を渡して
__gcの無いクラスからコールバックをするにはどうしたらいいのでしょうか?

690 :デフォルトの名無しさん:04/12/27 11:53:34
・delegateは__gcクラス
・__gcクラスを__nogcクラスで使うときはgcroot<>で囲む
ポイントはこの二つ。コードに起こすとこんな感じ。

#include <gcroot.h>
using namespace System;
public __delegate void DD(String* message);
__nogc class Nogc{
  gcroot<DD*> my;
public:
  void SetD( DD* m ){ my = m; }
  void CallD(){ my->Invoke( "ぬるぽ\n" ); }
};
public __gc class Gc {
public:
 void Func(String* message) { Console::WriteLine(message); }
};

int main(){
 Gc* c = new Gc;
 Nogc i;
 i.SetD( new DD( c, Gc::Func ) );
 i.CallD();
 return 0;
}


691 :デフォルトの名無しさん:04/12/27 12:46:00
>>690
レスありがとーー!
試してみます。報告は後ほど

692 :デフォルトの名無しさん:04/12/27 14:40:47
>>690
ありがとうございました。
解決しそうです。

ちなみに何かいいMC++の書籍ありますか?


693 :デフォルトの名無しさん:04/12/27 15:10:02
つーか
こんなの使ってる奴いるのか?
正気か?

694 :デフォルトの名無しさん:04/12/27 15:22:39
>>693
使わざるえない時もあるってもんさヽ( `Д´)ノ

695 :デフォルトの名無しさん:04/12/27 15:30:37
>>692
俺はMSDNだけで済ませてる。
あとは過去ログ参照

>>693
俺だってC#とか使いてぇよ…orz
まぁ、デフォのC++よりは幾分マシ

696 :デフォルトの名無しさん:04/12/28 14:38:31
   AAA* aaa[];
public:
   __property ????? get_AddressList() { return aaa; }
   __property void set_AddressList(????? value) { aaa = value; }

AAAクラスを配列で持ちたいので
こんな感じでプロパティを宣言したいのですが
うまくいきません。?????の所をどうしたらいいのでしょうか?

697 :696:04/12/28 14:48:30
自己解決(´Д`;)しました


   AAA* aaa[];
public:
   __property AAA* get_AAAList()[] { return aaa; }
   __property void set_AAAList(AAA* value[]) { aaa = value; }

こうでした。
う〜ん、それにしてもgetの時の[]の位置って普通わからないよなぁ



698 :デフォルトの名無しさん:04/12/28 14:50:15
>>696
AAA* __gc[] だったかな。

699 :デフォルトの名無しさん:04/12/28 15:54:22
>>697
戻り値をAAA*[]にして小一時間程悩むのは誰もが通る道だろうな。

700 :デフォルトの名無しさん:04/12/28 20:22:18
C++/CLIが出るまでの我慢

701 :デフォルトの名無しさん:04/12/29 00:15:19
__だらけで汚い言語ですね

702 :デフォルトの名無しさん:04/12/29 08:50:41
過渡期のものだから。

703 :デフォルトの名無しさん:04/12/29 09:30:36
ANSIで規格化されない限り、ずっとそのまま。

704 :デフォルトの名無しさん:05/01/15 10:16:54
解析処理みたいなのをmc++でストックしとけば、ドトニート時代にも対応出来ますよね?

705 :デフォルトの名無しさん:05/01/15 10:56:58
必要になるまでやらんでいいと思うが

706 :69式フリーPG ◆hND3Lufios :05/02/14 21:35:52
C++/CLRが出るまでC#に退避することにしますた。

707 :デフォルトの名無しさん:05/02/21 20:07:59
int をHex表示したいんですがどうやるんですか?

708 :デフォルトの名無しさん:05/02/23 21:06:22
>>707
何に表示したいんだ?
まあ、とりあえず、標準出力なら
Console.Write("{0:x}", num);
string.Format ってのもあり。

709 :デフォルトの名無しさん:05/02/23 21:12:51
・・・sprintf でも使ったら?

C++/CLI だと
(3).ToString("X"); とか

710 :デフォルトの名無しさん:05/02/25 16:00:38
stringstream にマニュピレータ設定するのが C++ スタイルだろ。


711 :707:05/02/25 20:45:33
ありがとう。返事送れてごめん。


712 :デフォルトの名無しさん:05/03/09 13:29:18
このごろ C++/CLI の解説もかなり充実してきて勉強になる。英語で苦労だけど。

http://www.codeproject.com/managedcpp/
の "C++/CLI" 項目の記事はどれもいい。

S.B.リップマン氏の記事は必読。
前からある有名なやつが、>661 にあるので、
最近の MSDN Magazine の "Hello, C++/CLI" が、
http://msdn.microsoft.com/visualc/default.aspx?pull=/msdnmag/issues/05/02/purec/default.aspx

713 :デフォルトの名無しさん:05/03/20 10:38:38
S.B.リップマン氏の MSDN Magazine "Pure C++"、二本目でた。
"Generic Programming Under .NET"
http://msdn.microsoft.com/msdnmag/issues/05/04/PureC/

714 :デフォルトの名無しさん:05/03/20 18:07:41
>712
日本語資料ならなんかGDNJで晒されてたぞ

715 :デフォルトの名無しさん:05/03/20 19:35:34
>>714 これ?
C++/CLI 言語仕様
http://www.stdblue.net/cgi-bin/vene/wiki/wiki.cgi

716 :デフォルトの名無しさん:05/03/20 19:51:08
Java VMで十分

717 :デフォルトの名無しさん:05/03/20 23:41:36
意味不明

718 :デフォルトの名無しさん:2005/03/21(月) 11:43:09
>717
CLR の事と間違えてんじゃねぇの?
まぁ、CodeDOMあるから、C++の実行時解釈もできるけど

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

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

read.cgi ver 05.04.02 2018/11/22 Walang Kapalit ★
FOX ★ DSO(Dynamic Shared Object)