C標準中的一些預定義宏

昨天寫代碼時需要在代碼擷取當前編譯時間,從而可動態地作為版本資訊,因此用到了C標準中的一些預定義的宏。在此將C標準中定義的幾個宏一併總結一下: __DATE__ 進行預先處理的日期(“Mmm dd yyyy”形式的字串文字,如May 27 2006) __FILE__ 代表當前原始碼檔案名稱的字串文字 ,包含了詳細路徑,如G:/program/study/c+/test1.c__LINE__ 代表當前原始碼中的行號的整數常量 __TIME__ 源檔案編譯時間,格式微“hh:mm:ss”,如:09

讀書筆記之:C與指標

第2章 基本概念1.

讀書筆記之:C程式設計-現代方法

《C程式設計-現代方法》這本C語言書是一本不錯的C語言的書。其中的講解挺有條理,並且每章後面的釋疑部分真的解答了我的很多疑問。第2章 C語言基本概念1. 在某些C語言的書中,main函數的結尾使用的是exit(0),而不是return 0,二者是否一樣?    當出現在main函數中時,這兩種語句是完全等價的:二者都終止程式執行,並且向作業系統返回0值.2. float類型的名字是由何而來的?   float是floating-point的縮寫形式.有些語言中稱為real類型第3章 格式化輸入/

從底層彙編理解 c++ 引用實現機制 (轉+增加)

  參考:http://blog.csdn.net/wanwenweifly4/article/details/6739687紅色是我添加的,其他地方是原作者的。主要是看了上面的這篇“從底層彙編理解 c++ 引用實現機制“的文章之後,覺得不錯。就轉了過來,同時,對文中的程式都在自己的機器上驗證了一下。使用的G++版本:g++ (GCC) 4.5.1 20100924如果要查看彙編後代碼與源碼的關係,我用的方法是:先用g++產生帶有調試資訊的目標檔案:g++ -g -c

linux下C程式printf沒有立即輸出的問題及我的Makefile檔案

昨天在linux下運行一個C程式,是處理一段視頻中的每一幀的,本來在程式中是要每處理完一幀就要輸出一條資訊的,但是在運行是卻不顯示,而是在程式運行完成之後一塊輸出的,但是在windows中運行程式就沒有這個問題。如果是這樣的話,就非常不爽了,因為本來是想通過程式的輸出來得到程式當前的健全狀態,現在卻達不到這種效果。然後上網上搜尋了一下,看來果然有解決方案。存在這個問題的主要原因就是在調用printf輸出資訊後,程式並不是立即輸出,而是將其輸出到了緩衝中,所以,我們要做的就是在printf之後立即

C語言中將結構體寫入檔案

 可以使用fwrite()將一個結構體寫入檔案:  fwrite(&some_struct,sizeof

讀書筆記之:C專家編程

第1章 C:穿越時空的迷霧1.  C語言史前階段B 語言通過省略一些特性(如過程嵌套和一些迴圈結構),對BCPL語言做了 簡化,並發揚了"引用數組元素相當於對指標加位移量的引用"這個想法。B語言同時保持了BCPL語言無類型這個特點,它僅有的運算元就是機器字。 Thomposoon發明了++和--操作符,並把它加入到PDP-7的B編譯器中。2.

讀書筆記之:C/C++代碼精髓

這是閱讀 《C/C++代碼精髓》的記錄。這本書其實更偏向於講解C++中的相關知識。也介紹了很多C與C++的區別聯絡。第1章 更好的C1.簡介  C++是一個混合語言,它將物件導向特徵與系統程式設計語言混合在一起。  C語言的相容性是C++設計的一個主要的目標,1989年Bjarne在ANSI C++委員會的主題演講中提到,C++是“工程上的妥協”,並且必須使它“越接近C越好,但不能過度”。 

C/C++語言中const的用法

1. const 在C和C++中的區別 C++中的const正常情況下是看成編譯期的常量,編譯器並不為const分配空間,只是在編譯的時候將期值儲存在名字表中,並在適當的時候摺合在代碼中. 所以在C++中const修飾的量可以用在數組的定義中。 而在C中,const是一個不能被改變的普通變數,既然是變數,就要佔用儲存空間,所以編譯器不知道編譯時間的值.而且,數組定義時的下標必須為常量. 在C語言中: const int size;

讀書筆記之:C++大學教程(第2版)

這是《C++大學教程》第2版的一些記錄。第二版顯得比較舊,具體時間我沒有查到,從其中的內容看來應該是C++標準推出之前。1. C++中擷取隨機數srand函數只要在程式中調用一次即可得到所需要的隨機化結果,多次調用是多餘的,會降低程式效能。由rand函數直接產生的值總是取值為:0<<rand()<<RAND_MAX常見錯誤:用srand函數代替rand函數產生隨機數是個語法錯誤,因為srand函數不傳回值。2.

讀書筆記之:你必須知道的495個C語言問題

《你必須知道的495個C語言問題》這本書中列出了495個C語言中的問題,這些問題都比較都代表性,這是真實的有人提出的問題,然後作者給出瞭解答。這個有對應的網站:http://c-faq-chn.sourceforge.net/2.12 怎樣向資料檔案讀寫結構體  使用fwrite()編寫結構相對簡單  fwrite(&some_struct,sizeof somestruct,1,fp); 

讀書筆記之:C語言核心技術

第1章 C語言基礎1.

C/C++一些問題的理解

1. 關鍵字volatile有什麼含意?並給出三個不同的例子。 一個定義為volatile的變數是說這變數可能會被意想不到地改變,這樣,編譯器就不會去假設這個變數的值了。精確地說就是,最佳化器在用到這個變數時必須每次都小心地重新讀取這個變數的值,而不是使用儲存在寄存器裡的備份。下面是volatile變數的幾個例子:(1)平行裝置的硬體寄存器(如:狀態寄存器)(2)一個中斷服務子程式中會訪問到的非自動變數(Non-automatic variables)(3)

讀書筆記之:C++ Cookbook

這本書不是針對初學者的,這本書主要是講解如何使用一些現成的類庫,主要是C++標準庫和Boost庫第1章 建立C++應用程式1. 編譯,連結,靜/動態庫2.編譯器3. GNU編譯器集(GCC)4.Visual C++5.intel編譯器6. Metrowerks編譯器7.Borland編譯器8. Comeau 編譯器9.Digital Mars 編譯器10. Cygwin與MinGW11. 編譯連結命令12. 動態連結程式庫第2章 代碼結構2.2

C語言中函數參數入棧的順序

先通過一個小程式來看一看: #include void foo(int x, int y, int z) { printf("x = %d at [%X]n", x, &x); printf("y = %d at [%X]n", y, &y); printf("z = %d at [%X]n", z, &z); } int main(int argc, char *argv[]) { foo(100, 200,

讀書筆記之:C++Primer 第4版(ch1-11)

第一章 快速入門1. endl是一個操縱符,它可以重新整理與裝置相關聯的緩衝區。第二章 變數和基本類型C++中的保留字 1. 初始化和賦值是不同的。   C++中進行初始化的方法包括複製初始化和直接初始化。   在內建類型上,這兩種方式基本上沒有什麼差別。   但是,在自訂的類類型上,還是有很大差別的,有時候只能使用直接初始化。2. 定義與聲明  定義為變數分配空間,聲明向程式表明變數的類型和名字。定義也是聲明:當我們定義變數時,我們就聲明了它的類型和名字。  比如:  extern int

讀書筆記之:C++Primer 第4版(ch12-14)

第12章 類1. 建構函式 類的建構函式一般使用一個初始化列表來初始化對象的資料成員。2.

C++中的繼承與虛函數各種概念

/Files/xkfz/為什麼採用虛函數virtual.pptC++中的繼承與虛函數各種概念 虛繼承與一般繼承虛繼承和一般的繼承不同,一般的繼承,在目前大多數的C++編譯器實現的物件模型中,衍生類別對象會直接包含基類對象的欄位。而虛繼承的情況,衍生類別對象不會直接包含基類對象的欄位,而是通過一個間接的指標去存取基類對象中的欄位。 繼承的特性 繼承是物件導向中引入的重要特性之一,它的一個重要的特點就是子類是父類,父類不是子類。也就是說:    1. 如果基類指標指向子類對象(pbase=&

讀書筆記之:C++ Primer Plus(第5版)

這本書確實不錯,非常推薦看一看。第1章 預備知識1. C++ 簡史Pascal語言是1968年推出的,C是1969年推出的。這兩種語言都是結構化編程的典範。2. C++與通用編程3. C++起源4. 可移植性與標準第2章 開始學習C++1. 變數聲明2.

讀書筆記之:C++ 程式設計語言(特別版)

C++ 程式設計語言(特別版),這本書800多頁,講得很詳細。因為是C++的創立者所寫,所以對於裡邊的很多C++特徵的來曆都給出的介紹。非常值得一讀。分為3部分,第一部分是C++的C子集,第2部分是C++中的物件導向程式設計,第3部分就是C++的標準庫,還有一部分是介紹如何使用C++進行項目開發。第1章 導論1. C++設計 2. C++ 效率與結構第2章 C++概覽1.虛函數2. 附言第5章 指標數組和結構1.

總頁數: 4314 1 .... 904 905 906 907 908 .... 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.