PSP编程初探 Hello World
自己有一台PSP2000,玩了这么长时间的游戏,所以打算去探究一下PSP这个平台的程序的构建方式。
在网上搜了很多资料,感觉能用上的不多,毕竟这太小众了,通过自己的探索,总结了一下。
- 先搭建MinGW编译环境(参考:http://www.mingw.org/ 或点击直接下载链接),下载mingw-get-setup.exe。

下载完之后,双击打开,直接点击下方的Install按钮

这个页面就根据个人爱好选择吧,建议直接点Continue,之后就等待安装完毕。
这时桌面上会出现下面的图标:

- 双击打开之后,如下图所示,在[Basic Setup]选项下,把右边的4个绿色的框选中。

然后选择[Installation]à[Update Catalogue]

慢慢等待下载…
- 完毕之后,可以启动命令行,输入[mingw32-gcc -v],查看当前C编译器的版本,如果没有正常显示的话,可能需要手动添加环境变量,这里不再赘述。

- 之后需要下载PSP的SDK(Software Develop Kit 软件开发工具包)包,参考http://devkitpro.org/ 或点击直接下载链接。

下载完之后,双击打开,一路都是Next,到以下的界面之后,在下拉框选择[devkitPSP],然后就是选择安装路径~

慢慢等待下载和安装结束…
- 接下来就需要进行第一个PSP的程序编译工作了。
进入刚刚安装好的devkitPSP文件夹,在其内部以此进入devkitPSP\psp\sdk\samples文件夹。

这里面全是示例程序,而我们需要写的HelloWorld程序则使用exceptions这个文件夹的例程。

这个文件夹里面有2个文件,main.cpp程序源文件和Makefile构建文件。
用记事本将程序文件打开之后,修改

为

然后打开命令行,使用cd命令定位到此文件夹,然后输入mingw32-make即可进行PSP程序的编译

之后生成的文件如下图所示

其中EBOOT.PBP就是我们需要的最终PSP能够执行的文件。
在 PSP根目录/PSP/GAME下,创建一个Hello文件夹,然后把我们编译完成的EBOOT.PBP文件复制进去,这样就部署成功了(图以后补上)。

最终,只需要打开PSP,就可以在游戏目录里面找到我们编译好的程序,运行即可~


自此,PSP的Hello World就完成了,第一篇博文完成~撒花~
2015.5.3 使用Windows Live Writer更新。
PSP编程初探 Hello World的更多相关文章
- Haskell学习-函数式编程初探
原文地址:Haskell学习-函数式编程初探 为什么要学习函数式编程?为什么要学习Haskell? .net到前端,C#和JavaScript对我来说如果谈不上精通,最起码也算是到了非常熟悉的 ...
- Android Studio NDK编程初探
继上一篇学习了如何使用NDK编译FFMPEG后,接下来就是要学习如何在Android Studio中使用了. 经过参考和一系列的摸索,记录下具体步骤. 创建C++ Support的Android St ...
- 从壹开始前后端分离【 .NET Core2.0 +Vue2.0 】框架之九 || 依赖注入IoC学习 + AOP界面编程初探
更新 1.如果看不懂本文,或者比较困难,先别着急问问题,我单写了一个关于依赖注入的小Demo,可以下载看看,多思考思考注入的原理: https://github.com/anjoy8/BlogArti ...
- Z从壹开始前后端分离【 .NET Core2.2/3.0 +Vue2.0 】框架之九 || 依赖注入IoC学习 + AOP界面编程初探
本文梯子 本文3.0版本文章 更新 代码已上传Github+Gitee,文末有地址 零.今天完成的绿色部分 一.依赖注入的理解和思考 二.常见的IoC框架有哪些 1.Autofac+原生 2.三种注入 ...
- iOS开发--Swift RAC响应式编程初探
时间不是很充足, 先少说点, RAC的好处是响应式编程, 不需要自己去设置代理委托, target, 而是主要以信息流(signal), block为主, 看到这里激动吧, 它可以帮你监听你的事件, ...
- Java动态编程初探——Javassist
最近需要通过配置生成代码,减少重复编码和维护成本.用到了一些动态的特性,和大家分享下心得. 我们常用到的动态特性主要是反射,在运行时查找对象属性.方法,修改作用域,通过方法名称调用方法等.在线的应用不 ...
- C#基础系列——异步编程初探:async和await
前言:前面有篇从应用层面上面介绍了下多线程的几种用法,有博友就说到了async, await等新语法.确实,没有异步的多线程是单调的.乏味的,async和await是出现在C#5.0之后,它的出现给了 ...
- Javascript 面向对象编程初探(一)--- 封装
Javascript是一种基于对象(object-based)的语言,你遇到的所有东西几乎都是对象.但是,它又不是一种真正的面向对象编程(OOP)语言,因为它的语法中没有class(类). 那么,如果 ...
- 老生常谈: Javascript 面向对象编程初探(一)--- 封装
Javascript是一种基于对象(object-based)的语言,你遇到的所有东西几乎都是对象.但是,它又不是一种真正的面向对象编程(OOP)语言,因为它的语法中没有class(类). 那么,如果 ...
随机推荐
- Android下用Properties保存程序配置
读写函数分别例如以下: import java.io.FileInputStream; import java.io.FileOutputStream; import java.util.Proper ...
- CSS3实现自定义Checkbox和Radiobox
我们知道浏览器自带的Checkbox复选框不怎么美观(这或许是我们看习惯了的缘故),而且复选框在不同的浏览器上显示的样式又有很大的差异,由于目前越来越多的人开始接受支持CSS3的现代浏览器,所以今天就 ...
- IOS实用功能之截图(来自相册和拍照)
// // ViewController.m // MyImagePicker1.0 // // Created by Mac on 14-7-14. // Copyright (c) 201 ...
- stm32出现错误“identifier file is undefined”
为什么记录这个问题,说来很简单,这已经是第二次犯这个小错误了. 出现了错误“identifier file is undefined”的解决方法;option->general options- ...
- 网络IPC:套接字之数据传输
既然将套接字端点表示为文件描述符,那么只要建立连接,就可以使用read和write来通过套接字通信.通过在connect函数里设置对方地址,数据报套接字也可以“连接”.在套接字描述符上采用read和w ...
- Anatomy of the Linux kernel--转
ref:http://www.ibm.com/developerworks/linux/library/l-linux-kernel/?S_TACT=105AGX52&S_CMP=cn-a-l ...
- BootStrap2学习日记21---消息提示
<p><a href="#" title="中国(China),位于东亚,是一个以华夏文明为主体.中华文化为基础,以汉族为主要民族的统一多民族国家,通用 ...
- 【手把手教你Elmah】如何在MVC.NET项目中在线查看【错误日志】
一. 在NuGet下载Elmah.MVC dll文件! 或者点击下载dll文件,并且引用客户端. 二.配置WebConfig <sectionGroup name="elmah& ...
- tcpdump常用命令
1. 只抓syn包 tcpdump -i eth1 'tcp[tcpflags] = tcp-syn' 2. 只抓ack包 tcpdump -nni xgbe1 dst host 191.168.10 ...
- C#实现插件式架构的方法
插件式架构,一种全新的.开放性的.高扩展性的架构体系.插件式架构设计近年来非常流行,基于插件的设计好处很多,把扩展功能从框架中剥离出来,降低了框架的复杂度,让框架更容易实现.扩展功能与框架以一种很松的 ...