1. ホーム
  2. c++

[解決済み] 標準化委員会が注目するエキゾチックなアーキテクチャ

2022-04-24 04:41:26

質問

C や C++の標準規格では、言語の多くの側面が実装定義されたままになっていますが、これは、他の特性を持つアーキテクチャがあった場合、そのための標準準拠のコンパイラを書くことが非常に困難か不可能になるためです。

40年前はどんなコンピュータでも独自の仕様を持っていたことは知っています。しかし、現在使われているアーキテクチャで、そのようなものを私は知りません。

  • CHAR_BIT != 8
  • signed は2の補数ではありません(Javaではこの点で問題があったそうです)。
  • 浮動小数点はIEEE754に準拠していない (Edit: I mean "not in IEEE 754 binary encoding")。

なぜこのような質問をするかというと、私はよく人に、C++が固定サイズの型のような他の低レベルの側面を義務付けていないのは良いことだと説明するためです。 . 他の言語」と違って、正しく使えばコードがポータブルになるからです(編集:符号+振幅アーキテクチャでの2の補数演算など、マシンの低レベルな部分のエミュレーションを必要とせずに、より多くのアーキテクチャに移植できるため)。しかし、私自身が特定のアーキテクチャを指摘できないのは残念です。

そこで質問ですが、どのようなアーキテクチャが上記の性質を示すのでしょうか?

uint*_t は省略可能です。

解決方法は?

こちらをご覧ください。

Unisys ClearPath Dorado サーバー

ユニバックのソフトウェアをまだ全て移行していない方のための後方互換性を提供します。

主なポイント

  • 36ビットワード
  • CHAR_BIT == 9
  • 補数
  • 72ビット非IEEE浮動小数点
  • コードとデータ用に別々のアドレス空間
  • ワードアドレス指定
  • 専用スタックポインタなし

しかし、C++コンパイラを提供しているかどうかは知りませんが、彼らは 可能性あり .


そして今、彼らのCマニュアルの最新版へのリンクが表面化した。

Unisys Cコンパイラ プログラミングリファレンスマニュアル

4.5節に9、18、36、72ビットのデータ型の表があります。