Embarcadero RAD Studio XE中,在创建DLL时,会有几种选择组合,Type可以选C或C++,另外还可以勾选【】Use VCL、【】Multi Threaded、【】VC++ Style DLL。那么这些选项对生成的DLL有什么影响呢,让我们来比较一下。
首先我们对比一下,若Type选C,勾选和不勾选【】Multi Threaded有什么区别:
<!-- 勾选【】Multi Threaded -->
<OutputExt>dll</OutputExt>
<NoVCL>true</NoVCL>
<_TCHARMapping>char</_TCHARMapping>
<LinkPackageImports>rtl.bpi;vcl.bpi</LinkPackageImports>
<Multithreaded>true</Multithreaded>
<!-- 不勾选【】Multi Threaded -->
<ProjectType>CppDynamicLibrary</ProjectType>
<_TCHARMapping>char</_TCHARMapping>
<ILINK_GenerateImportLibrary>true</ILINK_GenerateImportLibrary>
<NoVCL>true</NoVCL>
再来看Type选C,勾选和不勾选【】VC++ Style DLL有何区别:
<!-- 勾选【】VC++ Style DLL -->
<ProjectType>VCppStyleDll</ProjectType>
<NoVCL>true</NoVCL>
<Borland.ProjectType>VCppStyleDll</Borland.ProjectType>
<!-- 不勾选【】VC++ Style DLL -->
<OutputExt>dll</OutputExt>
<ProjectType>CppDynamicLibrary</ProjectType>
<Borland.ProjectType>CppDynamicLibrary</Borland.ProjectType>