• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            Prayer

            在一般中尋求卓越
            posts - 1256, comments - 190, trackbacks - 0, articles - 0
              C++博客 :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

            在C++代碼中調(diào)用C的庫文件,需加上extern "C",用來告知編譯器:這是一個用C寫成的庫文件,請用C的方式連接他們。

            Undefined reference to 錯誤:這類錯誤是在連接過程中出現(xiàn)的,可能有兩種原因∶

            一是使用者自己定義的函數(shù)或者全局變量所在源代碼文件,沒有被編譯、連接,或者干脆還沒有定義,這 需要使用者根據(jù)實際情況修改源程序,給出全局變量或者函數(shù)的定義體;

            1) 可以頭文件中類加上

              #ifndef xxx_H
              #define xxx_H

              namespace xxx{

              };

              #endif

              cpp文件中包含頭文件,using namespace xxx; 或者 其他訪問方式(自行百度namepace 使用方法)

            2)若全局 namespace xxx 被class xxx 覆蓋,請加上::

            3) 請注意原來的makefile文件是否包含新增的文件,并且邏輯包含關(guān)系正確。

            二是未定義的符號是一個標準的庫函數(shù),在源程序中使用了該庫函數(shù),而連接過程中還沒有 給定相應(yīng)的函數(shù)庫的名稱,或者是該檔案庫的目錄名稱有問題.

               在使用廠商新提供的庫文件時,遇到了新問題,庫中的函數(shù)程序不識別,同樣的方法在使用以前的庫時是可行的,在CSDN上求助并查閱一些資料后,問題已經(jīng)解決。
            1)使用庫的時候首先要明確庫(或者頭文件)是用什么編寫的,如果是用C++編寫的,那么在MFC中可以直接使用,如果是用c編寫的,那么在#include頭文件的時候要加上
            extern “C”{
            #include “OOXX.h”
            }
            注意格式換行要正確。
            2)為什么要如1)中那樣操作呢,因為在c++中編譯的方法和c不用,這是由于函數(shù)的重載造成的。在c中不涉及重載,如函數(shù)func(int a,float b)編譯成_func.在c++中涉及重載,如果只憑函數(shù)名是不足以判斷是使用的哪個函數(shù),所以編譯的時候要加上變量,如函數(shù)func(int a,float b)編譯成_func_int_float,這樣不但確定了函數(shù)名,還確定了使用哪中重載。正式由于以上的不同,使得c中編的函數(shù)不能在c++中直接使 用,c++中為了兼容c的代碼,提出了extern “C”的方法,在編譯聲明了extern “C”的函數(shù)函數(shù)時,會按照c語言的方法編譯。
            如果不加extern “C”,在編譯的時候會出現(xiàn)link錯誤:error link 2001:unresolved extern symbol “long __stdcall func(int a,float b)@QDASCFQAE@”之類的錯誤,說明編譯器沒有識別出函數(shù)func

            国产三级精品久久| 9久久9久久精品| 亚洲国产精品无码久久青草| 四虎国产精品成人免费久久| 久久人人添人人爽添人人片牛牛 | 思思久久99热免费精品6| 久久精品国产精品亚洲精品| 精品久久久久久中文字幕人妻最新| 国产综合久久久久久鬼色| 久久嫩草影院免费看夜色| 伊人久久大香线蕉av不卡| 精品水蜜桃久久久久久久| 久久久久久久久波多野高潮| 久久亚洲精品视频| 亚洲精品国产美女久久久| 久久国产精品视频| 精品久久久久香蕉网| 一本一本久久a久久综合精品蜜桃| 国产精品久久精品| 中文字幕无码精品亚洲资源网久久| 99热成人精品免费久久| 丁香狠狠色婷婷久久综合| 97视频久久久| 亚洲国产成人精品女人久久久| 精品熟女少妇av免费久久| 怡红院日本一道日本久久| 亚洲日韩中文无码久久| 国内精品伊人久久久久妇| 久久久人妻精品无码一区| 伊人久久大香线蕉影院95| 国内精品人妻无码久久久影院 | 91亚洲国产成人久久精品网址| 久久婷婷五月综合成人D啪| 欧美午夜A∨大片久久| 精品欧美一区二区三区久久久| 久久电影网一区| 99久久国产亚洲高清观看2024| 久久亚洲欧美日本精品| 久久婷婷国产麻豆91天堂| 青青青国产精品国产精品久久久久 | 国产精品九九久久精品女同亚洲欧美日韩综合区 |