exe动态编译是什么意思?

时间:2017-07-05 18:10:26

标签: windows dll dumpbin depends

从MySQL网站here上的页面看到以下段落:

  

您可以使用C或C ++(或其他可以使用C语言的语言)编写插件   呼叫惯例)。插件是动态加载和卸载的,所以   您的操作系统必须支持动态加载,您必须拥有   动态编译调用应用程序(非静态编译)。对于   服务器插件,这意味着必须编译 mysqld   动态

动态编译是什么意思?我知道动态链接,但我不确定它们对动态编译的意义。

此外,在Windows 10(x64)上,我如何确保已动态编译exe?是否有可能从dumpbin的输出中找出来?这是mysqld.exe(版本5.7)的dumpbin输出:

enter image description here

注意:我查看了this old question,但没有向我提供这么多信息。它建议的依赖工具不再在Windows上。

1 个答案:

答案 0 :(得分:2)

动态编译意味着您正在编译代码,以使编译后的输出适合动态链接。

在Windows上,创建DLL的过程必然会编译它,使其适合动态链接,因为DLL总是动态链接。

我相信今天的大多数平台总是动态编译并生成可重定位的输出,即使它们随后是静态链接的。