26/02/05 16:07:09.76 Msz/ntZbM.net
VSは、C/C++でも、CRT や MFC の DLL 版をリンクした場合、
*.exe の中に、どのバージョンの DLL が必要化の情報が
入っているらしい。MSVCR80.dll や MSVCP140.dll、msvcr100.dll
みたいな。だから、間違って動的リンクされる心配は無いらしい。
ただ、その DLL が見つからないと起動できない。
97:はちみつ餃子
26/02/05 16:26:30.68 YN57lSUV0.net
今の Windows のインストーラ (MSI) は依存関係のあるコンポーネントが入って無ければ入れるような形にすることは出来る。
古い世代の人間はインストーラを全然信用しないから ZIP 版を落してきて適当なところに置くみたいなことをしちゃうんだよ。
「レジストリが汚れる」みたいなことを言ってる人がまだいる。
Windows の管理化に入ってるコンポーネントと入ってないコンポーネントが入り乱れてよくわからん環境が出来上がる。
かといって各アプリケーションのインストーラが本当にきちんと定義されてるかというとあまり信用できないのも本当なんだよな……
98:デフォルトの名無しさん
26/02/05 17:34:21.10 jOvU5Odi0.net
msvcr/ucrt/mfc/atlは、システムが管理しているものは、WUの対象になるから、
まさかのセキュリティホールを突かれるリスクだの、ランタイムを責任もって更新する手間だのの分がラクになる
99:デフォルトの名無しさん
26/02/05 17:42:20.66 z3qOCzHUM.net
もうd5
100:デフォルトの名無しさん
26/02/06 00:01:58.73 HoR8cF32M.net
MSVCR80.dll、MSVCR100.dll、MSVCP140.dll などを全部入れても
大した容量ではないはずなのに、OS には最初からは入ってない
のは、なんでなんだろうね?
101:デフォルトの名無しさん
26/02/06 07:44:13.76 W74qwHEv0.net
>>88
その発想の延長上にdockerがあり、いまやごく当たり前
102:はちみつ餃子
26/02/06 09:50:35.84 Qy2h/jss0.net
>>100
同じ名前でも微修正された異なるものがある。
それらも含めてとなるとそこそこの分量になるし、修正が必要だったもの (問題があったもの) を残すのは良くないだろう。
過去のバージョンを際限なくメンテナンスというわけにもいかない。
本来なら最新版に合わせてアプリケーションを修正して欲しいに違いないが、古いバージョンのランタイムに依存し続ける選択をするならそれはアプリケーションかユーザーの責任でやれ (Windows は面倒を見ない) ということだと私は理解してる。
103:デフォルトの名無しさん
26/02/06 11:41:22.65 w8JkwYhH0.net
Microsoft Visual C++ Redistributable latest supported downloads
URLリンク(learn.microsoft.com)
104:デフォルトの名無しさん
26/02/06 13:19:22.49 hlWyHt0b0.net
>>101
>>98を否定する考え方だな
管理不可能なセキュリティーホールを散らばらせることになる
105:はちみつ餃子
26/02/06 14:31:30.96 OS2ysny00.net
Docker の役割は環境を定義することが本筋。
依存関係の解決に使うのも用途のひとつとして間違っているとは言い切れない。
だけど Docker コンテナに古いバージョンの依存関係を閉じ込めたままでずっと使い続けているのだとしたら間違った運用だと思う。
メンテナンスしなくて良いわけではない。
依存関係がどうこう言うくらいならなるべく全部を静的リンクしたほうが良くない? という思想が現代的潮流かも。
106:デフォルトの名無しさん
26/02/06 14:57:28.94 hlWyHt0b0.net
確率されたシステムをよりセキュアに保つ方法を
ユーザのインストールの利便性と天秤に掛けて前者を捨てている
Docker流行ってるのは軽率だと思うよ
107:デフォルトの名無しさん
26/02/06 15:26:44.73 w8JkwYhH0.net
ちょっとバージョンが違うと、もう動かない、ってのが多発すると、防衛的に、そうなっちゃうのもわかるけど
そのためにテストってあるんじゃない?
と、テストをいまだ自信をもって書けない俺が思う
108:デフォルトの名無しさん
26/02/06 17:22:29.72 rc9CZ8oCM.net
今は動的ライブラリのメリットほとんどないよな
ストレージの節約は今や誤差レベル
バグフィクスが意味あるのは極一部でほぼ幻想、バイナリ互換を保つのは地獄
意味あるのはプラグインの機能拡張ぐらいか
109:デフォルトの名無しさん
26/02/06 21:09:39.88 TNTLjfSLp
惡党自民公明經済→日銀ナマポ株に円安誘導に莫大な補助金に右から左の公共事業に租税特別措置法他による大企業超絶高額完全ナマポ→
全大企業従業員平均年収1千萬達成→こいつら税金泥棒無能集団が金を使ってお前ら潤う←〔現実)こいつら税金泥棒の有り余る金か゛
地球破壊や不動産に流れて気候変動加速に災害連発に家賃まて゛暴騰してお前ら益々貧困化に治安惡化
公務員給与倍増も同様た゛がお前らは立ち上か゛ると゛ころかイラヰラ計画性もなくナヰフで貧乏人殺してタイ一ホ←エンタメ効果て゛金持ちプケ゛ラ
世界最惡の腐敗集団自民党金孑恭之が有識者か゛不要と断言して訴訟を起こされても都心を飛ばすのを止めず莫大な温室効果カ゛スまき散らして
熱中症洪水土砂崩れと住民殺しまくって農産物海産物暴騰と人類史上最悪のテ□続けてると゛ころかJALだのANAた゛のテ囗リストか゛飲酒運転
しまくっていなか゛ら逮捕も営業停止処分もせずその犯罪者の氏名すら公表しないあたり世界最悪の天下り賄賂癒着腐敗体質がよく分かるた゛ろ
株価とはお前らからどれだけ生命財産を強奪したかの指標だと類まれなるハ゛力て゛も理解て゛きたよな?
航空機連絡先情報 noise.web.fc2.com
110:デフォルトの名無しさん
26/02/06 21:34:41.16 wi+ohStw0.net
CUDAみたいなギガサイズのライブラリもあるんですよ
111:デフォルトの名無しさん
26/02/06 22:03:13.28 rLfMUQhK0.net
フロッピーディスクでも使ってんの?
112:デフォルトの名無しさん
26/02/06 22:05:19.36 QGk+ZWjk0.net
>>110
バージョン合わせるのめんどくさいね
CUDAとnvidiaドライバー
113:デフォルトの名無しさん
26/02/06 22:33:41.35 w8JkwYhH0.net
あのCUDAとか、LLVMとかのクソデカさは、C++のtemplate のフリーダムさのせいだと信じてる
すっごい重複があるんだろうと
もしRustになったら、コンパクトになるように書き方が強制されるので、ずいぶん小さくなりそう
それでまた、C++が馬鹿にされるんだ
ああ、いやだいやだ もちろんC++派です
114:デフォルトの名無しさん
26/02/06 23:34:24.28 lQT7eq5gM.net
>>108
個人的には、開発中は DLL 版でビルドしている。
リリースする時だけは、static リンク版にするつもり。
Debug の *.exe のサイズが小さくなって良い気がするから。
複雑だけど。
115:はちみつ餃子
26/02/06 23:58:36.10 Qy2h/jss0.net
正しく書けていればそれでよいんだけど未定義を踏んでたりするのがコンパイルオプションの違いで顕現することもあるから開発中でもたまにはリリース用のビルドをしてテストを通したほうが良いよ。
工程の最後の方で問題が発見されるとしんどい。
116:デフォルトの名無しさん
26/02/07 15:12:38.29 /kjFAAWeF.net
構造体や配列の初期値が0を期待したコードは書くべきではない(C++でも)