我的程序应该支持IA64,还是只支持x64?
我自己也很难找到IA64的电脑。那么IA64已经死了吗?
微软似乎对IA64有广泛的支持,但我花了很长时间才找到一台IA64电脑,最终只能在eBay上购买。
以下是我能想到的可能会妨碍ia64端口的几个问题:
当然,我不在Gartner、IDC或任何进行市场分析的机构工作,因此你应该对我所说的话持怀疑态度。
有没有客户或潜在客户询问过?
理论上,假设您坚持良好的C++编程实践,您不应该关心您要写入的是x64、IA64甚至SPARC或PowerPC等任何内容。只需确保您的代码是64位干净的(例如不假定整数和指针具有相同的大小),您就可以放心了。
但是...
总会有一些古怪的边角条件,这些条件由于不寻常的硬件问题、不符合规范的编译器或语言中的“实现定义”尖锐角落而引起。(C和C++都包含许多这样的“实现定义”事项!)
所以...
您需要在目标平台上进行测试。这可能会非常昂贵,但有些地方会让您以费用为代价在给定的硬件平台上测试应用程序。如果您在跨平台工作方面做了很多工作,最便宜的方法可能是在公司内部购买硬件,但小型商店和罕见的平台通常最好在租用的数据中心硬件上进行测试。
只有您有资格判断预期销售额是否足以支付开发和支持成本。
除非客户明确要求,否则我不会费心支持IA64。否则,这只是另一个需要测试的平台。英特尔还生产基于IA64的处理器吗?
如果你正在使用C++编写代码,这真的很重要吗?我的意思是,你没有说出什么让你的程序“需要知道”它运行的机器的底层架构。从C++本身来看,你应该相当好地保护了自己免受两者之间的任何差异的影响。当然,在一个奇特的平台上进行测试可能会很困难,但是你必须在所有你“支持”的平台上亲自测试吗?