例如
int foo(short x);
short s = -1;
foo(s);
是否与
//int foo(short x); //Updated
int foo(signed x);
short s = -1;
foo((signed)s);//sign-extend and push to stack
或者它是否与
//int foo(short x); //Updated
int foo(unsigned)
short s = -1;
foo((unsigned)(unsigned short)s);//zero-extend and push to stack
或者两者都可以(我们将高位视为脏)?
我可以在特殊编译器上做一些实验。但我不确定每一件事都非常详细。我只需要一些正式的承诺。