<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                DLL (Dynamic Link Library)動態鏈接庫,是一個包含可由多個程序同時使用的代碼和數據的庫,DLL不是可執行文件,其優點主要有:1. 有助于節省內存;2. 有助于資源共享;3. 不需編譯的軟件系統升級;4. 支持多語言程序。當然,有的時候我們也可以將一些核心的或者不愿意公開提供的函數編寫為DLL,從而起到隱藏和保護的作用。 下面結合實例詳細說明在Visual Studio 2008 SP1 IDE中如何創建、編寫和導出VC++ MFC DLL,以及如何調用生成的DLL。(完整實例可在我的CSDN資源中下載:[http://download.csdn.net/detail/margin1988/8336697](http://download.csdn.net/detail/margin1988/8336697)) (1)打開Visual Studio 2008 SP1 IDE,創建VC++ MFC DLL工程,如圖所示: ![](https://box.kancloud.cn/2016-08-31_57c6b4a8542c7.jpg) (2)在自動生成的“工程名.cpp”(如:FirstDLL.cpp)文件中,編寫要導出的函數(注:在該項目屬性中工程字符集選擇了“使用多字節字符集”): ~~~ /**函數:int calculateLineNum(CString filePath) 功能:用于計算文本文件的行數 描述:只需要指定文本文件的路徑,若找到,則返回其行數,若沒找到,則返回0 */ extern "C" _declspec(dllexport) int calculateLineNum(CString filePath){ AFX_MANAGE_STATE(AfxGetStaticModuleState()); CStdioFile file; CString str; int lineNum=0; if (file.Open(_T(filePath),CFile::modeRead | CFile::typeText)) { file.SeekToBegin(); while (file.ReadString(str)) { lineNum++; } file.Close(); } return lineNum; } ~~~ (3)點擊“生成解決方案”,生成了供程序調用的DLL文件和Lib文件(該例中只是導出了一個函數,不需要.h文件); (4)生成DLL及其導出函數的調用方法: 1)將.dll和.lib文件拷貝到你的工程的目錄下; 2)在程序中預定義和導入庫和函數: ~~~ #pragma comment(lib, "FirstDLL.lib") extern "C" _declspec(dllimport) int calculateLineNum(CString filePath); ~~~ 3)或者,也可以在工程的屬性中添加鏈接: ![](https://box.kancloud.cn/2016-08-31_57c6b4a880890.jpg) 然后,程序中就只需要這一句: ~~~ extern "C" _declspec(dllimport) int calculateLineNum(CString filePath); ~~~ 4)調用DLL中的導出函數: ~~~ CString path="ReadMe.txt"; int num = calculateLineNum(path); ~~~
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看