當前位置:首頁 » 編程軟體 » gnome編程

gnome編程

發布時間: 2023-04-10 08:10:51

⑴ 在linux系統上使用c語言編程 - Hello World

C語言和 Linux 系統密切相關,因此在Linux系統上用C編程是一件非常自然的事。大部分的Linux kernel是用C寫的,很多用戶程序也是用C寫的,比如GTK(Gnome和XFCE使用的圖形庫)。很多嵌入式系統和主機系統也是用C寫的。因此,學習C將使我們具備解決Linux系統問題的能力。

C語言有40多年的 歷史 ,由Brian Kernighan, Dennis Ritchie 和 Ken Thompson 在貝爾實驗室創建。最初的操作系統Unix是用匯編語言編寫的,因此有很多不便,當將Unix移植到PDP-11主機時,C語言被作為重新改寫Unix系統的程序語言。1978年,Kernighan 和 Ritchie 編寫了 「The C Programming Language」,推薦您閱讀它。

C語言的編譯過程如下:

在Linux上檢查編譯器的安裝:

gcc -v

ld -v

第一個C語言程序:0001.hello.world.c

----------------------------------

#include

int main()

{

printf("Hello, world! ");

return 0;

}

--------------------------------------

編譯:

gcc -o ./exes/0001.hello.world 0001.hello.world.c

運行

./exes/0001.hello.world

⑵ ubuntu linux的四個版本有什麼區別詳細

Ubuntu Kylin:是一個專門為中文用戶定製的Ubuntu版本,預置了大量中國用戶熟悉的應用,是開箱即用的Ubuntu官方中國定製版本,適合中國用戶使用。

Ubuntu Studio:個為專業多媒體製作而打造的Ubuntu版本,可以編輯和處理音頻、視頻和圖形圖像等多媒體文件。

Ubuntu desktop:是官方桌面版本的標准版,是現在用戶范圍最廣泛的。

Ubuntu server :是Ubuntu的伺服器版沒有桌面環境,只有命令行,主要應用於大型伺服器。

(2)gnome編程擴展閱讀:

ubuntu linux基本命令:

1.根目錄:一般根目錄下只存放目錄,在Linux下有且只有一個根目錄。所有的東西都是從這里開始。當你在終端里輸入「/home」,你其實是在告訴電腦,先從/(根目錄)開始,再進入到home目錄

2.bin: /usr/bin: 可執行二進制文件的目錄,如常用的命令ls、tar、mv、cat等。

3.boot:放置linux系統啟動時用到的一些文件,如Linux的內核文件:/boot/vmlinuz,系統引導管理器:/boot/grub。

4.dev:存放linux系統下的設備文件,訪問該目錄下某個文件,相當於訪問某個設備,常用的是掛載光碟機 mount /dev/cdrom /mnt。

5.etc:系統配置文件存放的目錄,不建議在此目錄下存放可執行文件,重要的配置文件有 /etc/inittab、/etc/fstab、/etc/init.d、/etc/X11、/etc/sysconfig、/etc/xinetd.d。

6.home:系統默認的用戶家目錄,新增用戶賬號時,用戶的家目錄都存放在此目錄下,~表示當前用戶的家目錄,~e 表示用戶 e 的家目錄。

7.lib: /usr/lib: /usr/local/lib:系統使用的函數庫的目錄,程序在執行過程中,需要調用一些額外的參數時需要函數庫的協助。

⑶ ubuntu C編程有沒有獲取gnome窗口大小的函數

安裝dev-help吧。肯定有。只宏咐是源碼握答都丟了。以前做過截屏等程序蔽皮純。
dev裡面搜索xwin類似的函數,一層一層找。

⑷ 如何基於ubuntu定製自己 發行版

UbuntuLinux四個版本KDE、Gnome、Cinnamon和XFCE。一物皮昌、KDE4自最初的4.0版本以來,KDE已取得了長足發展。不僅更加穩定了,而且外觀變得更漂亮了,這歸功於KWin窗口管理器帶來的流暢的動畫效果和出色的合成支持。在安裝這些替代的桌面時有好幾條路可以走,可以通過下面這幾種方法來安裝:sudoapt-getinstallkde-plasma-desktop--如果只想打量一番,只需安裝帶極少應用程序的KDEPlasma桌面;sudoapt-getinstallkde-standard--安裝Plasma桌面和標準的KDE應用程序(gedit、Konqueror、KMail、Dolphon和Konsole等);sudoapt-getinstallkde-full--為我提供程序庫中與KDE有關的一切內容(注意:這個過程要花點時間,上一次檢查的程序庫大罩扒小超過1.2GB);sudoapt-getinstallkde-plasma-netbook--在此添加純粹是為了力求完整。不過,顧名思義,這是最基本的上網本安裝。一握稿旦這一切安裝完畢,登錄後,會看到諸如此類的界面:二、GnomeUnity與Gnome3有諸多共同之處(包括使用方面和代碼庫方面),但是沒有像Fedora那樣全盤照搬"GnomeShell"。如果喜歡這種外觀,並且想在Ubuntu中試一下,可以通過這幾個法做到這一點:sudoapt-getinstallubuntu-gnome-desktop--與KDE一樣,會提供Gnome3Shell體驗,無須安裝許多專門針對Gnome的程序包。sudoapt-getintallubuntu-gnome-desktopubuntu-gnome-default-settings--這里要小心,當程序包安裝完畢後,如果打算使用GnomeShell,就要確保選擇GDM顯示管理器。注意:如果想為Gnome3安裝一切,就算進行了全面安裝,也會缺少幾項內容。添加下列命令,以獲得GnomeDocuments和GnomeBoxes應用程序:sudoapt-getinstallgnome-documentsgnome-boxes幾分鍾過後,會看到這個外觀相當漂亮的桌面:三、Cinnamon當Gnome3和GnomeShell推出時,一大批人對界面上與Gnome2發生天翻地覆的變化深表不安。於是,許多昔日的Gnome編程員開發出了Cinnamon,這個桌面基本上實現了Gnome2界面和兼容性庫。除了在外觀和工作流程上酷似Gnome2外,對視頻硬體的要求低一點,還支持第三方合成--即Compiz,這個窗口管理器將提供那些花哨的桌面效果。將Cinnamon安裝在Ubuntu中實際上非常容易,但有點不一樣,要添加第三方程序庫;只需要遵照這些步驟,就可以讓順利安裝Cinnamon。sudoadd-apt-repositoryppa:gwendal-lebihan-dev/cinnamon-stable--這將把Cinnamon的"穩定"分支添加到程序庫列表。還可以通過UbuntuSoftwareCenter應用程序來添加該穩定分支。sudoapt-getupdate--拉入剛添加的程序庫的索引;sudoapt-getinstallcinnamon--這將為Cinnamon安裝桌面環境,大多數底層應用程序已安裝,還有在默認情況下需要的所有兼容性庫。四、XFCEXFCE是最干凈、耗用系統資源最少的桌面、最容易安裝的系統。安裝步驟如下:sudoapt-getinstallxubuntu-desktop--按這種方法安裝會提供全面的XubuntuXFCE體驗,提供了帶有品牌的背景和默認的應用程序。sudoapt-getinstallxfce4--這個選項為提供了與發行版無關的XFCE桌面,不管選擇哪個發行版;之前Ubuntu11.04中存在的沖突已得到了解決。

⑸ GTK和GNOME之間到底是什麼關系

gtk 是 一個 圖形界面編程介面, gnome 利用這個編程介面來實現圖形界啟神察面 打個粗淺的比方,gtk 是畫悄茄布、畫筆和顏瞎畢料,gnome 是用這些畫布、畫筆和顏料畫出的作品

⑹ 求助,Linux下如何用C++編程創建一個窗體

做界面,你要學習界面庫,linux 下比較出名的界面庫就是GTK,QT和wxWidgets,自己google下吧,建議學習GTk,整個gnome就是用它做出來的。
本人學的是wxWidgets,就以它為例了。
#include <wx/app.h>
#include <wx/image.h>
#include <答搭者wx/msgdlg.h>
#include <wx/string.h>
#include <wx/intl.h>
#include <wx/menu.h>
#include <wx/statusbr.h>
#include <wx/枝巧frame.h>
//*)
class SampleApp : public wxApp
{
public:
virtual bool OnInit();
};
IMPLEMENT_APP(SampleApp);
bool SampleApp::OnInit()
{
/清薯/(*AppInitialize
bool wxsOK = true;
wxInitAllImageHandlers();
if ( wxsOK )
{
SampleFrame* Frame = new SampleFrame(0);
Frame->Show();
SetTopWindow(Frame);
}
return wxsOK;
}
class SampleFrame: public wxFrame
{
public:
SampleFrame(wxWindow* parent,wxWindowID id = -1);
virtual ~SampleFrame();
private:
//(*Handlers(SampleFrame)
void OnQuit(wxCommandEvent& event);
void OnAbout(wxCommandEvent& event);
//*)
//(*Identifiers(SampleFrame)
static const long idMenuQuit;
static const long idMenuAbout;
static const long ID_STATUSBAR1;
//*)
//(*Declarations(SampleFrame)
wxStatusBar* StatusBar1;
//*)
DECLARE_EVENT_TABLE()
};
//(*IdInit(SampleFrame)
const long SampleFrame::idMenuQuit = wxNewId();
const long SampleFrame::idMenuAbout = wxNewId();
const long SampleFrame::ID_STATUSBAR1 = wxNewId();
//*)
BEGIN_EVENT_TABLE(SampleFrame,wxFrame)
//(*EventTable(SampleFrame)
//*)
END_EVENT_TABLE()
SampleFrame::SampleFrame(wxWindow* parent,wxWindowID id)
{
//(*Initialize(SampleFrame)
wxMenuItem* MenuItem2;
wxMenuItem* MenuItem1;
wxMenu* Menu1;
wxMenuBar* MenuBar1;
wxMenu* Menu2;

Create(parent, id, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxDEFAULT_FRAME_STYLE, _T("id"));
MenuBar1 = new wxMenuBar();
Menu1 = new wxMenu();
MenuItem1 = new wxMenuItem(Menu1, idMenuQuit, _("Quit\tAlt-F4"), _("Quit the application"), wxITEM_NORMAL);
Menu1->Append(MenuItem1);
MenuBar1->Append(Menu1, _("&File"));
Menu2 = new wxMenu();
MenuItem2 = new wxMenuItem(Menu2, idMenuAbout, _("About\tF1"), _("Show info about this application"), wxITEM_NORMAL);
Menu2->Append(MenuItem2);
MenuBar1->Append(Menu2, _("Help"));
SetMenuBar(MenuBar1);
StatusBar1 = new wxStatusBar(this, ID_STATUSBAR1, 0, _T("ID_STATUSBAR1"));
int __wxStatusBarWidths_1[1] = { -1 };
int __wxStatusBarStyles_1[1] = { wxSB_NORMAL };
StatusBar1->SetFieldsCount(1,__wxStatusBarWidths_1);
StatusBar1->SetStatusStyles(1,__wxStatusBarStyles_1);
SetStatusBar(StatusBar1);

Connect(idMenuQuit,wxEVT_COMMAND_MENU_SELECTED,(wxObjectEventFunction)&SampleFrame::OnQuit);
Connect(idMenuAbout,wxEVT_COMMAND_MENU_SELECTED,(wxObjectEventFunction)&SampleFrame::OnAbout);
//*)
}
SampleFrame::~SampleFrame()
{
//(*Destroy(SampleFrame)
//*)
}
void SampleFrame::OnQuit(wxCommandEvent& event)
{
Close();
}
void SampleFrame::OnAbout(wxCommandEvent& event)
{
wxString msg = wxT("This is a sample windows!");
wxMessageBox(msg, _("Welcome to..."));
}

⑺ linux 下的c語言編程

一、工具的使用
1、學會使用vim/emacs,vim/emacs是linux下最常用的源碼編輯具,不光要學會用它們編輯源碼,還要學會用它們進行查找、定位、替換等。新手的話推薦使用vim,這也是我目前使用的文本編輯器。
2、學會makefile文件的編寫規則,並結合使用工具aclocal、autoconf和automake生成makefile文件。
3、掌握gcc和gdb的基本用法。掌握gcc的用法對於構建一個軟體包很有益處,當軟體包包含的文件比較多的時候,你還能用gcc把它手動編譯出來,你就會對軟體包中各個文件間的依賴關系有一個清晰的了解。
4、掌握svn/cvs的基本用法。這是linux,也是開源社區最常用的版本管理系統。可以去試著參加sourceforge上的一些開源項目。
二、linux/unix系統調用與標准C庫
系統調用應用軟體與操作系統的介面,其重要性自然不用說,一定要掌握。推薦學習資料為steven先生的UNIX環境高級編程(簡稱APUE)。
三、庫的學習
無論是在哪個平台做軟體開發,對於庫的學習都很重要,linux下的開發庫很多,我主要介紹一下我常常用到的一些庫。
1、glib庫
glib 庫是gtk+和gnome的基礎庫,並具是跨平台的,在linux、unix和windows下都可以用。glib庫對於linux平台開發的影響就像 MFC對windows平台開發的影響一敗高樣,很多開源項目都大量的使用了glib庫,包括gimp、gnome、gaim、evolution和 linux下的集群軟體heartbeat.因為glib庫自帶有基本的數據結構實現,所以在學習glib庫的時候可以順便學習一下基本的數據結構(包括鏈表、樹、隊列和hash表)。
2、libxml庫
libxml是linux平台下解析XML文件的一個基礎庫,現在很多實用軟體都用XML格式的配置文件,所以也有必要學習一下。
3、readline庫
readline 庫是bash shell用的庫,如果要開發命令行程序,那麼使用readline庫可以減少很多工作量,比如bash里的命令行自動補全,在readline里就已經有實現,當然你也可以用自己的實現替代庫的行為。readline庫有很多網站介紹的,只要google一下readline就可以找到一堆了。
4、curses庫
curses 庫以前是vi程序的一部分,後來從vi里提取出來成為一個獨立的庫。curses庫對於編寫終端相關的程序特別有用,比如要在終端某一胡判行某一列定位輸出,改變終端字體的顏色和終端模式。察做尺linux下的curses庫用的是GNU實現的ncurses(new curses的意思)。
5、gtk+和KDE庫
這兩個庫是開發GUI應用程序的基礎庫,現在linux下的大部份GUI程序都是基於這兩個庫開發的,對於它們 的學習也是很有必要的。
四、網路的學習

⑻ linux系統下用什麼開發工具進行C,C++,編程

編輯器有vi joe emacs和gedit kwirte等
emacs hello.c 編寫代碼
編譯器是gcc g++
gcc hello.c
g++ hello.cpp
調試器 gdb
執行程序
./a.out

⑼ Centos7桌面左上角菜單編程活動了,怎麼變回來

關機,重啟,登陸的時候先不要輸入密碼,在登陸按鈕的左邊有個齒輪按鈕,點這個齒輪按鈕,在裡面選「gnome經典模式」,再輸入密碼進入。就變回原來的了

熱點內容
安卓手機語音操作在哪裡開啟 發布:2025-07-15 12:18:49 瀏覽:283
安卓導航儀上網卡插哪裡 發布:2025-07-15 12:01:58 瀏覽:453
把文件編譯成數據 發布:2025-07-15 11:53:16 瀏覽:542
mt4如何修改密碼 發布:2025-07-15 11:53:16 瀏覽:215
2021思域新款買哪個配置 發布:2025-07-15 11:33:24 瀏覽:772
路由搭建http伺服器 發布:2025-07-15 11:26:45 瀏覽:724
消遣解壓 發布:2025-07-15 11:26:43 瀏覽:393
ICL編譯 發布:2025-07-15 11:26:32 瀏覽:665
快看吧交易密碼多少 發布:2025-07-15 11:26:26 瀏覽:483
星途買哪個配置啊 發布:2025-07-15 11:14:35 瀏覽:522