私はCプログラムを持っており、廃止予定のマシンで使用します。私は基本的な型の互換性に問題があるのを少し怖いです。私は、どうすれば保証されますか?と尋ねると、doubleは8バイトの長さになりますか?答えはC - doubleが8バイトではない場合の対処方法
である「あなたはあなたのコードでこれを置くことができます。
static_assert(sizeof(double) == 8, "invalid double size");"
[OK]を、私は ...それを得るしかし、私は、コードを実行し、それが行くとき、私は、何をしますか 『の主張は』失敗しましたか?
どうすればこの問題に対処できますか?その特定のマシンでプログラムを実行する必要があります...異なるサイズのプログラムをダブルサイズに適応させるのは難しいですか? PS私のプログラムには8バイト倍数
EDIT:なぜですか8バイトの倍精度 シリアルポートからバイナリ形式のデータをバッファに読み込み、そのバッファから、IEEE754の倍精度と単精度の数値を抽出して、いくつかの計算を行う必要があります。
これも起こりますか? FP命令は失敗するでしょうか? –
Owait - 古代のマシンでは廃止予定のコンパイラでコンパイルしますか? –
これはあまりにも曖昧です。なぜあなたのプログラムは8バイトの 'double 'を必要としますか?高精度タイプを使用できないのはなぜですか?プログラムが固定サイズ/フォーマットに依存するのはなぜですか?あなたのコードがこれに答えるために 'double'をどのように使っているかについてもっと多くのことが必要です。 – chux