我编写了一个非常简单的程序,它返回这样的错误:
C:\Program Files (x86)\Dev-Cpp\MinGW64\x86_64-w64-mingw32\lib\crt2.o In function `__tmainCRTStartup':
254 C:\crossdev\src\mingw-w64-v3-git\mingw-w64-crt\crt\crtexe.c (.text+0x1fe): relocation truncated to fit: R_X86_64_PC32 against symbol `__imp_Sleep' defined
我用Java和C++运行了小型测试,创建了大量非常小的对象(没有类成员,构造函数中也没有),而且Java明显更快(我的意思是C++似乎真的很慢)。我打赌这与JVM有关,但是用哪种方式呢?
编辑:
我在C++中使用的类是这样的(正如我所说的,没有类成员,在构造函数中什么也不做):
class foo{
public:
foo(){}
~foo(){}
}
在Java中:
public class Foo{
public Foo(){}
}
我做的小测试只是关于在循环中分配成吨的对象(大约1000000000个)。我通过OpenJDK实现使用了GCC