C 除錯DLL庫注意事項

2021-08-18 17:07:31 字數 814 閱讀 2305

正常情況下將兩個工程新增到乙個解決方案中,乙個是生成dll庫的工程,乙個負責呼叫如下圖所示

靜態呼叫時需要匯出dll庫中的函式

#ifndef __sm7_dll_h__

#define __sm7_dll_h__

extern "c"

#endif

然後在呼叫檔案中載入lib庫

#include "stdafx.h"

#include #include "sm7dll.h"

#include using namespace std;

#pragma comment(lib,"c:/tcl/lib/tcl85.lib")

#pragma comment(lib,"d:/dd/tclproject/sm7_dll_lib/sm7dll/debug/sm7dll.lib")

extern_c int _tmain(int argc, _tchar* argv)

動態呼叫時只需要使用loadlibrary,getprocaddress,freelibrary三個函式來管理即可。

例項如下:

extern_c int _tmain(int argc, _tchar* argv)

除錯中需要特別注意呼叫程式為debug版時,dll庫也需要為debug版,這樣才能順利的在dll庫工程中打斷點除錯。

C 除錯DLL庫注意事項

正常情況下將兩個工程新增到乙個解決方案中,乙個是生成dll庫的工程,乙個負責呼叫如下圖所示 靜態呼叫時需要匯出dll庫中的函式 ifndef sm7 dll h define sm7 dll h extern c endif 然後在呼叫檔案中載入lib庫 include stdafx.h inclu...

C 注意事項

include using namespace std class superclass virtual superclass virtual void dosomething const protected intitsage class subclass public superclass vo...

c 注意事項

const引用.const引用是指向const物件的引用 const int ival 1024 const int refval ival 正確,引用和引用的物件都是const int ref2 ival 這是錯誤的,因為引用不是const int i 42 const int r 42 這是正確...