Jef*_*ite 8 c++ c++builder static-linking
在Embarcadero RAD Studio 2010中,静态库的项目选项中有一个名为"Dynamic RTL"的设置.(它在TLib部分.)
我的印象是,关于是动态还是静态链接RTL的决定是在链接时进行的,而不是在编译时进行的.但静态库只能编译; 没有链接步骤.那么,更改此选项如何影响我的静态库?
我有一些使用这些静态库的.exe和.dll项目,我在这些项目中设置了"动态RTL"选项.这是有道理的,因为它们实际上有链接的东西,但我不明白这个设置对静态库有什么影响.
如果静态库具有动态RTL = true而使用此库的DLL和EXE具有动态RTL = false,是否会导致任何问题?
小智 7
我不使用Embarcadero,而是使用旧版本的C++ Builder.我认为他们的工作方式相同.当您使用动态RTL时,您的代码将从程序附带的运行时DLL中调用RTL函数.当您不使用动态RTL时,函数将从libs复制到您的exe或lib文件中.我使用动态RTL减小EXE文件的大小.exe或libs的逻辑是相同的.这意味着如果您在任何模块中使用动态RTL,无论是exe还是lib,您都必须运送相应的运行时DLL.
| 归档时间: |
|
| 查看次数: |
3371 次 |
| 最近记录: |