Linux編程在終端里輸入命令馬上回車程序誕生
想知道到Linux編程系統(tǒng)的真相么,想知道Linux編程系統(tǒng)中藏有的內在奧義么,只有我來給大家全面講解介紹Linux編程系統(tǒng)今天,看了一下《Linux系統(tǒng)應用與開發(fā)教程》的“GCC的使用與開發(fā)”部分,自己接觸Linux編程也不短時間了,只不過真正弄懂Linux編程的東西還少,現在就來玩玩Linux編程。
Linux編程前兩天才安裝的Fedora 7.0正式版,啟動系統(tǒng)后,新建一個空文件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;
- }
再執(zhí)行生成命令,這次什么也沒提示,成功了,哈哈~~~接著當然是運行自己的***個Linux編程程序看看結果啦,在終端里輸入“helloworld”,噢,My god,提示沒有此命令。
明明程序就在當前目錄啊,看看書上怎么寫的,終于發(fā)現需要這樣寫命令“./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,百度了一下,看到別人使用的命令和我打的有點小小的不同,就是那個單引號,我打的是正規(guī)的英文單引號,而別人用的卻是向右斜的“單引號”,怎么那么奇怪?書上也是說使用一對反向單引號。
Linux編程我找不著什么反向單引號在哪輸入,就把別人的Copy過來,變成“gcc helloworld.c -o helloworld `pkg-config gtk+-2.0 --cflags --libs`”,復制命令到終端,回車,等了一會,***什么結果都沒有,呵呵,成功啦!
~~~原來真的是那個什么反向單引號的問題,我再試了一下鍵盤,還是找不著什么反向單引號。算了,不理,執(zhí)行***個Linux編程窗體程序看看,輸入“./helloworld”,回車,哈哈,窗體出來啦,只有一個很丑的按鈕,很小的窗體,差點找不著它出現在哪里,按***化更怪,因為那個按鈕也跟著變大了,哈哈~~~
***次Linux編程是這樣的失敗,呼!重啟回到Windows 2003,寫下這篇文章……(哦,對了,那個反向單引號在這個時候給我看到了,是一個非常少用的符號,也在一個非常少用的按鍵上面,就是鍵盤左上角Esc 鍵下面那個,這個叫反向單引號,哈哈~~~~)
【編輯推薦】