只是好奇,有人告诉我,使用 dll 文件,您可以对 dll 进行修改,而无需重新编译使用它的整个应用程序。另一方面,需要编译 .lib 文件,以便代码可以作为一个链接到应用程序。
所以我知道 .lib 文件被转换为机器代码。但是dll的呢??它们会在应用程序执行时变成机器码吗??
如果使用不当,这可能会导致黑客攻击。
最佳答案
dll 仍然是机器代码。它们只是在运行时动态链接(因此得名),因此(如果您不更改函数签名)您不必重新编译主程序以在更改后使用 dll。静态库在物理上是您的可执行文件的一部分,这就是为什么那里的更改需要重新编译(或者实际上是重新链接)的原因。
关于c++ - dll 会变成机器代码吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2970209/