- 1 名前:デフォルトの名無しさん mailto:sage [2009/12/06(日) 23:54:00 ]
- (#゚ー゚)つ < C#、.NETの話題はこちらでどうぞ。
前スレ C#, C♯, C#相談室 Part55 pc12.2ch.net/test/read.cgi/tech/1255530225/ Visual C# 2008 Express Edition 日本語版 www.microsoft.com/japan/msdn/vstudio/express/vcsharp/ その他テンプレ>>2-5くらい
- 628 名前:デフォルトの名無しさん mailto:sage [2010/01/15(金) 17:52:26 ]
- >>627
CとかだとCreateFileMappingとか使って、共有メモリに構造体ぶち込んだり C++だったらVirtualAllocとか使ったりして いけたんですがねー やっぱりC#だと無理なのか・・・
- 629 名前:デフォルトの名無しさん mailto:sage [2010/01/15(金) 18:00:41 ]
- FileMappingは.NET4.0からだな
- 630 名前:デフォルトの名無しさん mailto:sage [2010/01/15(金) 18:02:16 ]
- 一応DllImportして、CreateFileMapping使ってみたんだけど
やっぱり、2Gで落ちるんですよね 参った
- 631 名前:デフォルトの名無しさん mailto:sage [2010/01/15(金) 18:13:45 ]
- LargeAddressAwareがなんちゃら
- 632 名前:デフォルトの名無しさん mailto:sage [2010/01/15(金) 18:30:26 ]
- 頑張ればいけるかもしれない・・・
- 633 名前:デフォルトの名無しさん mailto:sage [2010/01/15(金) 18:40:20 ]
- editbin.exeが鍵か
- 634 名前:デフォルトの名無しさん mailto:sage [2010/01/15(金) 19:40:57 ]
- boot.ini で /3G で >>633 ので IMAGE_FILE_LARGE_ADDRESS_AWARE
でも3G
- 635 名前:デフォルトの名無しさん mailto:sage [2010/01/15(金) 19:51:59 ]
- DVDのISOファイルすら操れないとは・・・
- 636 名前:デフォルトの名無しさん mailto:sage [2010/01/15(金) 20:04:36 ]
- そんなものをオンメモリでやるな。
- 637 名前:デフォルトの名無しさん mailto:sage [2010/01/15(金) 20:24:06 ]
- でもそろそろそういうのもオンメモリでやる時代になってきたってことじゃね?
640kのメインメモリなんて頃もあったわけだし。
- 638 名前:デフォルトの名無しさん mailto:sage [2010/01/15(金) 22:42:10 ]
- じゃね?
- 639 名前:デフォルトの名無しさん mailto:sage [2010/01/15(金) 23:02:27 ]
- >>628
C++でも32ビットWindowsなら2GBまでだろ。C#も同じ。ただし、当然>>634はC#でも通用する。 あと、64ビット版WindowsでIMAGE_FILE_LARGE_ADDRESS_AWARE付きの32ビットEXEを実行すると仮想アドレス4GB全部使える。 >>635-637 64ビットでやれ。
- 640 名前:デフォルトの名無しさん mailto:sage [2010/01/16(土) 06:20:39 ]
- HDDに書き込んで取り出してを繰り返せよ
- 641 名前:デフォルトの名無しさん mailto:sage [2010/01/16(土) 07:42:52 ]
- >>628
CreateFileMapping自体は4G越えもいけた。 MapViewOfFileでまとめて設定できるViewが2G越えでダメだといってるのだろうか? どちらにせよ、ネイティブのViewからマネージド領域へマーシャリングが必要になるので あまり効率は良くない。
- 642 名前:デフォルトの名無しさん mailto:sage [2010/01/16(土) 10:40:26 ]
- 32ビットで4G積んで、システムプロパティで実装メモリ見たら
4GB(3GB使用可能)てなってるが。
- 643 名前:デフォルトの名無しさん mailto:sage [2010/01/16(土) 11:09:58 ]
- >>642
それは物理メモリが3GB使えるということだけど、今の話とは関係ない。 物理メモリに空きが無くても、メモリ確保やMapOfViewFileは成功する。 そのためのページング機構。 今問題なのは、プロセスごとの仮想アドレス空間(のうち、ユーザモードで使える分)。 msdn.microsoft.com/en-us/library/aa366778(VS.85).aspx 逆に、いくら物理メモリが空いていても、アドレス空間に空きがなければソフトウェアから使うことは不可能。
- 644 名前:デフォルトの名無しさん mailto:sage [2010/01/16(土) 11:24:59 ]
- 仮想領域が32bitアドレッシングである限り、言語を問わずマップできるのは 268435456 byte まで。
思うに、>630で落ちるというのは、マップ可能なサイズ以上にマップしようとしてないか? 細かくビューをMap/UnMapすれば通ると思うんだが・・・
- 645 名前:デフォルトの名無しさん mailto:sage [2010/01/16(土) 11:45:05 ]
- DOS時代に16bit nearポインタだと64kしかメモリブロック確保出来なかったのと同じことがおきてるわけだよな。
- 646 名前:デフォルトの名無しさん mailto:sage [2010/01/16(土) 13:18:46 ]
- そのうち、ギガバイト単位のメモリをやりくりするのが当然になる時代が来るのかなぁ。
- 647 名前:デフォルトの名無しさん mailto:sage [2010/01/16(土) 13:20:27 ]
- 今はもう12GBとかつんでるパソコンが20万以下で手に入るからな。
もうすぐだろう
- 648 名前:デフォルトの名無しさん mailto:sage [2010/01/16(土) 14:36:55 ]
- こないだ会社の後輩がいきなり2GBの配列作ってた。
そういうことが何も考えずにできちゃう時代になったんだなあとしみじみ思った。
- 649 名前:デフォルトの名無しさん mailto:sage [2010/01/16(土) 14:44:51 ]
- でもやっぱ2G配列確保は躊躇するわ・・・
- 650 名前:デフォルトの名無しさん mailto:sage [2010/01/16(土) 14:54:15 ]
- さすがに2Gの配列を「何も考えずにできちゃう時代」はまだ数年は先だと思ふ
- 651 名前:デフォルトの名無しさん mailto:sage [2010/01/16(土) 15:14:40 ]
- ファイルマッピングなら2GB程度・・・と思ったが、「ファイルマッピング」という
点で「何か考えている」か。
- 652 名前:デフォルトの名無しさん mailto:sage [2010/01/16(土) 17:52:51 ]
- 携帯開発だとそうはいかないんじゃないですか?
ビット詰めして軽くするとかやってるみたいですけど。
- 653 名前:デフォルトの名無しさん mailto:sage [2010/01/16(土) 18:22:56 ]
- そりゃ組込みだとそうはいかないだろうけど
そもそも組込みでC#だのJavaだのの高級言語使える時点で時代が違うよな。
- 654 名前:デフォルトの名無しさん mailto:sage [2010/01/16(土) 18:43:48 ]
- test
- 655 名前:デフォルトの名無しさん mailto:sage [2010/01/16(土) 18:49:48 ]
- 共通一次
- 656 名前:デフォルトの名無しさん mailto:sage [2010/01/16(土) 19:01:52 ]
- 2Gって64環境じゃないとそもそもできないと思うが。
しかし、アクセスがある時間内では局所的で、 ワーキングセットが小さく保たれていれば それなりの動きをしているともいえるな。
- 657 名前:デフォルトの名無しさん mailto:sage [2010/01/16(土) 19:31:47 ]
- ですね。
- 658 名前:デフォルトの名無しさん mailto:sage [2010/01/17(日) 02:21:53 ]
- たぶん冬休みの宿題だったんだよw
- 659 名前:デフォルトの名無しさん mailto:sage [2010/01/17(日) 17:45:10 ]
- マルチスレッドプログラミングにおける適切なスレッド数を示したガイドラインみたいなものってありますか。
今はなんとなくコア数でやってます。
- 660 名前:デフォルトの名無しさん mailto:sage [2010/01/17(日) 18:26:40 ]
- 場合によるとしか
IOなどでブロックされることが多いならいっぱい作れば速くなるだろうし ずっと100%動いてるなら=コア数で十分だし
- 661 名前:デフォルトの名無しさん mailto:sage [2010/01/17(日) 20:11:00 ]
- >>660
ありがとうございます。 適当そうなスレッド数を事前に見積もる必要がありそうですね。
- 662 名前:デフォルトの名無しさん mailto:sage [2010/01/17(日) 20:57:19 ]
- レジストリとかで変更できるようにしとかないような残念な奴にならんようにな。
- 663 名前:デフォルトの名無しさん mailto:sage [2010/01/18(月) 07:51:32 ]
- レジストリを使うこと自体が残念なんだが
- 664 名前:デフォルトの名無しさん mailto:sage [2010/01/18(月) 10:27:29 ]
- スレッド数とかユーザが弄れるようになってるのもソフトによっちゃ結構残念ではあるような・・・
フリーソフトならありかもしれんけどサポート要るソフトでは面倒だからやりたくないわ。
- 665 名前:デフォルトの名無しさん mailto:sage [2010/01/18(月) 14:11:32 ]
- 面倒だからやりたくない人にはプログラムを組む資格がないんだが
- 666 名前:デフォルトの名無しさん mailto:sage [2010/01/18(月) 14:21:52 ]
- その資格試験どこで受けられますか?
- 667 名前:デフォルトの名無しさん mailto:sage [2010/01/18(月) 14:33:34 ]
- >>664
非公開・サポート無し、な機能にすればいいと思うよ
- 668 名前:デフォルトの名無しさん mailto:sage [2010/01/18(月) 14:42:16 ]
- 俺は面倒だからプログラムを組むけどな
- 669 名前:デフォルトの名無しさん mailto:sage [2010/01/18(月) 15:35:45 ]
- >>665
ん? 面倒だからやりたくないってのは 機能を盛りこむとユーザからその分の問い合わせがくる → 面倒な仕事が増えるってことなんだけど? なんか意味判ってない人がいるようだな。 俺だったらコア数設定みたいなの設定項目に組みこむぐらいなら 動いてるシステムのコア数によってスレッド数増減するようなコード書くけどな。
- 670 名前:デフォルトの名無しさん mailto:sage [2010/01/18(月) 15:43:23 ]
- 俺は面倒だから3行以上は読まないな
- 671 名前:デフォルトの名無しさん mailto:sage [2010/01/18(月) 15:47:01 ]
- この板はプロアマ自称他称問わずが混在していることを忘れないよう。
あと仕事の話しを持ちこむと喜ぶ奴がいることも忘れないよう。
- 672 名前:デフォルトの名無しさん mailto:sage [2010/01/18(月) 15:49:19 ]
- 日本人は機能過剰と設定項目過剰が大好きな思考停止民族ニダ
- 673 名前:デフォルトの名無しさん mailto:sage [2010/01/18(月) 16:40:57 ]
- BackgroundWorker
- 674 名前:デフォルトの名無しさん mailto:sage [2010/01/18(月) 17:15:15 ]
- >>673
ふらっとスレとまちがえたか
- 675 名前:デフォルトの名無しさん [2010/01/18(月) 18:10:42 ]
- >>673
噂のおじいちゃんですか?((((;゚Д゚))))ガクガクブルブル
- 676 名前:デフォルトの名無しさん mailto:sage [2010/01/18(月) 21:33:40 ]
- そのスレッド増減の適正値なんて予測できないから調整手段入れとけって話。
あなたは神かww
- 677 名前:デフォルトの名無しさん mailto:sage [2010/01/18(月) 21:37:36 ]
- ん?システムのコア数に合わせて自動調整するって話とちゃうの?
QuadCoreなら4とか。上限ぐらいは設定できても良い気はするけど。
- 678 名前:デフォルトの名無しさん mailto:sage [2010/01/18(月) 21:48:38 ]
- 適正値が存在する処理かどうかも不明だし
調整手段を用意するかどうかは処理次第ポリシー次第だし 質疑応答はとっくに終わってるし どうでもよいと思います。
- 679 名前:デフォルトの名無しさん mailto:sage [2010/01/18(月) 21:58:09 ]
- はぁ?ユーザがどうやって適正な値に設定するっていうんだよ。
コア数はプログラム側で読める上にどんな処理してるのかわかってるのもプログラム側。 この状況で誰が一番適切な値決められるんだよ。思考停止してんじゃねーよぼけ。
- 680 名前:デフォルトの名無しさん mailto:sage [2010/01/18(月) 22:02:05 ]
- >>679
例えばMTUでggrks
- 681 名前:デフォルトの名無しさん mailto:sage [2010/01/18(月) 22:16:31 ]
- >>680
ん?はぁ?ふっはっ?
- 682 名前:デフォルトの名無しさん mailto:sage [2010/01/18(月) 22:17:39 ]
- >>680
あほだ、あほがおる
- 683 名前:デフォルトの名無しさん mailto:sage [2010/01/18(月) 22:25:09 ]
- まあ、だからレジストリがいいんじゃないの?
勝手にいじるようならサポートする必要はないし、勘違いユーザはいい気分になるだろうし
- 684 名前:デフォルトの名無しさん mailto:sage [2010/01/18(月) 22:28:13 ]
- ユーザ: 1コアだけ別のプログラム用に空けときたいんだけど・・・
>>679: はぁ?これが一番適切な値なんだよぼけ。
- 685 名前:デフォルトの名無しさん mailto:sage [2010/01/18(月) 22:34:08 ]
- 仕方ないので優先度下げた
- 686 名前:デフォルトの名無しさん mailto:sage [2010/01/18(月) 22:42:27 ]
- >>685: はぁ?
- 687 名前:デフォルトの名無しさん mailto:sage [2010/01/18(月) 22:46:55 ]
- 中身を知らなくてもユーザは使い方を知ってる。
っていうかね、全ての変数を設定項目にしてもいいぐらい。おもいあがんな。
- 688 名前:デフォルトの名無しさん mailto:sage [2010/01/18(月) 22:49:48 ]
- >>687
おもいあがってるのはおまえだろ
- 689 名前:デフォルトの名無しさん mailto:sage [2010/01/19(火) 00:00:13 ]
- >>688
おもいあがったプログラマさんですか? 最適コア数自動調整乙でございます。
- 690 名前:デフォルトの名無しさん mailto:sage [2010/01/19(火) 00:20:16 ]
- MAX何コアまで割り当てるとかくらいはあってもいいけど、まあその程度のことだ。
- 691 名前:デフォルトの名無しさん mailto:sage [2010/01/19(火) 00:58:47 ]
- プログラマの思い上りは異常。
ユーザーが一番偉いのに。設定値は解放されるべき。
- 692 名前:デフォルトの名無しさん mailto:sage [2010/01/19(火) 01:07:51 ]
- お客様は神様ってやつか。
客商売やってりゃ、神様とでも思わないとやってらんねーよってやつだ。
- 693 名前:デフォルトの名無しさん mailto:sage [2010/01/19(火) 01:40:07 ]
- ソフトが気に入らないときは自分でつくりゃいいんだよ。
低脳には無理だろうが。
- 694 名前:デフォルトの名無しさん mailto:sage [2010/01/19(火) 01:40:54 ]
- 客商売やってりゃ、余計な設定は外したくなる。
- 695 名前:デフォルトの名無しさん mailto:sage [2010/01/19(火) 02:04:35 ]
- >>694
余計なことすんなよ。コア数設定させてやれよ。
- 696 名前:デフォルトの名無しさん mailto:sage [2010/01/19(火) 06:05:17 ]
- 日本での商売のソフトは普通、環境を限定して作るもんだろ。
- 697 名前:デフォルトの名無しさん mailto:sage [2010/01/19(火) 07:24:17 ]
- わざわざマルチスレッドにしてまで高速化するものだったら、ユーザもそれなりのレベルを想定してると思う。
- 698 名前:デフォルトの名無しさん mailto:sage [2010/01/19(火) 08:02:18 ]
- アプリケーションの要求速度とユーザのレベルとの間に相関があるとか
論理展開が突飛すぎて付いていけない
- 699 名前:デフォルトの名無しさん mailto:sage [2010/01/19(火) 09:05:40 ]
- 一種類のタスクでマルチスレッド化のオーバーヘッドを上回るほどの重い計算をさせるんだろ。
一般的じゃない。
- 700 名前:デフォルトの名無しさん mailto:sage [2010/01/19(火) 10:14:12 ]
- >>697
これがプログラマー脳って奴だ。 こんなんだから日本のIT業界はおいてきぼりになるんだわ。 あーあ。馬鹿に付ける薬はないって本当だな。
- 701 名前:デフォルトの名無しさん mailto:sage [2010/01/19(火) 10:23:34 ]
- なんだよ。じゃあ、いってみろよ。
シングルスレッドじゃなかったら、プロセッサの数のスレッド数。 それで不満なんてマニア。
- 702 名前:デフォルトの名無しさん mailto:sage [2010/01/19(火) 12:43:18 ]
- ロードバランサ
- 703 名前:デフォルトの名無しさん mailto:sage [2010/01/19(火) 13:30:06 ]
- >>702
意味不明な書き込みにワロタ
- 704 名前:デフォルトの名無しさん mailto:sage [2010/01/19(火) 14:14:36 ]
- 処理内容も対象ユーザ層もぼんやりなまま各自の脳内設定で煽り合って何がしたいの?
というかそもそもなんで喧嘩腰なの? あと突然5段階ぐらい論理過程ぶっ飛んだ単語を並べる奴は何がしたいの? 雑談にしてもちょっと酷いんじゃないの? ばかなの?しぬの?
- 705 名前:デフォルトの名無しさん mailto:sage [2010/01/19(火) 14:23:04 ]
- 荒らしたいだけだろ。馬鹿の相手する方も馬鹿だな。
- 706 名前:デフォルトの名無しさん mailto:sage [2010/01/19(火) 14:43:52 ]
- 技術的な話になると出番がないので
こういうときでないと書き込めません><
- 707 名前:デフォルトの名無しさん mailto:sage [2010/01/19(火) 19:06:32 ]
- どういうときにマルチスレッドにするの? 数値計算ぐらいしか思い浮かばないんですが。
- 708 名前:デフォルトの名無しさん [2010/01/19(火) 19:08:05 ]
- C#勉強がてらダウンロードして早速サンプル作ろうと思ったんだけどコンパイルが通らない。
getData(string):値を返さないコードパスがあります。といったエラーが解決できない。 どこが悪いの? namespace StockQuote { public class StockQuote { public static void Main() { string url = "stocks.finance.yahoo.co.jp/stocks/detail/?code=1"; string rtnData = getData(url); Console.Write(rtnData); } private static string getData(string pUrl) { try { HttpWebRequest myHttpWebRequest = (HttpWebRequest)WebRequest.Create(pUrl); return "SUCCESS"; } catch (Exception) { return "ERROR"; } } } }
- 709 名前:デフォルトの名無しさん mailto:sage [2010/01/19(火) 19:16:48 ]
- そのコードをコピペしてみたが、
コンパイル通ったよ
- 710 名前:デフォルトの名無しさん mailto:sage [2010/01/19(火) 19:21:01 ]
- A.dllというアセンブリがあって
A.dllが読み込まれた場合に A.dllの中のBというクラスの特定のスタティックメソッドを呼び出すことは出来ますか?
- 711 名前:デフォルトの名無しさん [2010/01/19(火) 19:22:10 ]
- >>709
えええ?と思い、コメントアウトしてた行を全部消してみたらコンパイルが通りました^^ なんかコンパイラが信用できないなー。。。
- 712 名前:デフォルトの名無しさん mailto:sage [2010/01/19(火) 19:52:01 ]
- >>710
A.dll側で実装する方法は思いつかないなぁ A.dllを参照する側なら、ロード前にAppDomainのAssemblyLoadイベントを設定しとけばいけるけど
- 713 名前:デフォルトの名無しさん mailto:sage [2010/01/19(火) 20:01:18 ]
- 呼び出すって言ってるから、エントリポイントのことじゃないだろ
- 714 名前:デフォルトの名無しさん mailto:sage [2010/01/19(火) 20:33:08 ]
- >>711
なぜ自分の頭の方を疑わないのか。。。
- 715 名前:デフォルトの名無しさん mailto:sage [2010/01/19(火) 20:34:03 ]
- コンストラクタってよくわからないのですが
初期化するって何を初期化するんでしょうか?
- 716 名前:デフォルトの名無しさん mailto:sage [2010/01/19(火) 20:34:45 ]
- newするオブジェクトを
- 717 名前:デフォルトの名無しさん mailto:sage [2010/01/19(火) 20:40:34 ]
- プライベート/パブリックフィールドの初期化とかインスタンスを実行するのに必要な初期処理とかしてやればいいよ。
- 718 名前:デフォルトの名無しさん mailto:sage [2010/01/19(火) 21:06:37 ]
- >>715
「何を初期化するか」が分からないというより、 そもそも初期化って概念がわからないんでしょw そんなの気にしなくていいよ自ずとわかるから。
- 719 名前:デフォルトの名無しさん mailto:sage [2010/01/19(火) 23:05:20 ]
- >>707
ネットワークアクセスやIOなど まあそういう使い方だとコア数なんか全く関係ないけどなw
- 720 名前:デフォルトの名無しさん mailto:sage [2010/01/20(水) 09:11:02 ]
- >>715
思いつかないなら、初期化するオブジェクトは無いということだね。
|

|