news 2026/7/20 15:47:58

GBA开发-01:搭建开发环境

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
GBA开发-01:搭建开发环境

其中,需要手动添加.vscode文件夹,并在.vscode文件下添加以下4个文件

c_cpp_properties.json

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
{
“version”: 4,
“configurations”: [
{
“name”: “GBA”,
“compilerPath”: “C:/devkitPro/devkitARM/bin/arm-none-eabi-gcc.exe”,
“intelliSenseMode”: “gcc-arm”,
“cStandard”: “gnu11”,
“includePath”: [
workspaceFolder/source","{workspaceFolder}/source", "workspaceFolder/source","{workspaceFolder}”,
“C:/devkitPro/libgba/include”,
“C:/devkitPro/devkitARM/arm-none-eabi/include”
],
“defines”: [
GBA”,
“ARM7”
]
}
]
}

launch.json ,注意,这里配置的gba模拟器的路径,用于直接启动mGBA模拟器测试我们开发的程序

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
{
“version”: “0.2.0”,
“configurations”: [
{
“name”: “Run mGBA”,
“type”: “cppvsdbg”,
“request”: “launch”,
“program”: “C:/dev/Emulator/mGBA-0.10.5-win32/mGBA.exe”,
“args”: [
workspaceFolder/template.gba"],"cwd":"{workspaceFolder}/template.gba" ], "cwd": "workspaceFolder/template.gba"],"cwd":"{workspaceFolder}”
}
]
}

settings.json

1
2
3
4
5
6
7
8
{
“files.associations”: {
“*.h”: “c”
},
“editor.tabSize”: 4,
“editor.insertSpaces”: true,
“C_Cpp.default.configurationProvider”: “ms-vscode.makefile-tools”
}

tasks.json

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
{
“version”: “2.0.0”,
“tasks”: [
{
“label”: “Build GBA”,
“type”: “shell”,
“command”: “make”,
“args”: [],
“group”: {
“kind”: “build”,
“isDefault”: true
},
“problemMatcher”: [
“$gcc”
]
},
{
“label”: “Clean”,
“type”: “shell”,
“command”: “make”,
“args”: [
“clean”
]
}
]
}

最后 Makefile要复制到 C:\devkitPro\examples\gba\template ,否则编译时报错

  1. 在source文件下有一个template.c, 按ctrl+shift+b 来编译程序

    控制台会输出以下内容

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/20 15:47:30

Amphenol ICC ND9ACA2B0A线束组件国产替代方案解析

在工业自动化、通信设备、服务器、电源系统以及高可靠性电子设备领域,连接器与线束组件承担着信号传输、电力连接以及系统互联的重要作用。作为全球知名连接方案供应商,Amphenol ICC(Commercial Products)长期专注于高性能连接器、…

作者头像 李华
网站建设 2026/7/20 15:47:14

北京华恒智信破解学校职责不清定岗定编管理案例

【客户行业】教育行业;公立学校【问题类型】定岗定编【客户背景】该公立学校地处北方某二线城市,在当地基础教育领域占据重要地位。学校属于九年一贯制办学模式,覆盖小学与初中学段,校内建有教学楼、实验楼、图书馆及运动场等较为…

作者头像 李华
网站建设 2026/7/20 15:46:58

如何用一款工具解决82种硬件检测需求?图吧工具箱WinUI3版深度解析

如何用一款工具解决82种硬件检测需求?图吧工具箱WinUI3版深度解析 【免费下载链接】tubatools 图吧工具箱 winUI3 版 项目地址: https://gitcode.com/gh_mirrors/tu/tubatools 你是否曾经为了检测电脑硬件而四处寻找工具?从CPU温度监控到显卡性能…

作者头像 李华
网站建设 2026/7/20 15:46:42

Switch游戏帧率解锁终极指南:3个简单步骤让30帧游戏焕然一新

Switch游戏帧率解锁终极指南:3个简单步骤让30帧游戏焕然一新 【免费下载链接】FPSLocker Set custom FPS in Nintendo Switch games 项目地址: https://gitcode.com/gh_mirrors/fp/FPSLocker FPSLocker是一款专为Nintendo Switch设计的帧率自定义工具&#x…

作者头像 李华
网站建设 2026/7/20 15:44:17

开源完美模块组件化可扩展的Xml解析器Hand.ParseXml

一、首先对比Xml反序列化性能对比 1.1 性能测试结果如下 Deserialize是反序列化结果 GetResult是基于反射的对象构建方法,比反序列化快33% GetResult2是定制对象构建组件,避免了反射,比GetResult快一点 Custom继承重写EntityParser,避免字典查找,比GetResult2更快一点 Method M…

作者头像 李华
网站建设 2026/7/20 15:40:27

C语言动态内存管理:从malloc/free原理到实战避坑指南

1. 先搞清楚“动态内存管理”到底要解决什么问题很多人一看到malloc、free就头疼,觉得是 C 语言里最复杂、最容易出错的部分。其实它的核心目标就一个:在程序运行时,按需申请和释放内存。这和你提前定义好int arr[100]有本质区别。arr[100]在…

作者头像 李华