在 C 中创建应用程序接口(interface)

标签 c gcc operating-system

我正在使用 C 语言和汇编从头开始为 ARM 处理器开发操作系统。我已经完成了内核,我开始启动用户空间(可以运行应用程序的环境)。我将使用 C 语言编写我的应用程序并使用 gcc 进行编译。

  • 我怎样才能让 gcc 编译 .c 文件,使它们以特定的文件格式(例如 .app、.exe、.apk、.ipa)编译出来

  • 操作系统如何运行文件?我的意思是,当用户从应用程序列表中选择应用程序时,操作系统将如何与文件交互并告诉应用程序“应用程序已打开调用 OnApplicationOpen()”?

P.S. 也很抱歉问题的措辞。很难解释

最佳答案

1) '以特定文件格式出现' - 通常,链接器会这样做。查看您的链接器选项。

2) 我不知道 - 这是你的操作系统!基本上,检查可执行文件头以找出需要什么资源,分配它们,读取需要加载的部分,将需要清零的部分归零,重新定位需要重新定位的部分,找到代码起始地址,创建一个线程来运行它。

关于在 C 中创建应用程序接口(interface),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16777576/

相关文章:

c - 执行 cpp-driver datastax 时出现协议(protocol)错误

c - 错误使用execlp函数

gcc 中的编译标志用于调试 gdb 中的静态变量(在 AIX 操作系统中)

c - mq_open : Invalid argument

gcc - 在 GCC 中禁用 GOT

ios 10 应用程序在执行期间在内存中包含敏感数据

linux-kernel - 设备驱动程序代码在哪里执行?内核空间还是用户空间?

c++ - 将 GCC 内联汇编 CMOV 转换为 Visual Studio 汇编器

c++ - 使用 avr-g++ 的 8b uC 中的 32b 乘法与使用 gcc 的 X86 上的 32b 乘法

c++ - 编译 Sundance-4.73