我正在使用 C 语言和汇编从头开始为 ARM 处理器开发操作系统。我已经完成了内核,我开始启动用户空间(可以运行应用程序的环境)。我将使用 C 语言编写我的应用程序并使用 gcc 进行编译。
我怎样才能让 gcc 编译 .c 文件,使它们以特定的文件格式(例如 .app、.exe、.apk、.ipa)编译出来
操作系统如何运行文件?我的意思是,当用户从应用程序列表中选择应用程序时,操作系统将如何与文件交互并告诉应用程序“应用程序已打开调用 OnApplicationOpen()”?
P.S. 也很抱歉问题的措辞。很难解释
最佳答案
1) '以特定文件格式出现' - 通常,链接器会这样做。查看您的链接器选项。
2) 我不知道 - 这是你的操作系统!基本上,检查可执行文件头以找出需要什么资源,分配它们,读取需要加载的部分,将需要清零的部分归零,重新定位需要重新定位的部分,找到代码起始地址,创建一个线程来运行它。
关于在 C 中创建应用程序接口(interface),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16777576/