在PSPSDK(Homebrew)中,我们使用Binutils 2.16.1来组装和链接PlayStation Portable的代码,但是这个版本已经过时了(3个版本已经取代了它).社区和我一直在更新GCC和newlib到最新的稳定版本,一切似乎都适用于旧的binutils.
GCC能用binutils 2.19产生更好的代码吗?为什么?binutils 2.19会产生比2.16.1更好的elf文件和库吗?为什么?
我有一个简单的程序,它绘制了一个圆圈:/这很好......
for (k = 1; k < n+1+1; k++){
vertices[k].color = GU_COLOR( 0.0f, 0.0f, 1.0f, 0.0f );
vertices[k].x = cos_d( 360 - ((k-1) * dstep) );
vertices[k].y = sin_d( 360 - ((k-1) * dstep) );
vertices[k].z = 0.0f;
}
...
//Now draw it
sceGumDrawArray(GU_TRIANGLE_FAN, GU_COLOR_8888|GU_VERTEX_32BITF|GU_TRANSFORM_3D, n+1+1, 0, vertices);
Run Code Online (Sandbox Code Playgroud)
但这不是:
for (k = 1; k < n+1+1; k++){
vertices[k].color = GU_COLOR( 0.0f, 0.0f, 1.0f, 0.0f );
vertices[k].x = cos_d( ((k-1) * dstep) );
vertices[k].y = sin_d( ((k-1) * dstep) );
vertices[k].z …Run Code Online (Sandbox Code Playgroud) 以下课程是如何Game抽象的?我如何使它具体化,以便我可以创建它的实例?
game.h
#include <JApp.h>
#include <JGE.h>
class Game: public JApp
{
private:
JGE* Engine;
int x, y, x2, y2;
public:
Game(JGE *engine);
virtual ~Game();
virtual void Create();
virtual void Destroy();
virtual void Update();
virtual void Render();
};
Run Code Online (Sandbox Code Playgroud)
main.cpp中
//Other headers
#include "game.h"
int main(void)
{
JGE* engine = NULL;
SetupCallbacks();
engine = JGE::GetInstance();
engine->printf("Starting Game!");
Game* g = new Game(engine); // Error 'Game is an abstract type
engine->SetApp(g);
engine->Run();
engine->Destroy();
sceKernelExitGame();
}
Game::Game(JGE* engine) : JApp(engine)
{
Engine …Run Code Online (Sandbox Code Playgroud)