[表示 : 全て 最新50 1-99 101- 201- 301- 401- 2chのread.cgiへ]
Update time : 04/12 03:21 / Filesize : 122 KB / Number-of Response : 487
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

くだすれC++/CLI(初心者用)part2



1 名前:./1256645713/662 mailto:sage [2010/03/15(月) 09:41:19 ]
おそらく、.NET開発でデファクトスタンダードに最も近いであろう
C++/CLIについて語ろうぜ!

このスレはC++および.NET Frameworkについて一定以上の知識を持っている人が対象となります。
.NETのクラスライブラリの使い方といった質問は Visual Studioスレにお願いします。

前スレッドはこちら
くだすれC++/CLI(初心者用)
pc8.2ch.net/test/read.cgi/tech/1142144110/l1

dat落ち姉妹スレ
C++/CLI part3
pc12.2ch.net/test/read.cgi/tech/1206447234/l1
pc11.2ch.net/test/read.cgi/tech/1142147319/l1
pc8.2ch.net/test/read.cgi/tech/1126450441/l1

managed C++ やろうぜ!! 002
pc8.2ch.net/test/read.cgi/tech/1139043535/l1

461 名前:デフォルトの名無しさん mailto:sage [2012/02/21(火) 23:29:28.14 ]
VC++のプロジェクトのwindowsフォームアプリでOpenMPって使えないんですかね?
'/clr:pure' と '/openmp' は同時に指定できません
ってエラーが出てるんで、CLIでは使えないのかな?とか思ったりしたんですがどうでしょう

462 名前:デフォルトの名無しさん mailto:sage [2012/02/21(火) 23:38:46.12 ]
/clr:pureで使えるわけがないだろネイティブコード入れられないんだから
/clrならどう?
っていうかWindowsフォーム使いたいだけだったら終わってるC++/CLIなんてやめて
C#でGUI作って重い計算だけC++(/CLIでない)で書いてC#から呼んだほうがいいよ

463 名前:デフォルトの名無しさん mailto:sage [2012/02/24(金) 20:06:17.85 ]
>>461 です
/clrならできました。ありがとうございます。
よくわかっていないのですが、/clr:pureにしていたのはネイティブとごっちゃになって
変なことになるのを防ぐためなんですかね?だから/clrとしてもそこらへんを気をつければ
問題ない、ということでいいんでしょうか?
C++/CLIは初めてなんで、どう”終わってる”のかわかりませんが、C#はやったことが無いので、
できればこっちでやりたいところなんです。

464 名前:デフォルトの名無しさん mailto:sage [2012/02/24(金) 20:20:54.26 ]
大丈夫だ、C++経験者からしてもC++/CLIの習得よりC#の習得の方が楽だから

465 名前:デフォルトの名無しさん mailto:sage [2012/02/24(金) 20:21:49.18 ]
/clr:pureだとアセンブリにネイティブコードが混ざらない。
ネイティブコードを混ぜないC++/CLIなんて存在価値ゼロだから、C++/CLI使うんなら常に/clrでおk。
C#をやれ。いくらC++の経験があろうが関係ない。間違いなくC#の方が早く使えるようになるし
開発効率に天と地ほどの差がある。C++/CLIはMSに完全に見捨てられている技術。

466 名前:デフォルトの名無しさん mailto:sage [2012/02/24(金) 20:25:20.13 ]
VS2010ではもうインテリセンスすら付けてくれてないもんね

467 名前:デフォルトの名無しさん mailto:sage [2012/02/24(金) 21:09:13.08 ]
C#やってみます。
過去のレス見てきたんですけど、ひどい言われようですね
あと、あんま書き込み無いのにレスは早くて面白かったです。

468 名前:デフォルトの名無しさん mailto:sage [2012/02/27(月) 08:13:52.05 ]
いろいろと屈折した愛があるからなw

469 名前:デフォルトの名無しさん mailto:sage [2012/02/29(水) 02:03:40.75 ]
俺はこのスレに張り付いてるけど一応ちょっと待ってからレスしてるわ



470 名前:デフォルトの名無しさん mailto:sage [2012/03/02(金) 07:33:50.86 ]
呼び出し規約がよくわからないのですが、関数を宣言した場所で明示しない場合
・引数・返り値の型にマネージ型が含まれる→__clrcall になる
・含まれない→__stdcall になる。実装がマネージドコードにコンパイルされると、double-thunkingになる
という理解であっているでしょうか。

また、非マネージ型のメンバ関数においては、
managed-code -> __thiscall stub -> __clrcall のような double-thunking が発生するのでしょうか?

471 名前:デフォルトの名無しさん mailto:sage [2012/03/07(水) 16:17:15.87 ]
VS11βでもインテリセンス無いかな?

472 名前:デフォルトの名無しさん mailto:sage [2012/03/08(木) 00:59:01.93 ]
今ちょっと打ってみたが効くみたいだよ。

473 名前:デフォルトの名無しさん mailto:sage [2012/03/13(火) 21:11:04.75 ]
C1001 が出た。
みんな報告してる?

474 名前:デフォルトの名無しさん mailto:sage [2012/03/14(水) 04:07:10.11 ]
可能な限りする

475 名前:デフォルトの名無しさん mailto:sage [2012/03/14(水) 11:15:03.77 ]
やっぱそうだよな。VS11Betaで試してconnect行くわ。

476 名前:デフォルトの名無しさん mailto:sage [2012/03/15(木) 09:53:47.89 ]
VS11betaでもやっぱりIntellisSense効かなくて
"No additional information available"って言われるんだけど
何が悪いんだろう

ButtonとTextBox置いてButtonのイベントハンドラの中で
textBox1->とかやってるだけなんだけど
最初のt打っただけで上のエラーが出て
->まで打ってもエラー出たままでメンバも表示されない

477 名前:デフォルトの名無しさん mailto:sage [2012/03/15(木) 20:40:01.46 ]
homepage3.nifty.com/ishidate/vcpp10_20/vcpp10_20.htm
ここの一番下の図5は図6用の計算式はどの様に記入すれば良いのですか。

478 名前:デフォルトの名無しさん mailto:sage [2012/03/16(金) 10:49:25.88 ]
function1のとこだろ
どう考えてもC++/CLIでやるべきことじゃないよなこれ
内容は凄いのに…C#にすれば…

479 名前:デフォルトの名無しさん mailto:sage [2012/03/18(日) 11:04:51.87 ]
おお、派手だなw
.net framework 使いたいだけならC#でいいなーほんとに



480 名前:デフォルトの名無しさん mailto:sage [2012/03/18(日) 12:14:54.13 ]
eのこと聞いてんのかな?
Math::Exp() にすりゃいいと思うが、、、、

481 名前:デフォルトの名無しさん mailto:sage [2012/03/20(火) 20:55:02.08 ]
こういう変に優秀な勘違いがいるからC++/CLIに手を出す奴がいなくならないんだよな
C++/CLIの記事や書籍ってC#やVBに比べて妙に良質だったりするし

482 名前:デフォルトの名無しさん mailto:sage [2012/03/21(水) 00:15:02.30 ]
C/C++では配列の終端の一つ次を指すポインタは有効なポインタだったのですけど、
マネージ配列の終端の一つ次を指す interior_ptr は配列がGCで移動したときに正常に更新されますか?

483 名前:482 mailto:sage [2012/03/25(日) 13:00:47.00 ]
いまさらですが、試してみたところ正常に移動するようでした。

484 名前:482 mailto:sage [2012/03/26(月) 18:19:27.80 ]
(勝手な推測ですが) interior_ptr はハンドルとオフセットのペアで実装されているのではないかと思います。

array<int> ^a;
auto pa = &a[3]; // { a, 12 }

int *p;
interior_ptr<int> ip (p); // { nullptr, p }

ところで、長さ 0 の配列 (b) に対して &b[0] は IndexOutOfRangeException なんですね…。困った困った。

485 名前:デフォルトの名無しさん mailto:sage [2012/03/26(月) 21:59:14.05 ]
配列でinterior_ptrなんて必要?
君が言ってるように常に配列のハンドルとオフセットをペアにしとけばよくね
interior_ptrってクラスのインスタンスフィールド指すのに使うやつでしょ

486 名前:デフォルトの名無しさん mailto:sage [2012/03/27(火) 07:37:57.33 ]
既存コードの一部だけマネージに持っていく実験なので。
*& はできても interior_ptr<T>% はできないので、配列 + オフセットの方が便利なのはその通りです。






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<122KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef