トップページ > プログラム > 2017年02月15日 > WDBEc38A

書き込み順位&時間帯一覧

3 位/246 ID中時間01234567891011121314151617181920212223Total
書き込み数00000000320100010201220014



使用した名前一覧書き込んだスレッド一覧
デフォルトの名無しさん
次世代言語議論スレ【Go Rust Haskell Scala Erlang Elixir】 第二世代 [無断転載禁止]©2ch.net
MFC相談室 mfc23d.dll [無断転載禁止]©2ch.net

書き込みレス一覧

次世代言語議論スレ【Go Rust Haskell Scala Erlang Elixir】 第二世代 [無断転載禁止]©2ch.net
205 :デフォルトの名無しさん[]:2017/02/15(水) 08:13:45.18 ID:WDBEc38A
手続き型が速くて効率がいいとはかぎらん。
JavaやC#みたいな仮想マシン上で動くやつ、あるマシンをソフトでエミュレートした環境でも
手続き型言語は動作する。
動くまでにかなりの複雑さ。
次世代言語議論スレ【Go Rust Haskell Scala Erlang Elixir】 第二世代 [無断転載禁止]©2ch.net
208 :デフォルトの名無しさん[]:2017/02/15(水) 08:35:46.11 ID:WDBEc38A
言語速度は実装次第。
JavascriptがC言語並みの速度を出すのは実装次第で可能。
たとえばJavascriptをC言語にトランスレートしてからコンパイルすればいい。
処理の順序を認めない純粋関数型のほうが、処理待ち、ロックが発生しない分、速くなる余地がある。
混合型言語でも処理待ちを発生させたくない部分を関数型の制約で書くことで処理系の最適化次第で高速に動く。
次世代言語議論スレ【Go Rust Haskell Scala Erlang Elixir】 第二世代 [無断転載禁止]©2ch.net
210 :デフォルトの名無しさん[]:2017/02/15(水) 08:43:08.58 ID:WDBEc38A
マルチコアCPUの性能を活かすため並行/並列プログラミングを行う際には
競合状態やデッドロックへの対処が課題となりますが、Haskellでは上記の通り、
関数はいつどのように実行しても同じ結果が得られることが言語仕様上保証されていることから、
命令型言語に比べ並列化の対応が容易になります。

http://www.casleyconsulting.co.jp/blog-engineer/haskell/haskellで学ぶ関数型プログラミング入門/
次世代言語議論スレ【Go Rust Haskell Scala Erlang Elixir】 第二世代 [無断転載禁止]©2ch.net
212 :デフォルトの名無しさん[]:2017/02/15(水) 09:08:57.09 ID:WDBEc38A
ループの自動ベクトル化みたいに、C/C++言語ソースでも
関数型ルールに適合する部分を検出して、自動で関数型としておもに並列最適化するのも不可能ではないと思った。



コンパイラー最適化入門: 第4回 自動ベクトル化はどんな時に行われるか | iSUS
http://www.isus.jp/products/c-compilers/compiler_part4/
次世代言語議論スレ【Go Rust Haskell Scala Erlang Elixir】 第二世代 [無断転載禁止]©2ch.net
213 :デフォルトの名無しさん[]:2017/02/15(水) 09:14:49.65 ID:WDBEc38A
理想の関数型処理系ならばシングルもマルチコアも、プログラマ側がソースコードを書き分ける必要がない。
いくら並列処理、コア数が増えたとしてもシングルコアと同一コードで動作する。
次世代言語議論スレ【Go Rust Haskell Scala Erlang Elixir】 第二世代 [無断転載禁止]©2ch.net
221 :デフォルトの名無しさん[]:2017/02/15(水) 11:28:59.88 ID:WDBEc38A
現行Haskellではなく理想的な純粋関数型言語ならば
シングルスレッドとして書いたコードで自動でマルチコアに対応できる
MFC相談室 mfc23d.dll [無断転載禁止]©2ch.net
54 :デフォルトの名無しさん[sage]:2017/02/15(水) 15:11:12.80 ID:WDBEc38A
MFCでCEditをサブクラス化したいと思うのですがうまくいきません

サブクラス化時にFromHandlePermanetと言う関数が呼ばれてそこでASSERTに引っ掛かってしまいます

MSDNによると「SubclassWindowを呼び出す時、ウィンドウがMFCオブジェクトに結びつけられていないようにしろ」とあります

馬鹿で申し訳ないのですが、ウィンドウがMFCオブジェクトに結びつけられるのはどのタイミングなのでしょうか?
今はCEdit::Create後にサブクラス化を試みています
MFC相談室 mfc23d.dll [無断転載禁止]©2ch.net
57 :デフォルトの名無しさん[]:2017/02/15(水) 17:29:15.59 ID:WDBEc38A
>>56
ありがとうございます

しかしながらCEditから派生させたクラスをnewを使用して動的に作成しています

newによりインスタンスを動的に作成

Createメンバ関数を呼び出しコントロールを作成

サブクラス化

ASSERT
MFC相談室 mfc23d.dll [無断転載禁止]©2ch.net
58 :デフォルトの名無しさん[sage]:2017/02/15(水) 17:43:20.32 ID:WDBEc38A
途中で送信してしまいました

現状はこんな感じでアサートに引っ掛かってしまいます

デバッガで追うとウィンドウのMAP(?)にサブクラス化対象のウィンドウが既に存在しているとアサートされるようなのですが、このウィンドウマップにどこで登録されるのかが解りません
マップに登録される=MSDNの言う「ウィンドウをMFCオブジェクトに結び付ける」と言うことなのかと推測しています
MFC相談室 mfc23d.dll [無断転載禁止]©2ch.net
60 :デフォルトの名無しさん[]:2017/02/15(水) 19:18:20.41 ID:WDBEc38A
>>59
ありがとうございます

説明不足で申し訳ありません
そもそも何故エディットボックスをサブクラス化したいかというとエディットボックスのコンテキストメニューを改造したいためなのです
エディットボックスにくるWN_RBUTTONDOWNをトラップするため、サブクラス化が必須になっている次第です
MFC相談室 mfc23d.dll [無断転載禁止]©2ch.net
66 :デフォルトの名無しさん[]:2017/02/15(水) 20:56:19.16 ID:WDBEc38A
>>62
ありがとうございます

SubclasDlgItemを使っています
ですがデバッガで追うと結局は内部でSubclassWindowをを呼び出しているのは確認しています
MFC相談室 mfc23d.dll [無断転載禁止]©2ch.net
67 :デフォルトの名無しさん[]:2017/02/15(水) 20:58:48.04 ID:WDBEc38A
>>64
ありがとうございます

DDXは使っていません
リソースにエディットボックスコントロールを貼りつけてはおらず、プログラム中でCEditクラスを派生したクラスを動的に作成しています
MFC相談室 mfc23d.dll [無断転載禁止]©2ch.net
68 :デフォルトの名無しさん[]:2017/02/15(水) 21:01:57.77 ID:WDBEc38A
>>65
エディットボックスのマウス右クリックはサブクラス化が必要なようです

でも確かになにかコンテキスト〜というメッセージがあったような気もしないでもないのですが…
WEBで調べた限りですと右クリックメッセージをフックしているのしか出てきませんでした
MFC相談室 mfc23d.dll [無断転載禁止]©2ch.net
70 :デフォルトの名無しさん[sage]:2017/02/15(水) 21:47:42.01 ID:WDBEc38A
>>69
おおおお!!!
ありがとうございます!

早速試してみます!




と思いましたが、今日はもう事務所が閉まるそうです…
早速明日試してみます!
ありがとうございました!


※このページは、『2ちゃんねる』の書き込みを基に自動生成したものです。オリジナルはリンク先の2ちゃんねるの書き込みです。
※このサイトでオリジナルの書き込みについては対応できません。
※何か問題のある場合はメールをしてください。対応します。