トップページ⇒tech
971コメント269KB

managed C++ やろうぜ!!

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさんNGNG
C#関連のスレは山ほどあるが
managedC++のスレが無いじゃないか。
折角.NETに生き残ったC++、みんなで語ろうぜ。
0002デフォルトの名無しさんNGNG
おお、
語ろう
0003デフォルトの名無しさんNGNG
>1=>2
0004デフォルトの名無しさんNGNG
1-2=3
0005デフォルトの名無しさんNGNG
名スレの予感
0006デフォルトの名無しさんNGNG
1-2+3=4
0007デフォルトの名無しさんNGNG
1==2==3
0008デフォルトの名無しさんNGNG
1^2^3^4^5^6=7
0009デフォルトの名無しさんNGNG
v(^・^)v(^・^)v(^・^)v(^・^)v=1*3
0010デフォルトの名無しさんNGNG
if(1から9まで同一人物だったら)
{
System.out.println("○○○");
}
の「1から9まで同一人物だったら」
の部分って
1==2&&1==3&&....
って書くのは長ったらしいので
何かいい方法ありますか?
0011デフォルトの名無しさんNGNG
ポインタ、template、が生き残っただけでも凄い嬉しい。
と言う事はSTLもとおると言う事か・・・?
素晴らしい!!
0012デフォルトの名無しさんNGNG
結局、
class CA{
public:
template<typename T>void func(T t);
};
template<typename T>void CA::func(T t){.......}
がエラーになるのは解決されたのだろうか??
0013デフォルトの名無しさんNGNG
をを・・・解決されているみたいですな。
今試したら、ちゃんと動きましたよ。
0014デフォルトの名無しさんNGNG
何てこった・・・.NET SDKには<iostream.h>が入ってない。
さようなら、cout・・・・
0015デフォルトの名無しさんNGNG
マナゲドって何よ?
0016デフォルトの名無しさんNGNG
>>14
普通のSDKと.NETのSDKは
C++の扱いは違うの?
.NETのC++はあくまでmanagedコードを
書くためのものなのかな?
0017デフォルトの名無しさんNGNG
man=男
aged=ageの過去形
0018デフォルトの名無しさんNGNG
>15
ネタだよな・・・?
0019デフォルトの名無しさんNGNG
>>15
マグドナルドの経営する中華風ファーストフード店の名称です。
0020デフォルトの名無しさんNGNG
どうせなら「相談室」スレにしたら良かったのに。
0021デフォルトの名無しさんNGNG
Ruby >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> managed C++
0022デフォルトの名無しさんNGNG
>>14
本当だ......。よくみるとVS.NETのほうにしかiostrem.hはないですね。
まあ私はVS.NET買うつもりなので関係ないけど。
0023デフォルトの名無しさんNGNG
ってか、iostream.hなんていいかげん捨てろよ。
それにマトモなSTL入れておけば問題ないだろ。
0024デフォルトの名無しさんNGNG
>iostream.hなんていいかげん捨てろよ
どゆいみ?
0025デフォルトの名無しさんNGNG
iostream
0026デフォルトの名無しさんNGNG
ファイル名から .h が取り除かれたのが今の標準ってこと知らんのか?
0027デフォルトの名無しさんNGNG
Ruby!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
0028デフォルトの名無しさんNGNG
>>10
 !(a^b || a^c || ... )
がベストに近いかな?
少なくとも&&使うよりは良いと思われ。
002922NGNG
よく考えてみれば、自分の環境はいきなりVS.NETベータ2をいれたので
純粋に.net SDKを入れただけで本当にiostream.hがインストール
されるかどうかはわからなかったです。
ちなみにC:\Program Files\Microsoft.NET\FrameworkSDK\includeには
なかったです.......。
0030デフォルトの名無しさんNGNG
>>10
適当なコンテナに突っ込んでfor_eachで比較
0031デフォルトの名無しさんNGNG
>>30
for_each()じゃなくて、find_if()だろ
0032デフォルトの名無しさんNGNG
__gc class CA{.....};
とすれば、

mann(){
CA* pca=new CA;
}
delete pca;を書かなくても、
ガベージコレクションがオブジェクトを壊してくれる。
便利になったなぁ・・・。
0033デフォルトの名無しさんNGNG
>>32
mann()ってなに?ネタだよな・・・?
0034デフォルトの名無しさんNGNG
>>16
.NETでも今までと同じC++が書けます。
managedコードを吐かせたくなければ、コマンドのcl/CLR
からCLRを外して、ソースからmanagedC++固有の書式を除けば
可能です。多分。
0035ぎゃあああああNGNG
managed C++でCOMオブジェクトは作れないの?
0036デフォルトの名無しさんNGNG
>>35
AttributeとATLで作った方が楽だぞ。
0037ぎゃあああああNGNG
>>36
.NET frameworkを使えるATLの環境がほしい…。
0038デフォルトの名無しさんNGNG
MFCは今後まともなサポートは期待
出来ないんだろうなぁ。
0039デフォルトの名無しさんNGNG
>>38
移植です。それしかありません。
0040デフォルトの名無しさんNGNG
アセンブリへのパスが通らん。何故だ?
ベータ2ってインストール時にパスを通すとか言ってなかったか?
0041デフォルトの名無しさんNGNG
いいや、ここはダレも通さん。
0042デフォルトの名無しさんNGNG
>>40
練習あるべし。
0043デフォルトの名無しさんNGNG
ディフェンスの宮本にパスカットされた。
0044デフォルトの名無しさんNGNG
アセンブリは「パス」は関係ないっす。アプリと同じディレクトリにおいてみるべし。
0045デフォルトの名無しさんNGNG
>44
そうなんですか?
fatal error C1107: アセンブリ 'System.WinForms.dll' がみつかりませ
んでした : /AI または LIBPATH 環境変数を使用してアセンブリ検索パスを指定してくだ
さい。
と、出るんですが。'System.WinForms.dll' ってassemblyと言うフォルダの中に
あるんですけど・・・。
0046デフォルトの名無しさんNGNG
根性が足りん
0047デフォルトの名無しさんNGNG
根性かよ!?
・・・頑張ってみるよ
0048デフォルトの名無しさんNGNG
>>45
'System.WinForms.dll' ということは、相当古いバージョンだね。
0049デフォルトの名無しさんNGNG
>>45
System.WinForms.dllはBeta2でSystem.Windows.Forms.dllに変わりました。
0050デフォルトの名無しさんNGNG
おお、成る程。
そのDLLはありました。assemblyフォルダじゃなくて.NETの方に。

Microsoft.Win32.Interop.dllも名前が変わっているのですか??
0051名無しさん♯NGNG
>>50
> Microsoft.Win32.Interop.dll

そのDLLはβ2以降なくなったよん。
0052デフォルトの名無しさんNGNG
無くなった・・・?
もう根性でもどうにもできないな。
0053デフォルトの名無しさんNGNG
お前の環境はどうなんてっだと、小一時間問詰めたい。
0054デフォルトの名無しさんNGNG
OSのクリーンインストールからだな。
0055デフォルトの名無しさんNGNG
.NETベータ2、VC6.0、JAVA2しか入っていません。
0056デフォルトの名無しさんNGNG
うちもVS.NETβ2とVS6.0は入ってるけど別に問題無いよ。
てことはJAVAかな?
0057デフォルトの名無しさんNGNG
んなわけない。
旧バージョンをアンインストールせずに新しいやつ入れたんでしょ。
0058デフォルトの名無しさんNGNG
お前本当に古いバージョンを消したのかと、トイレに連れ込んでボコボコにしながら問詰めたい。
005956NGNG
あ、要るDLLが無いんじゃなくて、要らないDLLが在るのか(藁
スマソ
0060デフォルトの名無しさんNGNG
アンインストはかけましたよ?
但し、インストールとアンインストールを計6回ぐらいしましたが・・・
0061デフォルトの名無しさんNGNG
その環境は捨てろ。
OSから再インストールしやがれ。
0062デフォルトの名無しさんNGNG
β2でFormを使ったHello Wolrdをどなたかお示しください。
日本語ページでは見付かりません。
(managed C++の情報って何処にあるんだ? )
0063デフォルトの名無しさんNGNG
こんなんでどうでしょう?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
0064デフォルトの名無しさんNGNG
をを・・・出来ましたよ。
ありがとうございます!!
(やっと、GUIの門の前に立った♪)
0065仕様書無しさんNGNG
おおっ、いつの間にこんなスレが!
昔、managed C++とC#の比較のセミナー見たことあるけど、
managed C++は味があっていい感じ。
0066デフォルトの名無しさんNGNG
C#とmanaged C++ってどう違うんですか?
0067デフォルトの名無しさんNGNG
文法が違います。
JAVAとC++と同じぐらい違います。
0068デフォルトの名無しさんNGNG
>>63を見る限りは文法がそんなに違うとも思えないんですが…
0069デフォルトの名無しさんNGNG
VCをメインに使ってきた私にはC#もJAVAもほとんど一緒に見えるのです。
だからmanaged C++は私には絶好の言語なのです。ガベコレがあるなんて
最高としか思えない。
0070デフォルトの名無しさんNGNG
ガベージコレクションってnewしたヤツだけ消してくれるの? GetDCしてReleaseDCしなくてもよくなるとかってことは?
0071デフォルトの名無しさんNGNG
誰かmanaged C++の分かり易い解説ページ知らない?
本とか全然ないしさ、みんなどうやって勉強してるの?
0072デフォルトの名無しさんNGNG
>>70
ない。GC対象になるのは__gcなクラスだけ。

>>71
RTMのドキュメント。
0073デフォルトの名無しさんNGNG
managed C++ってSTL使えるの?
使えるなら、managed C++に乗り換えるけど。
0074デフォルトの名無しさんNGNG
C#とくらべて少しは速いの?>>実行速度
0075デフォルトの名無しさんNGNG
>>37
gcroot
0076デフォルトの名無しさんNGNG
>>73
You can use it
0077デフォルトの名無しさんNGNG
managedC++ってネィティブコンパイラ?
0078デフォルトの名無しさんNGNG
C#とコレが使えれば、とりあえず
10年は喰えそうな気がするのだが、
俺の気のせいだろうか・・・・?
0079デフォルトの名無しさんNGNG
正解。
0080デフォルトの名無しさんNGNG
>>77
っていうか、cl.exeはネイティブコードもILも両方吐けます。
0081デフォルトの名無しさんNGNG
クライアント領域が出ねぇーーーー!!
何故だぁ!!
0082デフォルトの名無しさんNGNG
>>80
ネイティブっつーても、
.NET frameworkは必要。
誤解する人も出るので
言い方改めた方がよい。
■ このスレッドは過去ログ倉庫に格納されています