1. NI对dll wrapper的介绍:
https://knowledge.ni.com/KnowledgeArticleDetails?id=kA00Z000000PA8QSAW
Issue Details
What is a wrapper DLL, and when do I need one?
I need to call an external DLL in LabVIEW, but the parameters of the function do not easily map to LabVIEW data types.
Solution
A wrapper is a piece of software that provides a compatibility layer to another piece of software. One is often necessary when developing LabVIEW applications because third-party DLLs are typically designed to be accessed from C (or similar low-level languages) and not LabVIEW. Such a DLL may, for example, return pointers or complex data structures which LabVIEW cannot easily handle.
Writing a wrapper DLL can be compared to writing a completely separate program in C that accesses the original DLL in the way the original author intended. In turn, this wrapper program has been specifically designed to be accessed from LabVIEW. In this sense, the new C program "wraps" around the original C program (DLL) and provides a layer of compatibility. The benefit of a wrapper is that the source code for the original DLL is not necessary, as it does not need to be modified in any way.
2
This article proposes a new type of wrapper requiring only minimal code changes to switch between dynamic and static loading but still offering all the features of existing DLL-wrappers and more.:
https://www.codeproject.com/articles/224869/yet-another-dll-wrapper-for-dynamic-loading
3 A Tool
http://www.dllwrapper.com/dllwrapper_download.htm
4 github: DLL Wrapper Generator -- by Python
https://github.com/SeanPesce/DLL_Wrapper_Generator
https://github.com/mavenlin/Dll_Wrapper_Gen
5 github: DLL intercept(拦截)
https://github.com/kevinalmansa/DLL_Wrapper