想知道到Linux编程系统的真相么,想知道Linux编程系统中藏有的内在奥义么,只有我来给大家全面讲解介绍Linux编程系统今天,看了一下《Linux系统应用与开发教程》的“GCC的使用与开发”部分,自己接触Linux编程也不短时间了,只不过真正弄懂Linux编程的东西还少,现在就来玩玩Linux编程。
Linux编程前两天才安装的Fedora 7.0正式版,启动系统后,新建一个空文件helloworld.c,敲入程序初学者使用的最简单程序代码(虽然我学C已经有两年多了^_^)
- #include<stdio.h>
- void main()
- {printf("Hello World!"n");}
Linux编程保存后在终端里输入命令“gcc helloworld.c -o helloworld”,马上回车,心想自己的***个Linux编程程序就要诞生了,噢,My god,谁知出来的是错误提示,说main函数没有返回int型,但上面的代码在VC里是可行的。无办法,改为
- #include<stdio.h>
- int main()
- {
- printf("Hello World!"n");
- return 0;
- }
再执行生成命令,这次什么也没提示,成功了,哈哈~~~接着当然是运行自己的***个Linux编程程序看看结果啦,在终端里输入“helloworld”,噢,My god,提示没有此命令。
明明程序就在当前目录啊,看看书上怎么写的,终于发现需要这样写命令“./helloworld”,回车,终于打印出 “Hello World!”了。虽然自己写程序将近三年,但在Linux编程上连打印“Hello World!”还是遇到麻烦,这就是没有动手的原因。
接着写个有意思点的——窗体程序,按照书上使用GTK+,把helloworld.c代码改成
- #include<gtk/gtk.h>
- void on_btn_clicked(GtkWidget *widget, gpointer data)
- {
- g_print("Hello World!"n");
- }
- void on_delete(GtkWidget *widget, GdkEvent *event, gpointer data)
- {
- g_print("Window Closed."n");
- gtk_main_quit();
- }
- int main(int argc, char *argv[])
- {
- GtkWidget *window;
- GtkWidget *button;
- gtk_set_locale();
- gtk_init(&argc, &argv);
- window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
- gtk_container_set_border_width(GTK_CONTAINER(window), 10);
- g_signal_connect(G_OBJECT(window), "delete_event", G_CALLBACK(on_delete), NULL);
- button = gtk_button_new_with_label("Hello World");
- g_signal_connect(G_OBJECT(button), "clicked", G_CALLBACK(on_btn_clicked), NULL);
- gtk_container_add(GTK_CONTAINER(window), button);
- gtk_widget_show_all(window);
- gtk_main();
- return 0;
- }
全是那么长的函数名,还有那么多的下划线,看了有点眼花,终于自己打错了两个单词,经编译时才提示的。当我打好代码后,按照书上所说的命令“gcc helloworld.c -o helloworld 'pkg-config gtk+-2.0 --cflags --libs'”。
回车后却提示什么无“pkg-config gtk+-2.0 --cflags --libs”,摸不着头脑,书上说输入“pkg-config gtk+-2.0 --cflags --libs”可以检查它的输出结果,输入回车确实出来一堆字符,有什么用不知道。再试上面的编译命令,还是同样的错误,怎么回事?
是不是书上排版写错命令了?马上打开Firefox,百度了一下,看到别人使用的命令和我打的有点小小的不同,就是那个单引号,我打的是正规的英文单引号,而别人用的却是向右斜的“单引号”,怎么那么奇怪?书上也是说使用一对反向单引号。
Linux编程我找不着什么反向单引号在哪输入,就把别人的Copy过来,变成“gcc helloworld.c -o helloworld `pkg-config gtk+-2.0 --cflags --libs`”,复制命令到终端,回车,等了一会,***什么结果都没有,呵呵,成功啦!
~~~原来真的是那个什么反向单引号的问题,我再试了一下键盘,还是找不着什么反向单引号。算了,不理,执行***个Linux编程窗体程序看看,输入“./helloworld”,回车,哈哈,窗体出来啦,只有一个很丑的按钮,很小的窗体,差点找不着它出现在哪里,按***化更怪,因为那个按钮也跟着变大了,哈哈~~~
***次Linux编程是这样的失败,呼!重启回到Windows 2003,写下这篇文章……(哦,对了,那个反向单引号在这个时候给我看到了,是一个非常少用的符号,也在一个非常少用的按键上面,就是键盘左上角Esc 键下面那个,这个叫反向单引号,哈哈~~~~)
【编辑推荐】