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

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

Visual C++ 外掛程式

Visual Assist(強烈推薦)網址:http://www.wholetomato.com/功能:VA從5.0一直到現在的VAX,功能越來越強大,除了以前版本中的自動識別各種關鍵字,系統函數,成員變數,自動給出輸入提示,自動校正大小寫錯誤,自動標示錯誤等等以外,最新的版本中還在WorkSpace視窗中加入一個VA

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語言的結構跳轉 (goto / longjmp)

1)      gotogoto 只能在一個函數內跳轉。建議少用,使得程式維護起來容易出錯;但是,在有多個迴圈情況下跳轉,有時用goto可以使得問題變得簡單。  一個例子class A{public:A(){}~A(){}};            int main(){{                A a;                goto Label1;}Label1:cout<<”end”<<endl;return 0;}      2)     

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#中的where子句

where 子句用於指定類型約束,這些約束可以作為泛型聲明中定義的型別參數的變數。1.介面約束:例如,可以聲明一個泛型類 MyGenericClass,這樣,型別參數 T 就可以實現 IComparable<T> 介面:public class MyGenericClass<T> where T:IComparable {

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++測試架構的選擇

轉自: http://blog.whitejadesoft.com/?p=225轉自: http://www.cppblog.com/jinq0123/archive/2010/04/13/112430.html C++測試架構的選擇(金慶的專欄)本文以表格形式總結了 “Exploring the C++ Unit Testing Framework Jungle” (

向ATL DLL中傳遞C++對象

COM技術要求客戶機和伺服器高度的分離,這是通過介面實現的,但是問題出在:介面的方法中只提供了有限個參數資料類型,如果這個介面是基於 IDispatch的,參數類型的可選範圍就更加受到限制了,由於這些局限性,C++對象只有在滿足以下條件時才能夠傳遞:客戶機和伺服器都是由VC++編寫。 它們必須共用對象的定義(比如 標頭檔)。 傳遞應用程式設計的簡單的對象。 你的應用程式可能需要運行在一個分布式環境下。你希望COM的遠程活動,本地/遠程活動是透明的,安全的。

C++程式中調用exe可執行檔

當項目比較大的時候,通常會分開來開發,如果分開的部分只是一些函數或類,整合的時候 就可以使用靜態庫或動態庫。但如果分開的是一個exe檔案,整合的時候,就要通過調用exe檔案來使用。尤其是當第三方軟體是一個用c語言編寫的exe檔案時,更是需要如此。最近在我所開發的LCDS系統當中就碰到了這樣的問題。他需要調用一個分類器來處理資料,而手頭上的分類器是經典的C4.5決策樹分類器,它是用c語言寫的,沒有.h標頭檔,產生的是一個exe檔案,通過在命令列執行main函數來處理資料。如果想把其改成靜態庫或動態

VC10和C++ 0x (1) – lambda運算式

對CSDN的部落格排版實在是不敢恭維,我用WLW花了好幾個小時才翻譯完這篇部落格的第一部分,發布出來結果代碼部分錯亂不堪。又花了一刻鐘在CSDN的編輯器裡線上編輯重新排版,結果還是一個鳥樣!真受不了。 如果看著不爽的朋友可以看這裡:http://www.cnblogs.com/brucejia/archive/2009/09/05/1560675.html    【本文大部分內容譯自Visual C++ Team

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

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

C#中使用指標實現高效比較字串的小技巧

     

C++中的dynamic_cast

dynamic_cast有什麼用?實際上,dynamic_cast是ANSI C++中僅有的兩個與RTTI (Run Time Type Identification) 有關的用法之一。C++的類繼承,使得有時很難弄清楚你正在使用的object屬於哪個class,特別是當繼承樹比較深並且比較複雜的時候,例如,當你在程式中取得一個CWnd*指標,你的意圖是,如果它實際上指向一個dialog對象那麼就調用它的DoModal方法,這個時候,你就需要dynamic_cast: CWnd* pWin =

【轉一篇C++的dynamic_cast講的很明白的文章】C++中的dynamic_cast

(博主按:多年編寫“C++”代碼,今天頭一次想起來還有dynamic_cast這個東西,從來沒有用過。大概在網上學了下,找到這篇不錯的文章。另外,想不起來在哪裡用dynamic_cast合適,嗯。)—————————————————以下是引用—————————————————————————————引用地址(貌似連結失效了):http://skywalkerj.spaces.live.com/blog/cns!49c467f1b758d6fc!146.entry?sa=20850098轉載的轉載

總頁數: 4314 1 .... 1355 1356 1357 1358 1359 .... 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.