2017-08-17 8 views
0

4バイトではなく2バイトになるように、int変数の型を変更するためにVS 2012のコンパイラを構成する方法はありますか? 私が試してみました:基本データ型のサイズを変更するにはVS 2012のコンパイラを構成する方法?

#include <iostream> 
#include <stdint.h> 
int main(int argc,char* argv[]) 
{ 
    typedef __int16 int16_t; 
    int16_t x=5; 
    std::cout<<"Size of integer number= "<<sizeof(x)<<" Bytes\n"; 

    system("pause"); 
    return 0; 
} 

は、コンパイラの設定が何を意味するか、このですか? 私の質問の答えはコードの一部ではないと思う、それはVSのいくつかの設定を変更することですよね?

+0

私は上記のコードを書いて、整数変数xのサイズを印刷することで、2バイトでした。これはコンパイラの設定ですか? – Ahmed

+0

__int16という名前は、2バイトであることを反映しています。あなたのプログラムはあまり役に立ちません。 VS構成のMSDNヘルプを確認する必要があります。 – Nitin

+0

Windowsは[ILP32データ・モデル](https://www.ibm.com/support/knowledgecenter/en/SSLTBW_2.3.0/com.ibm.zos.v2r3.cbcpx01/datatypesize64.htm)を前提としています。いずれにしても標準では保証されていませんが、常に4バイトです。あなたにとっては、ほとんどの場合、 'int16_t'を使う必要があります(' stdint.h'ヘッダから 'typedef'が冗長です)。 – CookiePLMonster

答えて

0

使用できない場合や、使用しているすべてのライブラリとの互換性が損なわれる可能性がある場合は、結果はうまくいかない可能性があります。

16ビットコンパイラがまだ出荷されている場合は、int16_tを使用します。

関連する問題