#ifdef _msc_ver
#include
#include
#define get_function_address(x, y) getprocaddress(x, y)
#define load_dynamic_library(x) loadlibrary(x)
#define free_dynamic_library(x) freelibrary(x)
#define get_error_message() getlasterror()
#else
#include
#include
#define get_function_address(x, y) dlsym(x, y)
#define load_dynamic_library(x) dlopen(x, rtld_lazy|rtld_global)
#define free_dynamic_library(x) dlclose(x)
#define get_error_message() dlerror()
#endif
動態庫介面封裝的時候,不要使用stl之類的引數型別,作為引數傳遞。目前發現在arm64下是可行的,但是在windows下會崩潰,原因是double free了,感覺是淺拷貝之類的問題。
動態鏈結庫注意事項
建立 1.新建vc wndows桌面 動態鏈結庫專案 2.寫標頭檔案 注意建構函式和析構函式都要寫在標頭檔案中 ifndef 頭檔名 define 頭檔名 endif 頭檔名 寫原始檔 3.原始檔 新增新項 模組定義檔案 def library dll專案名 exports 函式名1 1 函式名2 ...
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 這是正確...