64位软件,只有编译问题?

问题描述 投票:0回答:1

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

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

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

提前致谢。

compilation migration 64-bit
1个回答
1
投票
'msvs_settings': {
  'VCCLCompilerTool': {
    'WarningLevel': '3',
    'WarnAsError': 'false', # TODO(maruel): Enable it.
    'Detect64BitPortabilityProblems': 'false',           <== here
  },
},

来自我不久前下载的 chromium/src/build/common.gpyi 文件。 只是提示代码库不是 64 位干净的,也不完全是一个灌篮,因为该选项在 VS2008 中已被弃用。 但是,是的,Chromium 的代码库非常庞大,并且有很多代码不是由 Google 工程师编写的。 肯定有一些地方会将 size_t 或 ptrdiff_t 加载到 int 或 long 中。 由于 Windows 和 Linux 使用不同的类型映射,这更加令人头疼。 这种麻烦并不难发现,只要用 64 位编译器编译一下,看看会出什么问题。 该评论在其他方面是准确的,就独立浏览器而言,以 64 位烘焙它并没有任何真正的好处。 Chrome.exe 不会消耗大量虚拟机,为每个选项卡中的页面提供单独的进程会很有帮助。 嵌入浏览器则是另一回事,IE 经常被嵌入,因为它太简单了,所以他们被迫提供 64 位版本。 如果您嵌入 CEF,那么您现在就会遇到一个相当大的问题。

© www.soinside.com 2019 - 2024. All rights reserved.