學習c/c++技術小結

      僞指令#pragma pack(n)   這個指令用於告訴編譯器,程序裏面的結構體按到n個字節對齊。

      #pragma pack()取消自定義的字節對齊。

        

 

     class和struct的比較:

     stA s = {1,'h'};合法,但是如果是class的話,不能這麼做。

 

     extern "c" 解析:

     extern表示函數和變量的作用範圍,表示可以在本模塊或者其它模塊使用。與它相反的是static表示只能在本模塊裏使用。

     extern int a;表示聲明一個變量,並沒有爲這個變量分配內存。

     如果要在c++環境下調用c編譯的函數,需要在c++頭文件中引用c的頭文件。

     extern "c"

    {

       #include "cHeader.h"  ,這樣的話,在c++需找c的函數時,就是按照c編譯器編譯的形式,就可以找到,如果沒有這樣做的話,就是                                             按照 c++編譯器規定的形式調用,例如調用這個函數foo(int,int),在c++中就是尋找foo_int_int,c                                             中就是尋找foo()。

    }                                      注意:在c頭文件中,對其外部提供函數,加上extern                  

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章