プログラムはIA64をサポートする必要がありますか、それともx64のみをサポートする必要がありますか?
自分でIA64コンピューターを簡単に見つけることができませんでした。IA64は死んでいますか?
MSはIA64を幅広くサポートしているようですが、IA64を見つけるのに長い時間がかかり、結局eBayで入手する必要がありました。
どのようなソフトウェアを開発していますか?データセンタータイプのアプリケーションでも、ハイエンドの数値計算アプリでもない場合、ia64バージョンの需要があったとしたら驚きます。それでも、サポートすべきかどうかを聞かなければならない場合は、おそらくサポートする必要がないという状況になると思います。
ia64ポートを妨げる可能性のあるいくつかのことが頭のてっぺんから外れています。
もちろん、私はGartnerやIDC、または市場分析を行う人のために働いているわけではないので、ここで私が言っていることは、あなたがうそをついているどんな懐疑論でも受け止めるべきです。
顧客または潜在的な顧客に問い合わせましたか?
IA64 にアクセスできる場合は、コードを IA64 上で実行する価値があります。コードを別の CPU アーキテクチャに移植すると、あらゆる種類の隠れた問題が明らかになります。
Linux/Windows/x86 では表示されない 1 による文字列オーバーフローが発生する可能性がありますが、スタック レイアウトまたは構造の配置が異なるため、プログラムがクラッシュします。~1UL == 0xFFFFFFFF と仮定しているかもしれません。
私は自分の C++ コード IA64 をきれいに保っていますが、私はファンなので、すでに数台のマシンを持っています。
予想される売上高が開発とサポートのコストをカバーできるかどうかを判断できるのは、あなただけです。
理論的には、優れた C++ プログラミング手法に固執していると仮定すると、書き込み先が x64、IA64、さらには SPARC や PowerPC などであっても気にする必要はありません。コードが 64 ビット クリーンであることを確認するだけで (整数とポインターが同じサイズであると想定しないように)、問題ありません。
を除外する...
異常なハードウェアの問題、非準拠のコンパイラ、または言語の「実装定義」の鋭いコーナーによって引き起こされる奇妙なフリンジ条件が常にあります。(C と C++ の両方には、これらの「実装で定義された」ものがたくさん含まれています!)
そう...
ターゲットでテストする必要があります。これには非常に費用がかかる可能性がありますが、有料で特定のハードウェア プラットフォーム上でアプリケーションをテストできる場所があります。クロスプラットフォームで多くの作業を行う場合は、ハードウェアを社内で調達するのが最も安価かもしれませんが、小さなショップや希少なプラットフォームはレンタルしたデータ センター ハードウェアでテストするのが最適です。
クライアントが特に要求しない限り、私は IA64 のサポートを気にしません。それ以外の場合は、テストする別のプラットフォームにすぎません。Intel はまだ IA64 ベースのプロセッサを製造していますか?
C++ で書いている場合、それは本当に重要ですか? 私が言いたいのは、プログラムが実行されているマシンの基礎となるアーキテクチャについて、プログラムが「知る必要がある」理由を言っていないということです。C++ 自体から、この 2 つの違いから十分に保護されているはずです。もちろん、難解なプラットフォームでのテストは難しいかもしれませんが、「サポートする」すべてのプラットフォームで自分でテストする必要がありますか?