我正在为我的PC开发一个迷你操作系统,我想知道是否有可能在C中创建一个使用GUI的迷你操作系统,以及是否有可能使用grub编译它?我不知道我应该使用什么库,或者是否有可能。
我尝试了从ChatGPT生成的代码,但它不让我编译它。
#include <gtk/gtk.h>
int main(int argc, char *argv[]) {
gtk_init(&argc, &argv);
GtkWidget *window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
gtk_window_set_title(GTK_WINDOW(window), "GUI Bootloader");
gtk_window_set_default_size(GTK_WINDOW(window), 300, 200);
GtkWidget *label = gtk_label_new("Welcome to the bootloader!");
GtkWidget *button = gtk_button_new_with_label("Boot");
GtkWidget *box = gtk_box_new(GTK_ORIENTATION_VERTICAL, 5);
gtk_box_pack_start(GTK_BOX(box), label, TRUE, TRUE, 0);
gtk_box_pack_start(GTK_BOX(box), button, TRUE, TRUE, 0);
gtk_container_add(GTK_CONTAINER(window), box);
g_signal_connect(G_OBJECT(window), "destroy", G_CALLBACK(gtk_main_quit), NULL);
g_signal_connect(G_OBJECT(button), "clicked", G_CALLBACK(gtk_main_quit), NULL);
gtk_widget_show_all(window);
gtk_main();
return 0;
}
我试图安装库GTK,但没有工作。
1条答案
按热度按时间bejyjqdl1#
有没有办法在没有任何操作系统的情况下用C创建GUI应用程序?
不能。使复杂的硬件工作的软件叫做操作系统。你必须使用现有的操作系统或者提供你自己的操作系统。
对于非常简单的硬件,你可以编写执行专门任务的软件,我们可能不把这样的软件称为操作系统。然而,对于在典型的通用计算机上运行并管理磁盘驱动器、显示器、键盘等的软件,我们将把该软件或至少其中的一部分称为操作系统。必须有一些管理中断的软件,管理发送到设备和从设备发送的数据,等等。