makeos / ghostbirdos Goto Github PK
View Code? Open in Web Editor NEWA lightweight, multi-tasking graphical operating system, JUST FOR FUN!
License: BSD 2-Clause "Simplified" License
A lightweight, multi-tasking graphical operating system, JUST FOR FUN!
License: BSD 2-Clause "Simplified" License
在以往的测试中,我们发现GNU GCC的ld工具有一个特点:链接时目标文件的顺序影响了各个文件中的section部分在生成文件中的位置,即使在使用-e参数指定入口地址的情况下。我们通常的做法,是将_start写在一个文件的最前面,这个文件在ld命令的最前面,例如/loader/boot/boota.asm:
该文件生成的.o文件在Makefile中ld命令下的排序:
$(LD) $(LDFLAGS) -o $@ -Ttext 0x11000 $(OBJS)
,而OBJS为
OBJS := ./boota.o ./MMU.o ./bootc.o ./VI.o ./fs.o ./storage.o \ ./lib/string.o ./lib/font.o ./lib/vsprintf.o ./lib/mem.o
这种做法是可行的。但在kernel和gfr都用上了自动寻找源代码文件的今天,我们也需要在boot中使用上这一功能,但自动寻找源代码是不能保证boota.asm这样带有_start入口的汇编文件所对应的boota.o排在OBJS里的首位,因此loader的setup部分就无法跳转到boot部分的入口,引导程序就失败了。
一般来说,在Loader中我们不用频繁且大量的信息输出。但有些时候,当有大量信息需要频繁刷新的时候,效率总是那么不尽如人意。
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.