1

我正在搜索 Chrome 64 位版本,我发现不发布该版本的核心论点是:“现在,它不会真正为所暗示的努力带来太多好处”。(或类似的东西)。

我的简单问题是:这不是编译器完成的 64 位版本的大部分工作吗?在我看来,“64 位版本”只是相同的逻辑,使用 64 位 CPU 寄存器。

显然,在将某些软件的 32 位版本迁移到 64 位版本时,我遗漏了一些重要的点,我想知道中心点以进行调查。我怀疑主要问题是第三方插件/扩展或类似的,但我不太确定。

提前致谢。

4

1 回答 1

1
'msvs_settings': {
  'VCCLCompilerTool': {
    'WarningLevel': '3',
    'WarnAsError': 'false', # TODO(maruel): Enable it.
    'Detect64BitPortabilityProblems': 'false',           <== here
  },
},

From the chromium/src/build/common.gpyi file that I downloaded a while ago. Just a hint that the codebase isn't 64-bit clean, not entirely a slamdunk since the option got deprecated in VS2008. But yes, the codebase for Chromium is humongous and there's a lot of code that wasn't written by Google engineers. There are bound to be places where it loads a size_t or ptrdiff_t into an int or long. With the additional headache of Windows and Linux using different type mappings.

That kind of trouble isn't hard to find, just compile it with a 64-bit compiler and see what hits the fan. The comment is otherwise accurate, there isn't any real benefit to baking it in 64-bits as far as the stand-alone browser is concerned. Chrome.exe doesn't consume a lot of VM, having separate processes for the pages in each tab helps a lot. Embedding a browser is a different story, IE was frequently embedded because it is so simple to do so they were pretty forced to provide a 64-bit version of it. If you embed, say, CEF then you've got a fairly big problem right now.

于 2012-08-05T21:04:45.067 回答