C#, C♯, C#相談室 Part93©2ch.net

レス数が1000を超えています。これ以上書き込みはできません。
■Visual Studio 2017 Community(無償の統合開発環境)等はこちら
http://www.visualstudio.com/downloads/

■コードを貼る場合はこちら
http://ideone.com/

■前スレ
C#, C♯, C#相談室 Part92
http://echo.2ch.net/test/read.cgi/tech/1485589613/

■次スレは>>970が建てる事。
建てられない場合は他を指定する事。
VIPQ2_EXTDAT: checked:vvvvv:1000:512:----: EXT was configured

0952デフォルトの名無しさん (ワッチョイ 179f-bDR4)2019/03/05(火) 08:33:58.12ID:Q/LSKwqY0
>>951
詳しく

0953デフォルトの名無しさん (ワッチョイ ffa7-3oSp)2019/03/05(火) 12:55:11.87ID:xG/V/FM40
一発でソースコード復元されるからか?
それを言ったらJavaも同じだから泥アプリとか簡単に解析出来るけど

0954デフォルトの名無しさん (ワッチョイ ff63-RqxP)2019/03/05(火) 15:29:31.29ID:zDemJk6G0
それはMSも認識してるしフリーの難読化ツールが何個も出てるんやで

難読化が必要な理由 | Microsoft Docs https://docs.microsoft.com/ja-jp/previous-versions/visualstudio/visual-studio-2008/ms227271(v=vs.90)

0955デフォルトの名無しさん (ブーイモ MMbf-LAF0)2019/03/05(火) 20:24:10.57ID:X7v05Ly8M
うちのソースは普通に難読だけどな

0956デフォルトの名無しさん (ブーイモ MM3b-vAvN)2019/03/05(火) 20:50:38.72ID:phKvM6KvM
おれのソースコードはデフォで難読だから余裕

0957デフォルトの名無しさん (ワッチョイ 932c-McIj)2019/03/07(木) 00:13:41.81ID:30anmeL+0
難読化しないとってほどのソースコードなんてそんなに無いような気がするけどな…
そもそもOSSが当たり前みたいなこんな時代に

0958デフォルトの名無しさん (ワッチョイ 92ad-YS+u)2019/03/07(木) 01:10:43.27ID:tnYmqFtJ0
>>957
見せられない処理はAPIの向こう側だしね

0959デフォルトの名無しさん (ワッチョイ 7317-uGU8)2019/03/07(木) 19:34:45.84ID:Kf1DGo5Q0
ゲームは改造対策に難読化したほうが良さげ

0960デフォルトの名無しさん (ワッチョイ d6da-uGU8)2019/03/08(金) 13:12:26.41ID:5Js7CVOV0
オリジナルソースがスパゲッティでも
ILSpyなんかを通すとオリジナルより見やすく逆コンパイルしてくれるからな。

0961デフォルトの名無しさん (ワッチョイ 9261-uGU8)2019/03/08(金) 14:21:31.67ID:p3uWfhXt0
そんなのあるんだ?ありがたいな。スパゲティにはほとほと手を焼いてたんだ。きれいにしてくれるなら使ってみようかなw

0962デフォルトの名無しさん (スフッ Sd32-McIj)2019/03/08(金) 18:09:25.36ID:XK/LB6aKd
メソッド単位は変わらないからプライベートやグローバル使いまくりのスパゲティはどうにもならないけどね

0963デフォルトの名無しさん (ワッチョイ 7317-uGU8)2019/03/08(金) 19:36:48.59ID:W3YxLksd0
制御フロー難読化をやるとさらに汚くしてくれるからオススメ

0964デフォルトの名無しさん (ワッチョイ 167b-91/d)2019/03/08(金) 20:13:44.24ID:S6VEx3Fw0
メソッドのローカル変数をきれいに整頓してくれるILSpy△
そろそろここも終わるけど
C#, C♯, C#相談室 Part95
https://mevius.5ch.net/test/read.cgi/tech/1508168482/
でいいよね。隔離スレをわざわざ新しく立てる必要もないし

0965デフォルトの名無しさん (ワッチョイ b302-B/CD)2019/03/14(木) 19:31:23.01ID:uF+nNtm+0
ライブラリレベルのオーバーヘッドを気にするのは止めましょう
ガベージコレクションが前提の言語を使ってる以上無駄な努力に終わります
性能絶対重視なら最初からCやASMで書いた方が良いし
よほどのスパーハカーでもない限りそんな努力が報われるほどの性能差にならないと思われます

0966デフォルトの名無しさん (ワッチョイ b302-PKKy)2019/03/14(木) 21:34:22.29ID:DpwzO91B0
ASM?
コンパイラに勝てると思ってるのか?

0967 ◆QZaw55cn4c (ワッチョイ 6fe9-h1+v)2019/03/14(木) 21:49:31.03ID:NTAm4EVS0
>>966
asm の教科書を書いていますが、「そのお題、asm で書く理由がない…」という深刻な問題に直面しています
asm で書くのに適したお題は何かありませんか?

0968デフォルトの名無しさん (ワッチョイ ffad-OnF4)2019/03/14(木) 21:52:50.86ID:SvZaCm1k0
最初のCコンパイラかな

0969デフォルトの名無しさん (アウアウエー Sadf-FtxA)2019/03/14(木) 22:53:26.94ID:fi3bTXEpa
x86の機械語は知らんけど、CPUを汎用計算機ではなくHWとして使いたい場合は
直接機械語で書くしかないでしょう

0970デフォルトの名無しさん (ワッチョイ cf63-oGl6)2019/03/14(木) 22:56:05.33ID:6sRnwOjo0
CPUを汎用計算機じゃなくてHWとして使いたいようなニーズなんてほとんどの人にはねえだろw

0971デフォルトの名無しさん (アウアウエー Sadf-FtxA)2019/03/14(木) 22:59:30.46ID:fi3bTXEpa
だからASMなんて(今となっては)ニッチな需要しかないのでは?

0972 ◆QZaw55cn4c (ワッチョイ 6fe9-h1+v)2019/03/14(木) 23:12:09.22ID:NTAm4EVS0
>>971
その需要の一例を知りたいですね…

0973デフォルトの名無しさん (ワッチョイ ff01-jA9u)2019/03/14(木) 23:13:00.27ID:3EvgP48J0
>>967
ブート部分とかかな
I/O命令とかを発行する部分もあるけどこっちはインラインアセンブラでもいいかな

0974デフォルトの名無しさん (アウアウエー Sadf-FtxA)2019/03/14(木) 23:43:27.63ID:fi3bTXEpa
>>972
必要を無視すればBCD演算とか。
最終的にBCD演算命令に翻訳されるようなコードをC#では(Cでも)書けないはず。

まあx86ならマルチメディア系の命令とかが王道なんだろうけどね知らんけど。

0975デフォルトの名無しさん (ワッチョイ b390-TzFu)2019/03/14(木) 23:48:39.57ID:nlDJyEEg0
ニッチな事には変わりないけど、
https://ufcpp.net/blog/2018/12/hdintrinsic/
hardware intrinsicとか入ってくるし

0976デフォルトの名無しさん (ワッチョイ ffc7-kdx8)2019/03/15(金) 20:54:11.25ID:lWIPCB/k0
20年ぐらい前の1クロックが今より数十倍以上高価だった頃なら、
ASMによる人力高速化も(コスト的に見合うという点で)意味があった

Cコードで表現されてない知識も使ってちっちゃな関数でも結構簡単に数十クロック程度は高速化できた
Cコードで表現されてない部分を使えば、今もやろうとすれば高速化はできると思う(コストに見合わないだけで)
(変数aとbは実はいつも a<b なのでこのニーモニックが使えるとか、
ここの条件判定文は実は別の変数を計算したときのレジスタのフラグと同じ意味なので計算しなおす必要はないとか)

>>975 の話題に近いけど、
今ならASMの意味があるのはJITまわりとかかな?

0977デフォルトの名無しさん (ワッチョイ b302-PKKy)2019/03/15(金) 21:48:50.55ID:D5NVJqkY0
コンパイラはパイプラインでデータハザードが起きない様に計算して命令の組み替えしたりする。
人間がそこまでできるかな?
オレは20年ぐらい前にmemcpyを高速化するためにアセンブラで組んだ。
今思うとCで組んでコンパイラに最適化させるべきだったかもね。
若気の至りだ。

0978デフォルトの名無しさん (ワッチョイ ff42-B/CD)2019/03/16(土) 00:00:03.09ID:6P+M3e6E0
asmはコンピュータの仕組みを理解するにはうってつけの題材では有るね
最新の特殊命令なんか不要だが、68Kなんか最高の素材だと思うわ

0979デフォルトの名無しさん (ワッチョイ bf32-h1+v)2019/03/16(土) 00:15:39.88ID:sQCNGdE30
ERMSBなんかを考えるとコンパイラも小手先なんかね
実行ハードでスケールするか、安定的な最適化か
汎用性を考えれば普通は後者になるだろうけど

というかC#ならCILレベルに留めるべきではねか

0980デフォルトの名無しさん (ブーイモ MMff-nnhC)2019/03/16(土) 05:39:50.41ID:lafVI2fNM
WASMを最適化してくれ

0981デフォルトの名無しさん (ワッチョイ 1379-sM4w)2019/03/16(土) 14:26:07.02ID:gcoRXnnM0
今やIoT用でもメモリMBクラスだろ
アセンブラでハック必要な用途なんてないだろな

0982デフォルトの名無しさん (ワッチョイ ff61-ynPM)2019/03/16(土) 15:56:32.11ID:zOgp3uDK0
>>980
wasmになる前のLLVMの段階で既に最適化が出来る。
あと、詳しくは分からないが、wasmになった後の最適化も、
Emscriptein の opt.exe で一応はできるらしい。
但し、asm.jsとの「グルー」が複雑に絡んでいるので、
何をやっているかを理解するのはかなり難しく、
wasmで最適化しているのか、asm.jsで最適化しているのかは
忘れてしまった。

0983デフォルトの名無しさん (ワッチョイ 332c-G90H)2019/03/16(土) 19:51:51.79ID:Ox1b9ZEv0
スレを間違えたかと思っただろ

0984デフォルトの名無しさん (ワッチョイ cf7b-Qay2)2019/03/16(土) 20:27:45.17ID:0AnVFDDg0
スレ終わりなんだから内容気にせず埋めてしまえwここ即死判定もないし
GetFilesやGetDirectoriesのようなメソッドでエクスプローラーと同じ順に格納してくれるメソッドが欲しい
ソートし直すのたまに忘れてしまう

0985デフォルトの名無しさん (ワッチョイ b35f-YxN5)2019/03/16(土) 21:07:46.17ID:d1qKciPD0
>>984
自分でユーティリティライブラリ作っとけば

0986デフォルトの名無しさん (ワッチョイ 7f47-jjdz)2019/03/16(土) 21:16:16.11ID:LVoOn4ja0
>>984
こういうことじゃなくて?
var files = Directory.GetFiles(@"C:\hoge").OrderBy(name => name).ToArray();

0987デフォルトの名無しさん (アウアウエー Sadf-FtxA)2019/03/16(土) 21:24:01.46ID:m10rap++a

0988デフォルトの名無しさん (ワッチョイ cfe3-B/CD)2019/03/16(土) 21:28:11.62ID:aNdxzMMr0
エクスプローラーと同じ順って今のエクスプローラーにどれだけソート項目があるか知ってんのか・・・

0989デフォルトの名無しさん (スフッ Sd1f-xOws)2019/03/16(土) 21:28:35.53ID:fhPcOkRld
>>987
なるほど

0990デフォルトの名無しさん (ワッチョイ 4301-fmdW)2019/03/16(土) 22:01:49.01ID:wgxWGDdm0
IEEEでまだ規格化されてない多ビット長の四則演算や、超コンパクトに処理を書く方法とか

0991デフォルトの名無しさん (ドコグロ MMdf-jA9u)2019/03/17(日) 07:10:24.22ID:WBoQCy0zM
>>988
普通の頭持ってりゃ名前のソートであることぐらいはわかりそうなもんだけどなw

0992デフォルトの名無しさん (アウアウカー Sa47-GKay)2019/03/20(水) 07:42:02.03ID:74ozQqG6a
Visual Studioって2015と2017両方いれて、2015だけ綺麗にアンスコできる?

0993デフォルトの名無しさん (ワッチョイ 730c-B/CD)2019/03/20(水) 07:54:36.58ID:LAIwbd+70
>>992
単体で入れても綺麗には削除できんぞ

0994デフォルトの名無しさん (ラクッペ MM87-/SkX)2019/03/20(水) 09:19:38.34ID:W/HUsmxnM
ワロタ

0995デフォルトの名無しさん (アウアウカー Sa47-GKay)2019/03/20(水) 12:21:41.32ID:NDw+q9p/a
>>993
ありがとう
そ、それは置いといて(笑)
どちらか片方だけアンスコしたときにもう片方に必要なもんを削除されたりはしない?

0996デフォルトの名無しさん (アウアウエー Sadf-FtxA)2019/03/20(水) 12:41:43.72ID:JR1ztFlDa
VSに限らず明らかなNGは後から古いバージョンをインストールする行為だけのはず
アンインストールに関しては「意図としては」大丈夫なように作ってあるはず。

やってみたら?
最悪新しい方の修復インストールかOSの復元機能で何とかなるでしょ

0997デフォルトの名無しさん (スププ Sd1f-xOws)2019/03/20(水) 14:05:02.42ID:vc7KPojzd
試してみて欲しい
俺のPCにもVisual Studio 2010から全バージョンインストールされてるから参考にする

0998デフォルトの名無しさん (ワッチョイ b317-B/CD)2019/03/20(水) 18:48:25.28ID:jN76oFxX0
2015だけ削除したいって何がしたいんだろ
C#使う分には複数バージョンあって困ることないし

0999デフォルトの名無しさん (ワッチョイ a3e7-jjdz)2019/03/20(水) 18:53:06.53ID:CvIVS+n40
>>998
使わないものを入れておいてもストレージ占有するだけ無駄じゃん
普通にある要求だと思うけど

1000デフォルトの名無しさん (ワッチョイ cf7b-Qay2)2019/03/20(水) 18:54:52.24ID:jJ3kq/hZ0
2015の後に2017入れて2015アンインストールしたけど問題なかった
そのあとふと2015入れてみたら俺環だろうけど2015でビルド出来なくなった。2017の方は問題なし
そして問題のあった2015を再びアンインストールしたけど2017でずっと問題なし
>>995
2017だけ使う分には問題ないはず

10011001Over 1000Thread
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 697日 10時間 2分 52秒

10021002Over 1000Thread
5ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。


───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────

会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。

▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/

▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php

レス数が1000を超えています。これ以上書き込みはできません。