私は、Cのstdint.hの概念に多少慣れています。整数のサイズを明示すると、ヘッダファイルは#define整数をそのマシンの適切な整数に置き換えます。たとえば、私のマシンの符号なし整数が16ビットの場合、uint32_t
はlong unsigned int
に置き換えられます。マシンがCで標準の整数データ型をサポートしているかどうかをどのように判断しますか?
ただし、マシンが32ビット整数までしかサポートしていないとします。 int64_t
を使用した場合はどうなりますか?この整数サイズがネイティブにサポートされていない場合、それを修正できる代替がないので、これはどのように解決されますか?
コンパイラがスローしてエラーが解決できないというエラーが表示されますか?または、64ビットデータ型を保持するために2つの32ビット割り当てを使用しようとしますか?
算術コプロセッサなしで8ビットCPU用のCコンパイラ(レジスタは8ビットのみ)があります。そして、彼らは 'longと' float型をサポートします。想像できますか? – i486