乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      #pragma comment(lib,"ws2_32.lib")

       冉亮 2010-08-04
      #pragma comment(lib,"ws2_32.lib")
      #pragma comment(lib,"Ws2_32.lib")表示鏈接Ws2_32.lib這個庫。
      和在工程設(shè)置里寫上鏈入Ws2_32.lib的效果一樣,不過這種方法寫的程序別人在使用你的代碼的時候就
      不用再設(shè)置工程settings了。告訴連接器連接的時候要找ws2_32.lib,這樣你就不用在linker的lib設(shè)置
      里指定這個lib了。
      比如:
      #include "Mwic_32.h"
      #pragma comment(lib,"Mwic_32.lib")
       
      #include "c:\gdiplus\includes\gdiplus.h"
      using namespace Gdiplus;
      #pragma comment(lib, "c:\\gdiplus\\lib\\gdiplus.lib")
       

      就不需要在project setting里面設(shè)置了
      注釋 pragma 可以允許用戶在目標(biāo)文件或可執(zhí)行文件中插入注釋。lib 指定符允許用戶向鏈接器傳遞該注釋,以在使用對象模塊時指定其它的鏈接庫。有些用戶使用 lib 注釋 pragma 以添加鏈接器選項和庫名,例如:
      #pragma comment(lib, "MSVCRT -VERBOSE")在 Visual C++ 2.x 中,代碼行照原樣將字符串傳遞給鏈接器,結(jié)果導(dǎo)致編譯時附加了 /VERBOSE 鏈接器選項和 MSVCRT.LIB 庫。但是,這種情況并不僅限于上述方式。編譯器不會將注釋字符串放在引號內(nèi),而會用空格分隔文本。
      在 Visual C++ 4.0、4.1、和 4.2 中,編譯器將注釋字符串正確地放在引號內(nèi),因而導(dǎo)致上述代碼產(chǎn)生以下錯誤:
      LINK :fatal error LNK1104:cannot open file "MSVCRT -VERBOSE.lib"
       

      解決方案
      使用下列新的 pragma 來指定鏈接器選項:
      #pragma comment(linker, "")

      示例代碼
      // Compile options needed:none
      // test.c
      #pragma comment(lib,"MYLIBRARY -VERBOSE")
      void main(void)
      {
       
      }
       
      置#pragma comment( comment-type [,"commentstring"] )comment-type是一個預(yù)定義的標(biāo)識符,指定注釋的類型,應(yīng)該是compiler,exestr,lib,linker之一。commentstring是一個提供為comment-type提供附加信息的字符串,
      Remarks:1、compiler:放編譯器的版本或者名字到一個對象文件,該選項是被linker忽略的。
      2、exestr:在以后的版本將被取消。
      3、lib:放置一個庫搜索記錄到對象文件中,這個類型應(yīng)該是和commentstring(指定你要Liner搜索的lib的名稱和路徑)這個庫的名字放在Object文件的默認(rèn)庫搜索記錄的后面,linker搜索這個這個庫就像你在命令行輸入這個命令一樣。你可以在一個源文件中設(shè)置多個庫記錄,它們在object文件中的順序和在源文件中的順序一樣。如果默認(rèn)庫和附加庫的次序是需要區(qū)別的,使用Z編譯開關(guān)是防止默認(rèn)庫放到object模塊。
      4、linker:指定一個連接選項,這樣就不用在命令行輸入或者在開發(fā)環(huán)境中設(shè)置了。只有下面的linker選項能被傳給Linker.
      /DEFAULTLIB
      /EXPORT
      /INCLUDE
      /MANIFESTDEPENDENCY
      /MERGE
      /SECTION
      (1)/DEFAULTLIB:library/DEFAULTLIB 選項將一個 library 添加到 LINK 在解析引用時搜索的庫列表。用 /DEFAULTLIB
      指定的庫在命令行上指定的庫之后和 .obj 文件中指定的默認(rèn)庫之前被搜索。忽略所有默認(rèn)庫 (/NODEFAULTLIB) 選項重寫 /DEFAULTLIB:library。如果在兩者中指定了相同的 library 名稱,忽略庫 (/NODEFAULTLIB:library) 選項將重寫 /DEFAULTLIB:library。
      (2)/EXPORT:entryname[,@ordinal[,NONAME]][,DATA]使用該選項,可以從程序?qū)С龊瘮?shù),以便其他程序可以調(diào)用該函數(shù)。也可以導(dǎo)出數(shù)據(jù)。通常在 DLL 中定義導(dǎo)出。entryname 是調(diào)用程序要使用的函數(shù)或數(shù)據(jù)項的名稱。ordinal 在導(dǎo)出表中指定范圍在 1 至 65,535 的索引;如果沒有指定 ordinal,則 LINK 將分配一個。NONAME 關(guān)鍵字只將函數(shù)導(dǎo)出為序號,沒有 entryname。DATA 關(guān)鍵字指定導(dǎo)出項為數(shù)據(jù)項??蛻舫绦蛑械臄?shù)據(jù)項必須用 extern __declspec(dllimport) 來聲明。

      有三種導(dǎo)出定義的方法,按照建議的使用順序依次為:
      源代碼中的 __declspec(dllexport)
      .def 文件中的EXPORTS 語句
      LINK 命令中的 /EXPORT 規(guī)范
      所有這三種方法可以用在同一個程序中。LINK 在生成包含導(dǎo)出的程序時還創(chuàng)建導(dǎo)入庫,除非生成中使用了 .exp 文件。
      LINK 使用標(biāo)識符的修飾形式。編譯器在創(chuàng)建 .obj 文件時修飾標(biāo)識符。如果 entryname 以其未修飾的形式指定給鏈接器(與其在源代碼中一樣),則 LINK 將試圖匹配該名稱。如果無法找到唯一的匹配名稱,則 LINK 發(fā)出錯誤信息。當(dāng)需要將標(biāo)識符指定給鏈接器時,請使用 Dumpbin 工具獲取該標(biāo)識符的修飾名形式。
       
      (3)/INCLUDE:symbol/INCLUDE 選項通知鏈接器將指定的符號添加到符號表。若要指定多個符號,請在符號名稱之間鍵入逗號 (,)、分號 (;) 或空格。在命令行上,對每個符號指定一次 /INCLUDE:symbol。
      鏈接器通過將包含符號定義的對象添加到程序來解析 symbol。該功能對于添包含不會鏈接到程序的庫對象非常有用。用該選項指定符號將通過 /OPT:REF 重寫該符號的移除。
       

        本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報。
        轉(zhuǎn)藏 分享 獻(xiàn)花(0

        0條評論

        發(fā)表

        請遵守用戶 評論公約

        類似文章 更多