Должна ли моя программа на C ++ поддерживать IA64 или только x64? - PullRequest
7 голосов
/ 21 октября 2008

Должна ли моя программа поддерживать IA64 или только x64?

Я сам не смог найти компьютеры IA64. IA64 мертв?

MS, похоже, широко поддерживает IA64, но мне понадобилось много времени, чтобы найти IA64, и мне пришлось в конечном итоге получить его на eBay.

Ответы [ 6 ]

7 голосов
/ 21 октября 2008

Какое программное обеспечение вы разрабатываете? Если бы это было не приложение типа центра обработки данных или приложение для обработки чисел высокого класса, я бы удивился, если бы был какой-либо спрос на версию ia64. И даже тогда, я думаю, это будет ситуация, когда, если вам придется спросить, следует ли вам это поддерживать, вам, вероятно, не нужно.

Несколько вещей, которые могут помешать работе порта ia64:

  • любые сторонние инструменты или библиотеки, которые вам нужны для поддержки
  • не выровненные обращения, которые в основном остаются незамеченными на x86 и x64, вызовут головные боли на ia64

Конечно, я не работаю на Gartner, IDC или тех, кто занимается анализом рынка, поэтому вы должны принять то, что я здесь говорю, со скептицизмом, который у вас есть.

Были ли опрошены клиенты или потенциальные клиенты?

2 голосов
/ 07 марта 2010

Если у вас есть доступ к IA64, то стоит, чтобы ваш код работал на нем. Перенос вашего кода на другую архитектуру ЦП выявит все виды скрытых проблем.

Возможно, у вас переполнение строки на 1, которое не отображается в Linux / Windows / x86, но вызывает сбой программы из-за различий в расположении стека или выравнивании структуры. Вы можете предположить, что ~ 1UL == 0xFFFFFFFF.

Я держу свой код C ++ IA64 в чистоте, но у меня уже есть пара машин, потому что я фанат.

2 голосов
/ 21 октября 2008

Вы единственный человек, способный судить о том, покроют ли ожидаемые продажи расходы на его разработку и поддержку.

1 голос
/ 07 марта 2010

Теоретически, предполагая, что вы придерживаетесь хороших практик программирования на C ++, вас не должно волновать, пишете ли вы x64, IA64 или даже SPARC или PowerPC или что-то еще. Просто убедитесь, что ваш код чист 64-битный (например, не предполагая, что целые числа и указатели имеют одинаковый размер), и все будет в порядке.

За исключением ...

В вашем языке всегда встречаются странные условия, вызванные необычными аппаратными проблемами, несоответствующими компиляторами или острыми углами, определяемыми реализацией. (C и C ++ содержат много вещей, «определенных реализацией»!)

Итак ...

Вы захотите проверить свою цель. Это может быть очень дорого, но есть места, которые позволят вам тестировать приложения на данной аппаратной платформе за определенную плату. Если вы много работаете над кроссплатформенными вещами, может быть дешевле всего использовать собственное оборудование, но небольшие магазины и более редкие платформы часто лучше всего тестировать на арендованном оборудовании центра обработки данных.

0 голосов
/ 21 октября 2008

Я бы не стал беспокоиться о поддержке IA64, если клиент специально не просит об этом. В противном случае это просто еще одна платформа для тестирования. Intel все еще делает какие-нибудь процессоры на базе IA64?

0 голосов
/ 21 октября 2008

Если вы пишете на C ++, это действительно имеет значение? Я имею в виду, что вы не говорите, что заставляет вашу программу «знать» о базовой архитектуре машины, на которой она работает. С самого C ++ вы должны быть достаточно хорошо защищены от любых различий между ними. Конечно, тестирование на эзотерической платформе может быть трудным, но нужно ли вам тестировать его на всех платформах, которые вы «поддерживаете»?

...