ubuntu建立C,C++,GTK等開發環境

本人想學習一下Linux下的C,C++程式開發,這幾天一直在研究Linux下的C語言編譯環境的建立,因為新裝好的Ubuntu裡面缺少函數庫檔案,所以無法編譯最簡單的C語言檔案,故要先配置一番,這幾天也有一點心得,寫下來和大家一起學習。 原來我以為安裝配置非常麻煩,後來發現在新立得的協助下很快就能配置好(前提你的源的網速比較快)。 我先安裝了一個新的Ubuntu7.10,然後按照Wiki裡的協助先配置好了源、IME、中文環境等。然後開始配置編譯環境。 1、配置GCC 剛裝好的系統中已經有GCC了,

Differences Between C++ Templates and C# Generics

C# Generics and C++ templates are both language features that provide support for parameterized types. However, there are many differences between the two. At the syntax level, C# generics are a simpler approach to parameterized types without the

VC10和C++ 0x (2) – auto

auto這個關鍵字來自C++ 98標準。在C++ 98中它沒有什麼作用,C++ 0x中“借用”它來作為自動類型推演(automatic type deduction)。當auto出現在聲明中時,它表示“請用初始化我的運算式類型作為我的類型”。例如下面代碼: C:/Temp>type autocat.cpp#include #include #include #include #include using namespace std;using namespace std::tr1;int

VC10和C++ 0x (3) – static_assert

static_assert斷言(assertion)是提高代碼品質的有效武器。C++標準庫中的assert, MFC中的ASSERT宏/VERIFY宏都是斷言的例子,它們的共同點是在運行時對程式狀態進行判斷,例如檢查函數的參數有效性,檢查類的不變式(invariant)等。而C++ 0x中的靜態斷言呢,和運行時的斷言不一樣,它是編譯時間執行檢查的。看下面的例子: // file: staticfluffykitten.cpptemplate struct Kitten

C&C++ library introduction(1)

一、概述函數庫是個概念,把幾個函數封裝成DLL或是LIB,就可以叫做函數庫。Run-Time Library是編譯器提供的標準庫,提供一些基本的庫函數和系統調用。我們一般使用的Run-Time Library是C Run-Time Libraries。當然也有Standard C++ libraries。C Run-Time Libraries用來處理C語言和作業系統之間的串連,為程式在特定的作業系統上的運行提供服務。不同作業系統上的標準庫的實現就是通過基於不同的Run-Time

C++記憶體回收機制

標準C++沒有記憶體回收機制的原因:1)      沒有共同基類C++是從C發展而成,允許直接操作指標,允許將一個類型轉換為另一個類型,對於一個指標無法知道它真正指向的類型;而Java或C#都有一個共同基類 2)      系統開銷記憶體回收所帶來的系統開銷,不符合C++高效的特性,使得不適合做底層工作 3)      耗記憶體C++產生的年代記憶體很少,記憶體回收機制需要佔用更多的記憶體 4)      替代方法C++C++有解構函式、智能指標、引用計數去管理資源的釋放,對GC的需求不迫切 

C&C++ library introduction(4)

c_string一、字元函數:islow/isupper:是否大小寫是否可列印字元isprint:所有isgraph:除空格外ispunct:除空格、字母、數字外,即標點符號isalnum:數字或字母isalpha:字母isdigit:數字isxdigit:16進位數字是否不可列印字元isblank:空格、水平定位字元isspace:空格、水平定位字元、垂直定位字元、換頁、斷行符號、換行,即空白字元iscntrl:控制字元字元操作函數tolower:返回對應的小寫字母toupper:返回對應的大

C&C++ library introduction(2)

流:程式員與物理裝置之間的一個抽象。文字資料流(可能發生字元轉換,如'/n'變為'/n/r')和二進位流。檔案:物理裝置,如:磁碟檔案、終端、印表機。所有的流是相同的,但檔案不是,流通過開啟操作與某個檔案聯絡起來。檔案流IO1.開啟:fopen:開啟檔案,並返回與該檔案相關的流。文本方式、二進位方式。讀、寫(產生、清除)、附加、讀寫(讀寫之間應清空緩衝)freopen:將現有流與一個檔案關聯。2.輸入:fgetc、getc:文本末尾EOF,二進位末尾feof()。fgets:直到換行或指定個數,

C&C++ library introduction(3)

標準流直接使用cin和cout,檔案流和字串流用建構函式。預設為文字資料流,若要使用二進位流在構造流的時候要使用ios::binary標誌。輸出資料流函數:ostream成員函數put:輸出一個字元write:寫入定長位元組的資料,常用於二進位流。seekp、tellp:隨機訪問,seekp指定位置,tellp返回當前位置。flush:清空緩衝區。輸入資料流:istream成員函數get:讀入一個或指定個數的字元。getline:讀入一行字元,去掉末尾的換行字元。read:讀入指定位元組數的資料

C#看似簡單7大錯誤解讀

     編程時犯錯是必然的,即使是一個很小的錯誤也可能會導致昂貴的代價,聰明的人善於從錯誤中汲取教訓,盡量不再重複犯錯,在這篇文章中,將重點介紹C#開發人員最容易犯的7個錯誤。  •   格式化字串  在C#編程中,字串類型是最容易處理出錯的地方,其代價往往也很昂貴,在.NET

VB提示:檔案未找到:’c:/windows/sytem32/ieframe.dll/1′的解決方案

VB提示:檔案未找到:'c:/windows/sytem32/ieframe.dll/1'的解決方案這個是由於ie7.0的bug引起的。 把以下內容做成一個註冊表檔案fixieframe.reg,匯入註冊表即可: Windows Registry Editor Version 5.00 [HKEY_CLASSES_ROOT/TypeLib/{EAB22AC0-30C1-11CF-A7EB-0000C05BAE0B}] [HKEY_CLASSES_ROOT/TypeLib/{EAB22AC0-30

c使用Lua函數(包含模糊參數)

有位網遊給我個題,叫我寫一個模糊參數的lua使用。感覺很有用途,因為c 函數與lua函數功能的統一,對c程式員編程是十分有利的。 對於函數參數是不定的,這種函數可能有些人並不清楚,但是卻在一直使用而不清楚其內幕。在program lua中有這樣的一章。這裡不給出了。現在先說下c++是如何模糊的。 都是使用過sprintf()函數。有些人可能c++用慣了可能沒用過sprintf()函數,這裡給個小例子回憶下當年c的情景。 cpp檔案:main.cpp------------------------

C#反射相關知識學習

1、C#反射是什嗎?Reflection,中文翻譯為反射。這是.Net中擷取運行時類型資訊的方式,.Net的應用程式由幾個部分:‘程式集(Assembly)’、‘模組(Module)’、‘類型(class)’組成,而反射提供一種編程的方式,讓程式員可以在程式運行期獲得這幾個組成部分的相關資訊,例如:

c#中get、set方法的使用

因為一直對這個很困惑,今天看了這篇文章,覺得解釋的很清楚,希望同樣對別人也很有協助。(實為轉載) C#語言有兩個函數--一個賦值函數(get),一個存取子(set),這從它產生的中繼語言代碼可以清晰地看到。C#不提倡將域的保護層級設為public而使使用者在類外任意操作--那樣太不OO,或者具體點說太不安全!對所有有必要在類外可見的域,C#推薦採用屬性來表達。屬性不表示儲存位置,這是屬性和域的根本性的區別。下面是一個典型的屬性設計: using System;class MyClass{int

C++之美(1)-巧妙的宏的運用

#define CREATE_TAB(pObj, id, classname) \    if(pObj == NULL) \    {\        pObj = new classname(this);\    }    \    pObj->Create(id, this);\    pObj->MoveWindow(0, 24, rc.Width(), rc.Height() - 24 - 40);\    pObj->ShowWindow(SW_SHOW);   

linux 用C語言獲得CPU的佔用率

2010-03-03 10:55 linux 用C語言獲得CPU的佔用率#include <stdio.h>#include <stdlib.h>#include <unistd.h>   //標頭檔struct occupy        //聲明一個occupy的結構體{char name[20];      //定義一個char類型的數組名name有20個元素unsigned int user; 

Android原生(Native)C開發之六:libpng移植筆記

 原文:http://blog.sina.com.cn/s/blog_4a0a39c30100b8w6.html libpng(http://www.libpng.org/)是讀取PNG(Portable Network

使用MFC序列化資料和C++對象

序列化資料 ——例子程式:Memo  建立一個新的單文檔 SDI 應用,視圖類選擇 CFormView,以便使用者可以在視窗中輸入。 在介面中建立三個編輯框,然後再添加三個相應的編輯框變數。這三個變數是視圖類的成員變數,為了互動資料,文檔類中也要建立三個對應的變數。然後,文檔類和視圖類都要對資料成員進行初始化操作,在文檔類中這個工作通常都在 OnNewDocument() 函數中進行。因為下面任何一個操作發生時都觸發文檔類 OnNewDocument()函數執行:當使用者啟動應用程式;

C#集合—-鏈表

LinkedList<T>集合類沒有非泛型集合的類似版本。LinkedList<T>是一個雙向鏈表,其元素指向它前面和後面的元素。 鏈表的優點是,如果將元素插入列表的中間位置,使用鏈表會非常快。在插入一個元素時,只需修改上一個元素的Next引用和下一個元素的Previous引用,使它們引用所插入的元素。在List<T>和ArrayList類中,插入一個元素,需要移動該元素後面的所有元素。

C++ 構造、析構的順序

 /*構造時:先成員,後建構函式,先基類後子類析構時與構造時完全相反順序。baseC()base()derivedC()derived()~derived()~derivedC()~base()~baseC()*/#include <iostream>using namespace std;class baseC{public:    baseC() { cout <<"baseC()"<<endl; }    ~baseC() { cout <<

總頁數: 4314 1 .... 2301 2302 2303 2304 2305 .... 4314 Go to: 前往

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.