看到这篇文章
是不是照这个意思其实跑 32 位程序比跑 64 位程序更好
1
alphatoad 2020-04-02 09:19:48 +08:00
对于 vs 确实意义不大,但是长期下来估计历史包袱会很重
什么时候 m$才能想 Catalina 那样砍掉所有的 32 位程序呢 |
2
ybw 2020-04-02 09:20:23 +08:00 via Android 1
都是借口,真实原因就一个字,懒
|
3
nannanziyu 2020-04-02 09:49:50 +08:00 47
果粉的脑子烧坏了吧,还砍掉 32 位
这是操作系统,不是玩具 向下兼容是基本的 几年前写个工具软件,过两年就不能用了,还鼓掌拍手的,我也就见过果粉 |
4
lishunan246 2020-04-02 09:59:46 +08:00 via Android
当然是为了兼容最新的 Surface Pro X 。
|
5
onecode 2020-04-02 10:04:04 +08:00
笑死,还懒,要是懒得话也不用两年更新一个版本了
又不是 Xcode,上 64 位照样天天崩 gui32 位有什么影响,编译器和调试器都是 32/64 位共存的,好好优化性能他不香嘛,你们有几个用 vs 开发的项目占用内存 4g 以上的 |
6
Mithril 2020-04-02 10:11:55 +08:00 3
@onecode 主要是 32 位可用内存差不多只有 2G 多,但是 Visual Studio 的插件全部都是 host 在自己进程中的。这就导致了某些复杂项目里,用来做分析的插件会占用一大堆内存最终导致 IDE 进程崩溃。
特别是 C++项目里,如果解决方案有很多项目,而且大量使用了模板。很多第三方插件都会崩溃,比如 Resharper C++或者 Visual Assist X 。这些插件会尝试加载所有头文件有的甚至会分析模板。你会眼瞅着内存暴涨最后 devenv 炸掉。 目前只能卸载某些项目,或者暂时禁用插件的分析功能。 |
11
ipwx 2020-04-02 10:42:27 +08:00
用上虚拟内存映射可能也许能够缓解用户态地址空间紧张吧。不过正常人写程序谁用 mmap 搞一堆那么复杂的,不如直接上 64 位。
|
14
reus 2020-04-02 11:02:25 +08:00 2
@onecode 好啊,我就搜索了“Resharper memory consumption”,找到如下讨论:
https://resharper-support.jetbrains.com/hc/en-us/community/posts/360002647079-Analyze-high-memory-consumption-of-Resharper https://resharper-support.jetbrains.com/hc/en-us/community/posts/360000474170-Out-of-memory-issues 要解决这个问题,要么就是 vs 用 64 位,插件就能用上更多内存,要么就让插件跑在独立的进程里。 分析插件用内存多有什么奇怪的? 反正死守 32 位就是傻逼。 |
18
martinsu 2020-04-02 11:50:05 +08:00
既然 32 位比 64 位还有优势,为什么不再往回退去用 16 位,8 位?
|
19
minamike 2020-04-02 11:58:49 +08:00 via iPhone
挨炮只有 64 位砍掉 32 位是傻逼
巨硬死守 32 位不升 64 位就不傻逼吗 傻逼何苦嘲笑傻逼 |
20
nannanziyu 2020-04-02 12:51:10 +08:00 via Android 1
楼上果粉脑子烧坏证据+1
分不清应用程序和操作系统吗? 还死守 32 位,你没听说过 64 位的 windows 吗 |
21
shutongxinq 2020-04-02 12:52:24 +08:00 via iPhone
32 位程序用户态在 64 位 win 下能用满 4G 内存。当然 4G 和 2G 没啥本质区别,都小得可怜。坚持 32 位不如坚持 640kb 。640kb 经典👍
来源: https://blog.csdn.net/WPwalter/article/details/77986970 |
22
alphatoad 2020-04-02 13:26:08 +08:00 1
我好像被骂了?笑
软件工程不及时迭代最后结果就是屎山,很难理解吗?你咋不回去用 16 位软件? 现在 x86_64 还留着 8086 实模式,vulnerabilities 一大堆,你猜是好事还是坏事? AMD 这次砍了一刀上古指令。砍得好。 |
23
reus 2020-04-02 13:32:58 +08:00
vs 是 32 位程序,用到某些需要大量内存的插件,就会超出内存限制,不论跑在 32 位系统,还是 64 位系统。
和操作系统无关,纯粹就是 vs 极重难返,懒得下力气去改。 @nannanziyu “分不清应用程序和操作系统吗?”这个问题应该问你自己,这个帖子本来就是讨论 vs 这个应用程序,是你自己跑题到操作系统的。 |
24
alphatoad 2020-04-02 13:34:00 +08:00 1
「几年前写个工具软件,过两年就不能用了,还鼓掌拍手的,我也就见过果粉」我还真没见过一个正经的软件是拒不支持 Catalina 的,Wine 这种依赖 32 位的翻译器除外。
也就软粉还留着上古年代的软件当宝了。Apple 几年前就发出通告以后会 drop 32bit,不迭代不听劝告的软件开发商自然会被市场淘汰。 Windows 搞了这么多年 HiDPI 都有那么多软件不支持。作为上游的操作系统不强制要求迭代,软件开放商怎么可能会主动跟进。 吹 legacy api 的真的搞过软件工程吗 |
25
nannanziyu 2020-04-02 13:41:12 +08:00 8
楼上果粉脑子烧坏证据+2
特征值:非黑即白,提到向下兼容,就让别人去用 16 位软件。 1,做软件的,谁不知道扔掉包袱,轻装上阵舒服。 软件迭代到后面,很多工作都在做版本迁移适配。 最简单的配置文件每次增删配置项,都要考虑考虑又考虑。 自己做个小的应用程序都要考虑版本兼容,遑论操作系统。 2, 没有历史包袱轻装上阵,换来的是以后更好的发展,真是妙 于是 你进火车站刷身份证,“对不起,身份证识别系统已经升级为 3.4.2,您的身份证版本还是 3.4.1,请到所在地派出所更换最新版后再刷” 于是 你打开 chrome,地址栏输入 http://www.newsmth.net ,回车,“对不起,chrome68.x.x.x 只支持 http2.0,对方主机依然使用 http1.1,请联系对方网络管理员升级服务器” 于是 你要打电话,掏出手机,发现没有信号,打 10000/10086,对方甜美的声音告诉你“对不起,本市基站已经升级,只支持 Volte x.x.x.x,您的手机基带只支持 x.x.x.x-1,请您到最近的营业厅购买新手机” ...... 于是 你买了台电脑,隔几天后又买了个手机,发现手机无法连接电脑,因为手机接口是已经升级为 USB 8.1,而电脑还是 USB 8.0 ;然后你又买了台电脑,发现手机还是连接不了,因为电脑接口又升级到 USB8.2 了(这个场景是不是似曾相识?如果是,恭喜你,你也见过果粉拿着 iPhone7 在 new MacBook Pro 前发懵的场景了) 幸运的是,上述场景都只是假想(什么?你说对于果粉来说,最后一条是真的?不,对于果粉,整个人生都是乔布斯给他织就的梦境),每个人都在无意中享受着向下兼容带来的便利,只是不知道对应的人员为了向下兼容做出了多么大的努力。谁不知道扔掉包袱前进更舒畅呢,不能那么做而已。 为什么水果可以? 就因为有许多把 bug 都能说成 feature,用来跟别人解释水果对用户多负责的果粉存在啊。 |
26
alphatoad 2020-04-02 13:48:27 +08:00 1
楼上挺逗的,应该不是软粉,我见过的软粉都是喜欢 fluent design, uwp etc,没见过喜欢老古董的
1 、 「我可以让你用 32 位软件,你不能让我用 16 位软件哦」 2 、 「同志,你凭什么不认我的一代身份证!你们强推二代证不让我用一代证,我绝对不换!绝对不!」 幸运的是,上述场景只是假设。真正的世界,人类勇于探索,承认过去的不足,勇于 break backward compatibility 。 |
27
alphatoad 2020-04-02 13:51:46 +08:00
谁不知道迭代要钱。现在迭代要钱,以后迭代要命。
真成屎山了,就不是钱能解决的问题了。 |
28
nannanziyu 2020-04-02 13:54:28 +08:00
1,「我还真没见过一个正经的软件是拒不支持 Catalina 的,Wine 这种依赖 32 位的翻译器除外。」
所以,凭啥我前年写的自用的管理工具,截图 OCR 工具,没时间更新,就不是正经软件了? 2,windows10 支持 16 位应用程序,请了解 NTVDM |
29
nannanziyu 2020-04-02 13:55:35 +08:00
自用的管理工具 -> 自用的 git finder extention 管理工具
|
30
alphatoad 2020-04-02 14:01:21 +08:00 1
1,High Sierra 前 Apple 早就发出通告以后会终止支持 32bit,三年多都不迭代,你也别搞了。日本一大坨 win9*的系统照样跑,自用谁管你。
2,我当然知道 win10 支持 16 位程序,但这不是你用 16 位程序的理由。 |
31
alphatoad 2020-04-02 14:11:08 +08:00 2
任何一个技术都有生命周期,Apple 给了合适的终止支持的时间,给了替代解决方案,很好。
M$ 在合适的时间终止了 XP 、Win7 的支持,给了 Win10,这很好。 你不能要求上游无止境地满足你的要求。你不能指望 Intel 无止境地包括 8086 实模式的电路,这样复杂性会飙升且有 vulnerbilities. 你不能在 2020 年用 ActiveX,这样对用户不负责任。世界在向前进,固步自封必然会导致更大的问题。 |
32
Mithril 2020-04-02 14:27:42 +08:00
@alphatoad 面向终端消费者的可以这么搞,但是有很多工业级别的应用都跑在 Windows 上,没法这么搞的。
生产 ATM 的厂商可以因为漏洞得不到更新去升级新的 Windows,但是你跟他说新的 Windows 不支持 32 位程序了让他重写?完全不现实。 一个开发了很久的系统固然迭代困难,但也经过了长时间的考验不会出太大的问题。特别是一些重要的系统里,能不升级就不升级才是常态。 目标用户不一样而已,不能用苹果做系统的思维方式去考虑 Windows 。 |
33
alphatoad 2020-04-02 14:36:55 +08:00
@Mithril 面向工业界当然不用这么搞。我上面有提到,日本太多 win9x 的系统还在跑。只要使用范围局限了,不 catch up 自然没有任何问题。
但同时也有新的问题,新硬件不支持旧软件。很多旧系统依赖老电路,硬件挂了之后没有接替的方案。这次 AMD 砍了上古指令之后一些 win9x 的虚拟机会挂掉对一些人来说很头痛。 上面那个老哥有一点我认同,这不是非黑即白的问题。 |
34
luhe 2020-04-02 14:44:47 +08:00 3
3 楼上来就给别人扣个果粉的帽子骂脑子烧坏了...主题是 vs 为什么不迁移到 64 位,硬是能开启撕逼模式...
|
35
ahaxzh 2020-04-02 15:10:07 +08:00
我喜欢 64 位,但是我也需要 32 位。就像偶尔我还得开个 Windows XP 的虚拟机一样。不要问为什么,存在即合理,主要是你没有办法去做出改变。
|
36
CommandZi 2020-04-02 15:16:30 +08:00
@Mithril 生产 ATM 的厂商可以因为漏洞得不到更新去升级新的 Windows,但是你跟他说新的 Windows 不支持 32 位程序了让他重写?
这就是现实,漏洞得不到更新不就是因为终止支持了,WindowsXP 终止支持多久了?难道再要求微软支持到 2200 年?既然你不愿意重写,那你就继续用 WindowsXP 合情合理。关键这些生产商当初开发的时候肯定是定了部署环境为 WindowsXP,肯定没写 Windows10 |
37
reus 2020-04-02 16:21:28 +08:00
有些人总喜欢拿 ATM 做例子,于是我又搜索了一下“ATM win10 update”,看看真是世界里 ATM 是怎么升级的。
我发现了这么一个案例: https://www.google.com/search?q=ATM+32bit+update&newwindow=1&client=firefox-b-d&ei=N56FXpH7C5ix0PEPgYO94A4&start=10&sa=N&ved=2ahUKEwjR8rbLpcnoAhWYGDQIHYFBD-wQ8NMDegQICxBQ&biw=1367&bih=803 win7 升级到 win10,但是 win10 不支持当前的主板,你猜他们怎么处理的? 先装一个 linux,然后在 linux 上跑 win10 。因为 linux 支持旧主板,所以不需要升级硬件,因为虚拟机跑了 win10,所以不需要修改软件。 看到了没,win10 虽然兼容旧程序,但硬件驱动就不一定了,有些旧硬件,win10 根本没有驱动。微软为什么抛弃了他们? 虽然这个例子和不支持 32 位程序有差别,但我想说明的是,就算是 ATM,升级硬件升级软件也不算什么不得了的事情,他们甚至敢装 linux 跑 windows 再跑 ATM 软件。 |
38
reus 2020-04-02 16:22:53 +08:00
|
39
crella 2020-04-02 19:36:12 +08:00 via Android
那么 vs 升级到了 64 位就能卖出更多的副本了吗?
office 升级 64 位确实能让 excel 打开更大更复杂的表格。 |
40
elfive 2020-04-02 19:51:17 +08:00 via iPhone
@luhe 我也觉得搞笑,MacOS 最新的几个版本确实去掉了对 32 位程序的支持,但是人家更新日志告诉你了,你可以选择不升级操作系统啊,自己不看更新日志,然后升级了系统,导致自己 32 位程序运行不了,这不是自己造的孽么?我还说 Windows10 强制更新导致我驱动和软件不兼容,这点和 Apple 比起来,那不是一个天上一个地下了?
|
41
feather12315 2020-04-02 19:59:37 +08:00
@alphatoad #31 Intel 就是靠兼容性奠定当前 x86 地位的,早年间又不是没有过安腾这种推到重来的例子。
|
42
alphatoad 2020-04-02 20:30:07 +08:00 1
@feather12315 过度技术总有生命周期,32 位不能无限地支持下去
|
43
leoleoasd 2020-04-03 08:17:43 +08:00
@feather12315 #41 但是 intel 也是因为他的 IA64 不与 x86 兼容, 才被 amd64 按在地上摩擦的...
|
44
feather12315 2020-04-03 11:00:55 +08:00 via Android
@leoleoasd #43 IA64 是纯 64 位的,本意就是在以全新的指令集架构升到 64 位,早期不兼容 IA32,后期被迫做了兼容(性能还差)。AMD 因此才从 IA 32 发展了 AMD 64
|
45
leoleoasd 2020-04-03 11:58:28 +08:00
@feather12315 #44 哦哦那是我不太了解
|
46
BasIrs 2020-04-03 16:46:04 +08:00 1
感觉你们聊得都好高深 看的一愣一愣的 都是大神啊
|