2017-08-17 2 views
0

Wie konfiguriert man den Compiler von VS 2012, um den Typ der int-Variablen so zu ändern, dass er 2 Byte anstelle von 4 Byte wird? Ich habe versucht:Wie konfiguriert man den Compiler von VS 2012, um eine grundlegende Datentypgröße zu ändern?

#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; 
} 

Ist das, was die Compiler-Konfiguration bedeuten? Ich denke, die Antwort auf meine Frage ist kein Stück Code, es geht darum, einige Einstellungen in VS zu ändern bin ich richtig?

+0

Ich schrieb den obigen Code und indem ich die Größe der Integer-Variable x, es war 2 Bytes.ist das die Compiler-Konfiguration? – Ahmed

+0

__int16 von seinem Namen reflektieren, dass es 2 Bytes ist. Ihr Programm macht nicht viel Sinn. Sie sollten die MSDN-Hilfe für VS-Konfigurationen überprüfen. – Nitin

+0

Ziemlich sicher Windows geht davon aus [ILP32-Datenmodell] (https://www.ibm.com/support/knowledgecenter/en/SSLTBW_2.3.0/com.ibm.zos.v2r3.cbcpx01/datatypesize64.htm) in welchem ​​Fall Int wird immer 4 Bytes - obwohl es vom Standard in keinem Fall garantiert ist. Für Sie müssen Sie fast unbedingt bei "int16_t" bleiben (aus 'stdint.h' Header, Ihr' typedef' ist redundant). – CookiePLMonster

Antwort

0

Sie können nicht, und wenn Sie könnten, würden Sie Kompatibilität mit jeder Bibliothek brechen, die Sie verwenden, also würde das Ergebnis sowieso nicht funktionieren.

Verwenden Sie den 16-Bit-Compiler, wenn sie noch geliefert werden, oder int16_t.

Verwandte Themen