int foo(int p, float v) { /*do some thing*/ return (0); } int foo(p, v) int p; float v; { /*do some thing*/ return (0); }
上面两种不同的参数声明方式,编译器对他们的处理还是有些区别的。具体的待续。。。。。。
这个不同就是:
前者,msvc 的编译器会认为float 是个double, 后者float就是float。
UPDATE:
前者 编译成 _foo@8 后者 _foo@12