日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

PSP开发环境配置

發布時間:2024/9/30 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 PSP开发环境配置 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1:安裝 devkitpro

?

下載 http://sourceforge.net/projects/devkitpro/files/Automated%20Installer/

? 選擇 devkitProUpdater-1.5.0.exe

URL:http://211.167.112.9:9203/2D11738C7F5FBDD2DBC1C3B9070C9A62E15918C1C1F093F5/ncu.dl.sourceforge.net/project/devkitpro/Automated%20Installer/devkitProUpdater-1.5.0.exe

?

? a.運行DevkitProUpdater-1.*.*.exe
? b.選download and install(下載并安裝)
? c.Keep downloaded files是保存下載的安裝文件,remove downloaded files是安裝完后刪除下載的文件,這個隨便
? d.在Select the type of install的地方選devkitPSP,也可以選full,如果也要給GBA或NDS編程的話
? e.安裝地址可以選在任何地方。

?

2? helloworld

?

在任意目錄下(不一定是安裝devkitpro的目錄)建立一個名為projects的文件夾(名字是什么其實無所謂)
在文件夾內建立多個子文件夾,每個文件夾是將來要編的一個程序
? 例如:projects
???????? -helloworld
?????????? -main.c
?????????? -makefile

這里面的“helloworld”程序名稱命名的文件夾,“main.c”是程序的源代碼,“makefile”是為編譯所作的信息文件

每一個程序編譯前都要有main.c和makefile放在“程序名稱”的文件夾內

先說makefile:
makefile沒有后綴,里面寫上:


TARGET = hello
OBJS = main.o
CFLAGS = -O2 -G0 -Wall
CXXFLAGS = $(CFLAGS) -fno-exceptions -fno-rtti
ASFLAGS = $(CFLAGS)
EXTRA_TARGETS = EBOOT.PBP
PSP_EBOOT_TITLE = Hello World
PSPSDK=$(shell psp-config --pspsdk-path)
include $(PSPSDK)/lib/build.mak


這里目前每個程序不一樣的就是倒數第三行“PSP_EBOOT_TITLE = Hello World”里的“Hello World”,它是你的程序名稱,顯示在PSP上。
所以每做一個新程序,需要改變的就是makefile里的“PSP_EBOOT_TITLE”

?

再說main.c:
main.c的格式主要為:
#include <pspkernel.h>???????????????????????????????????????? //PSP程序必不可少的頭文件
#include <pspdebug.h>????????????????????????????????????????? //我認為有些類似于stdio.h
#include <pspctrl.h>?????????????????????????????????????????? //按鍵有關函數的頭文件

PSP_MODULE_INFO("Hello World", 0, 1, 1);?????????????????????? //不會被編譯,寫上你的程序名和版本號

#define printf pspDebugScreenPrintf??????????????????????????? //定義函數pspDebugScreenPrintf為printf,以后好用


int exit_callback(int arg1,int arg2,void *common)
{sceKernelExitGame();
return 0;}/* Exit callback */

?

int CallbackThread(SceSize args,void *argp)
{int cbid;
cbid=sceKernelCreateCallback("Exit Callback",exit_callback,NULL);
sceKernelRegisterExitCallback(cbid);
sceKernelSleepThreadCB();
return 0;}/* Callback thread */

?

int SetupCallbacks(void)
{int thid=0;
thid=sceKernelCreateThread("update_thread",CallbackThread,0x11,0xFA0,0,0);
if(thid>=0)sceKernelStartThread(thid,0,0);
return thid;}/* Sets up the callback thread and returns its thread id */

?????

//以上這三個函數先不用管,是為了能按home時退出用的

?

int main()???????????????????????????? //終于到main函數了
{
pspDebugScreenInit();????????????????? //設置PSP屏幕,這樣就可以顯示文本了
SetupCallbacks();????????????????????? //設置按home可以退出

?

//這里才是寫程序內容的地方!!!!

pspDebugScreenClear();??????????? //清屏函數,清除屏幕上所有內容并把光標復位到左上角
pspDebugScreenSetXY(20,10);?????? //設置光標,左上角為(0,0),PSP一共有34行68列,所以右下角是(67,33)

printf("hello world");????? //就是打出一個“hello world”

?

sceKernelSleepThread();??????????????? //讓程序運行完后停到這里
return 0;
}

?

?

現在開始編譯啦!!

新建一個run.bat,里面寫上:(假設程序安裝到C:/devkitpro)
set path=%path%;C:/devkitpro/devkitpsp/bin;
cmd

現在將這個run.bat文件放入projects文件夾,運行


輸入cd hello world回車(這代表進入hello world文件夾)
再輸入make回車,就開始編譯了!


如果看到附件里圖片那樣的文字并且在hello world里生成了四個文件就代表成功了!


在PSP/GAME里新建一個文件夾,名字隨意,把剛才生成的EBOOT.PBP放入就可以了,要是嫌麻煩就直接把hello world拖到PSP/GAME

其實也可以將*.bat放入hello world文件夾,運行然后直接輸入make就行了

如果想編譯出1.50上的雙文件夾,要把輸入的make改成kploit make

如果想編譯出PSP-2000上的prx文件用于3.71以上版本,需要在makefile里開頭加上這樣兩行:
BUILD_PRX=1
PSP_FW_VERSION=371
同樣還是輸入make編譯

總結

以上是生活随笔為你收集整理的PSP开发环境配置的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。