From bba1a44b2dd941b92acbfc9200533016bf5e4c0d Mon Sep 17 00:00:00 2001 From: xeonliu <62530004+xeonliu@users.noreply.github.com> Date: Sat, 30 Dec 2023 00:41:24 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0=20helloworld.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/helloworld.md | 24 +++++++++++++++--------- 1 file changed, 15 insertions(+), 9 deletions(-) diff --git a/docs/helloworld.md b/docs/helloworld.md index b825efe..6db0f81 100644 --- a/docs/helloworld.md +++ b/docs/helloworld.md @@ -1,21 +1,27 @@ # Our first example -第一个程序(模块)虽然仅仅是实现了打is Hells World的部分,其中蕴含的知识却异常繁杂。对于初次接触PSP开发的人犹为困难.目而我们首先来介绍一下系统调用的概念。 +第一个程序(模块)虽然仅仅是实现了打is Hells World的部分,其中蕴含的知识却异常繁杂。对于初次接触PSP开发的人犹为困难.目而我们首先来介绍一下计算机系统相关的概念。 +> 推荐阅读:CS:APP 异常控制流 + # 系统调用 -有些操作用户态程序没有权限执行,必须依靠调用操作系统1捌供的函数. -其实我们面对一个现成的库时就有点像面对操作系统:我们不了解也不关心它的具体实现而只专注于它提供给我们的接口 -# 线程 -+ 进程是在操作系统提供的不同地址空间下同时运行的程序 -+ 线程是在某进程所属的地址空间中同时执行的代码. +有些操作用户态程序没有权限执行,必须依靠调用操作系统提供的函数.通过PPSSPP的反汇编功能可以看到程序如何调用这些对用户而言不可再分的最基本的函数。 +> 注:希望PPSSPP今后能够提供对elf文件的支持以便于debug +其实我们面对一个现成的库时就有点像面对操作系统:我们不了解也不关心它的具体实现,而只专注于它提供给我们的接口 +# 线程(Thread) ++ 进程(Process)是在操作系统提供的不同地址空间下同时运行的程序 ++ 线程是单个应用程序抽象出的在同一地址空间中同时执行的代码. -在面对并发的问题时,上者要考店的问题有诸多相似性. +在面对并发的问题时,两者要考虑的问题有诸多相似性. -# 分块 +# 分块解读 1. 奇怪的宏 +PSP_MODULE_INFO 2. Exit Call Back 回调函数:某事件发生时(收到信号时)异常控制流切入的函数 目标:注册回调函数 手段:在单独的线程注册 -有了它我们就可以在PSP上按Home键退出 +有了它我们就可以在PSP上按Home键调出退出对话框 3. Event Loop +循环执行 4. 系统级函数调用 +pspsdk暴露出的可供调用而不明实现的函数