日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

使用C语言进行面向对象的开发--GObject入门[2]

發(fā)布時(shí)間:2025/3/15 编程问答 14 豆豆
生活随笔 收集整理的這篇文章主要介紹了 使用C语言进行面向对象的开发--GObject入门[2] 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

轉(zhuǎn)載請注明出處 blog.csdn.net/pingf0 或www.cnblogs.com/pingf“

?

PART 2.

在正式開始GObject的學(xué)習(xí)之前,還要簡單提一下大名鼎鼎的建立在GObject系統(tǒng)之上的桌面圖形庫Gtk,先來個(gè)最簡單的程序看看。

#include <gtk/gtk.h>


int main( int argc, char *argv[])

{

GtkWidget *window;


gtk_init(&argc, &argv);


window = gtk_window_new(GTK_WINDOW_TOPLEVEL);

gtk_widget_show(window);


gtk_main();


return 0;

}

這段代碼的作用其實(shí)就是顯示一個(gè)啥都沒有的窗口。

有些剛接觸gtk的人覺得gtk的函式名總是很長,其實(shí)也是有它的原因的,后面再說。


如果我們將上面代碼中的Gtk,gtk,GTK去掉,似乎會簡明不少。

其實(shí)就是 聲明window(窗口),new一個(gè)window,顯示window 三步,當(dāng)然最后進(jìn)入一個(gè)循環(huán) gtk_main 中。


除了函數(shù)名長了些之外,不難發(fā)現(xiàn)大小寫,下劃線的組合還蠻多的,這也是挺麻煩事情。


下面就這些冗長而又麻煩的事情,簡單加以說明(就是我個(gè)人的理解…….XD),


GTK(不分大小寫)其實(shí)就是表明了這個(gè)函式是gtk庫提供的,它表明的是一個(gè)域,就像System.out.***之類,前面的一堆寫起來也是挺麻煩的一樣。


而大小寫和下劃線的搭配下面舉例來說

GtkWindow 用于對象[構(gòu)件]的聲明

GTK_WINDOW 用于對象類型的轉(zhuǎn)換

gtk_window_*** 用于與對象相關(guān)的函式的聲明


這樣的規(guī)則不是gtk說了算的,而是GType,GObject決定的,轉(zhuǎn)而言之,一般的基于Glib的庫都采用這樣的規(guī)則,比如進(jìn)來很流行的2.5D桌面圖形庫Clutter,里面構(gòu)件的聲明也遵循此規(guī)則。

如果想玩下Clutter,但又不懂linux,可以參考下面這篇博文,在win32上搭建Clutter的開發(fā)環(huán)境。

http://www.cnblogs.com/pingf/archive/2009/10/27/1590419.html


下面簡單說下GObject實(shí)現(xiàn)的一些面向?qū)ο蟮臋C(jī)制(當(dāng)然都是模擬的),


類型機(jī)制,

繼承,

接口,

函式調(diào)用(普通,虛,純虛,當(dāng)然這需要你自己來理解),

類型轉(zhuǎn)化(靜態(tài),動(dòng)態(tài),基礎(chǔ)類型),

類型檢測,

屬性機(jī)制,

信號機(jī)制(signal,closure,accumulator…..)

。。。。。。


有很多東西其實(shí)平時(shí)是用不到滴【其實(shí)是目前我還沒搞明白】,所以下面的代碼集中說明如下一些東西

繼承,

接口,

函式調(diào)用(普通,虛,純虛)

函式(普通的,虛的)

信號機(jī)制(signal)

類型轉(zhuǎn)化(靜態(tài))【動(dòng)態(tài)的簡單看了下,有時(shí)間的話也會寫點(diǎn)……XD】

類型檢測

屬性機(jī)制

?

*未完待續(xù)*

?

?

?

?

轉(zhuǎn)載于:https://www.cnblogs.com/pingf/archive/2009/11/20/1606616.html

總結(jié)

以上是生活随笔為你收集整理的使用C语言进行面向对象的开发--GObject入门[2]的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。