如何扩展以下程序以在 Windows 上的 Cygwin 中显示基本 GUI 元素按钮?
#include <stdio.h>
int main(int argc, char **argv) {
printf("Hello, World!\n");
}
并编译并运行。
gcc hello.c -o hello.exe
./hello.exe
答案1
如果没有特定的 GUI 库,你就无法做到这一点,因为标准C99或C11没有定义任何。
顺便说一句,你应该使用gcc -Wall -g hello.c -o hello.exe
;进行编译您确实想要所有警告和调试信息。
您可能会考虑使用一些跨平台 GUI 库GTK或者库文件或(在 C++ 中)Qt。您需要在使用它之前安装它,当然还要传递附加参数gcc
(-I
源文件之前的几个指令,从高级到低级的几个-L
指令和库)。-l
请注意,参数的顺序gcc
很重要。您可能想使用GNU 使作为您的建造者,拥有您自己的Makefile
...
(我不了解Windows,我推荐Linux;也许某些系统提供的Windows GUI库可以从Cygwin使用)
然后你的程序将变成事件驱动的,事件循环通常由 GUI 库提供。它将变得更加复杂。
您可以(而不是桌面 GUI 方法)考虑使您的程序成为专门的 Web 服务器;然后你将使用一些 HTTP 服务器库(我知道利博尼翁,但它可能尚未移植到 Windows),并且您的程序将成为可通过浏览器使用的 Web 应用程序,并且还应该是事件驱动的。