我的 C++ 应该吗? 程序支持 IA64 还是仅支持 x64?

发布于 2024-07-07 09:31:06 字数 133 浏览 12 评论 0原文

我的程序应该支持 IA64,还是只支持 x64?

我自己还无法轻松找到 IA64 计算机。 IA64 死了吗?

MS似乎对IA64有广泛的支持,但我花了很长时间才找到IA64,最后我不得不在eBay上得到它。

Should my program support IA64, or should it only support x64?

I haven't been able to easily find IA64 computers myself. Is IA64 dead?

MS seems to have a wide support for IA64, but it took me a long time to be able to find an IA64, and I had to end up getting it on eBay.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(6

梦魇绽荼蘼 2024-07-14 09:31:06

你们开发什么类型的软件? 如果它不是数据中心类型的应用程序或高端数字处理应用程序,那么如果有任何对 ia64 版本的需求,我会感到惊讶。 即便如此,我认为在这种情况下,如果你必须问是否应该支持它,你可能不需要这样做。

我脑子里想到的几件事可能会阻碍 ia64 端口:

  • 您所依赖的任何第三方工具或库都需要支持它,
  • 在 x86 和 x64 上很大程度上未被注意到的未对齐访问将在 ia64 上引起头痛

当然,我不为 Gartner 或 IDC 或任何做市场分析的人工作,所以无论你有什么怀疑,你都应该接受我在这里所说的话。

有客户或潜在客户询问过吗?

What kind of software do you develop? If it's not a data center type of application or a high-end number crunching app, I'd be surprised if there were any demand for an ia64 version. And even then, I'd think it would be a situation where if you have to ask if you should support it, you probably don't need to.

A couple things off the top of my head that might hamper an ia64 port:

  • any third party tools or libraries you're depending on need to support it
  • unaligned accesses that go largely unnoticed on x86 and x64 will cause headaches on ia64

Of course, I don't work for Gartner or IDC or anyone who does market analysis, so you should take what I say here with whatever skepticism you have lying around.

Have any customers or potential customers inquired?

山人契 2024-07-14 09:31:06

如果您可以访问 IA64,那么让您的代码在其上运行绝对是值得的。 将代码移植到另一个 CPU 架构将会暴露各种隐藏的问题。

您可能会出现字符串溢出 1 的情况,这种情况在 Linux/Windows/x86 上不会显示出来,但会因为不同的堆栈布局或结构对齐而导致程序崩溃。 您可能会假设 ~1UL == 0xFFFFFFFF。

我保持我的 C++ 代码 IA64 干净,但我已经有几台机器了,因为我是它的粉丝。

If you have access to an IA64, then it is absolutely worth it to make your code run on it. Porting your code to another CPU architecture will reveal all sorts of hidden problems.

You might have a string overflow by 1 that doesn't show itself on Linux/Windows/x86 but crashes the program because of different stack layout or structure alignment. You might be assuming that ~1UL == 0xFFFFFFFF.

I keep my C++ code IA64 clean, but I already have a couple of machines because I'm a fan.

没有你我更好 2024-07-14 09:31:06

您是唯一有资格判断预期销售额是否足以支付开发和支持成本的人。

You're the only person qualified to make the judgement of whether expected sales will cover the cost of developing and supporting it.

花辞树 2024-07-14 09:31:06

理论上,假设您坚持良好的 C++ 编程实践,您不应该关心您正在编写的内容是 x64、IA64 甚至是 SPARC 或 PowerPC 或其他什么。 只需确保您的代码是 64 位干净的(就像不假设整数和指针大小相同),就可以了。

除了...

总会有一些奇怪的边缘情况是由不寻常的硬件问题、不合格的编译器或语言中的“实现定义的”尖角引起的。 (C 和 C++ 都包含很多“实现定义”的东西!)

所以......

您需要测试您的目标。 这可能会变得非常昂贵,但有些地方可以让您在给定的硬件平台上测试应用程序,但需要付费。 如果您在跨平台方面做了很多工作,那么内部购买硬件可能是最便宜的,但小型商店和稀有平台通常最好在租用的数据中心硬件上进行测试。

In theory, assuming you stick to good C++ programming practices, you shouldn't care if what you're writing to is an x64, IA64 or even a SPARC or PowerPC or whatever. Just ensure your code is 64-bit clean (like not assuming that integers and pointers are the same size) and you'll be fine.

Except...

There's always the oddball fringe conditions caused by unusual hardware issues, non-conforming compilers or "implementation-defined" sharp corners in your language. (C and C++ both contain a lot of those "implementation defined" things!)

So...

You'll want to test on your target. This could get very expensive, but there are places that will let you test applications on a given hardware platform for a fee. If you do a lot of work on cross-platform stuff it may be cheapest to go in-house for your hardware, but small shops and rarer platforms are often best tested on rented data centre hardware.

梦行七里 2024-07-14 09:31:06

除非客户特别要求,否则我不会为 IA64 支持而烦恼。 否则,它只是另一个测试平台。 英特尔还在生产基于 IA64 的处理器吗?

I wouldn't bother with IA64 support unless a client specifically asks for it. Otherwise, it's just another platform to test. Does Intel still make any IA64-based processors?

不念旧人 2024-07-14 09:31:06

如果你用 C++ 编写,这真的很重要吗? 我的意思是,你没有说是什么让你的程序“需要了解”它所运行的机器的底层架构。 从 C++ 本身来看,您应该受到很好的保护,免受两者之间的任何差异的影响。 当然,在深奥的平台上进行测试可能很困难,但是您是否必须在您“支持”的所有平台上亲自进行测试?

If you're writing in C++, does it really matter? What I mean is, you don't say what makes your program "need to know" about the underlying architecture of the machine it is running on. From C++ itself, you should be fairly well protected against any differences between the two. Of course, testing on an esoteric platform might be difficult, but do you have to test it yourself on all platforms you "support"?

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文