草庐IT

graphenejs-lib

全部标签

c++ - 为什么隐式 DLL 链接需要相关的 Lib 文件而显式链接不需要?

在Windows环境中,当我尝试显式(使用LoadLibrary)将DLL链接到我的程序时,首先我需要根据每个定义函数指针DLL中的函数签名。然后使用“GetProcAddress”获取函数地址并将它们分配给那些指针。当我尝试将DLL链接到我的程序时隐式(使用头文件)首先需要相关的头文件来获取函数签名。然后它需要用DLL生成的相关Lib文件。我的问题是为什么隐式链接也需要一个Lib文件?它需要从“Lib”文件中检索哪些无法从DLL或Header文件中获取的信息?如果有问题2,显式加载时如何检索信息?我已经通过了this问题。但我无法理解任何有值(value)的理由。拜托,有人可以帮助用

Docker下/var/lib/docker/overlay2空间清理

​1.查看磁盘占用df-h2.Docker的内置CLI指令dockersystemdf可用于查询镜像(Images)、容器(Containers)和本地卷(LocalVolumes)等空间使用大户的空间占用情况。dockersystemdf查看详细~]#dockersystemdf-v3.空间清理【1】通过Docker内置的CLI指令dockersystemprune来进行自动空间清理。~]#dockersystemprune--help该指令默认会清除所有如下资源:已停止的容器(container)未被任何容器所使用的卷(volume)未被任何容器所关联的网络(network)所有悬空镜像(

c++ - 对于不同版本的 Microsoft Visual C++,已编译的 .lib 文件是否可以互换?

一些项目为C(和可能的C++-不确定)库提供了一组“Windows”二进制文件。例如,查看thislibxml-relatedpage右侧的链接.我很确定无法在VC++.lib文件和MinGWGCC.a文件之间进行转换,因此将它们称为“Windows”而不是“Microsoft”二进制文件似乎有点误导。但我也感到惊讶的是,对于不同的VC++版本显然不需要不同的二进制文件。我似乎记得,很多年前,在为跟踪器风格的音乐程序(JeskolaBuzz)编写插件时遇到问题,因为该程序使用的是VC++6,而我已升级到VC++7。我不记得确切的问题-它可能部分与DLL相关,但我知道那些不需要关心VC+

c++ - 无法打开文件 'LIBC.lib'

我将在VC6.0中开发的工作区更改为VS2008。当我尝试构建工作区时,我收到以下错误消息。我该如何解决这个问题?fatalerrorLNK1104:cannotopenfile'LIBC.lib'当我忽略libc.lib时收到以下消息Error1errorLNK2019:unresolvedexternalsymbol"__declspec(dllimport)classCIHoTSimEngine*__cdeclCreateHoTSimEngine(void)"(__imp_?CreateHoTSimEngine@@YAPAVCIHoTSimEngine@@XZ)reference

mysql5.7安装插件udp(lib_mysqludf_sys)

项目应用中需要用mysql执行一下命令行.几经搜索可以安装lib_mysqludf_sys插件可以实现本地window环境安装(mysql8.0,64位,使用lib_mysqludf_sys.dll文件)--查看环境中插件目录showvariableslike'%plugin%';--plugin_dir C:/mysql/lib/plugin/--将lib_mysqludf_sys.dll文件放在插件目录中--这里要注意32位和64位是有区别的,并不能通用--删除已存在的函数DROPFUNCTIONIFEXISTSlib_mysqludf_sys_info;DROPFUNCTIONIFEXI

c# - 从 C# 访问 C++ .lib 库

我有一个C++库文件(.lib)。如何从C#访问其中的函数?我读过我可以将库文件包装在c++dll中并以这种方式公开函数。那是唯一的方法吗?我不是代码的所有者,因此我的选择有限。 最佳答案 用C++/CLI程序集包装C++库。C++/CLI允许您混合托管和非托管代码,充当C#和nativeC++之间的桥梁。它实际上非常简单且相对容易实现,但如果您有很多类/函数要包装,它可能会变得乏味。Here就是一个例子。 关于c#-从C#访问C++.lib库,我们在StackOverflow上找到一个

c++ - g++ 链接器 :/usr/lib/libGL. so.1:无法读取符号:无效操作

我正在尝试在Ubuntu10.04(我有一个32位系统)下构建一个非常简单的OpenGL应用程序。当我试图编译文件时,我收到错误消息:g++-L/usr/libsimple.cpp-lglut/usr/bin/ld:/tmp/ccoPczAo.o:undefinedreferencetosymbol'glEnd'/usr/bin/ld:note:'glEnd'isdefinedinDSO//usr/lib/libGL.so.1sotryaddingittothelinkercommandline//usr/lib/libGL.so.1:couldnotreadsymbols:Inval

c++ - 为什么 visual studio 会创建 .LIB 和 .DLL?

我有一个项目“Logger”,其中配置类型是.dll。“Logger”使用“libconfig”(一个开源配置解析器)。目前,我有一个单独的“libconfig”项目,它的配置类型是.lib我将“libconfig”添加到Logger的框架和引用设置中:链接库相关性=true使用库依赖inputs=false在Logger的链接器命令行中,我看到:/IMPLIB:"path\to\Logger.lib"我的问题是:为什么需要创建Logger.lib?我懂了/OUT="path\to\Logger.dll",但我正试图掌握visualstudio的构建过程。来自M$'sIMPLIBdoc

cmake编译到静态.lib文件

我正在努力让Cmake将C++项目编译到静态.lib文件中,这样我就可以将其链接到另一个项目。这是我的基本设置:cmake_minimum_required(VERSION2.8)PROJECT(MyProj)IF(NOT${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}LESS3.1)cmake_policy(SETCMP0054OLD)ENDIF()set(SRCS_COMMON#HereIlocatetherelativepathstoabunchof.cppfiles#../../Source/Common/Math/Example.cpp)AD

c++ - 在 Windows 上列出 *.lib 中的函数

当我运行lib/listmylib.lib时,我看到了一些包含的.obj文件,但没有关于类似以下功能的信息:Path\file1.objPath\file2.objPath\file3.obj如果我将.lib文件作为存档打开,我可以看到除了目标文件之外还有许多文件1.txt,...,n.txt。这些txt文件似乎包含有关格式的.obj文件中函数的信息::Path\file1.obj?function_name@...:因此可以通过这种方式检索一些信息。但是没有更好的方法来获取功能信息吗?例如使用lib.exe、dumpbin.exe或其他工具?也以更具可读性/更清晰的格式?到目前为止,