c++ - dll 会变成机器代码吗?

标签 c++ c visual-studio visual-studio-2008

只是好奇,有人告诉我,使用 dll 文件,您可以对 dll 进行修改,而无需重新编译使用它的整个应用程序。另一方面,需要编译 .lib 文件,以便代码可以作为一个链接到应用程序。

所以我知道 .lib 文件被转换为机器代码。但是dll的呢??它们会在应用程序执行时变成机器码吗??

如果使用不当,这可能会导致黑客攻击。

最佳答案

dll 仍然是机器代码。它们只是在运行时动态链接(因此得名),因此(如果您不更改函数签名)您不必重新编译主程序以在更改后使用 dll。静态库在物理上是您的可执行文件的一部分,这就是为什么那里的更改需要重新编译(或者实际上是重新链接)的原因。

关于c++ - dll 会变成机器代码吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2970209/

相关文章:

c - 在 C 中分配无符号长整型内存时出错

visual-studio - MSBuild 复制或创建文件(如果不存在)

c++ - 将源文件位置移到 Visual Studio 2012 之外

c++ - 如何从一个进程向多个其他进程发出信号?

c++ - cmake 包含和库的路径问题

C++:动态创建以for循环迭代器命名的数组

c++ - 子弹物理盒不旋转

c - 如何正确使用 exp 和 sqrt 属性

c - 为什么第一个代码给出错误而第二个代码没有?

c# - 在 Visual Studio 2012 中管理引用