我很好奇c/c++编译器是如何分析lib文件的?我的意思是说我创建了一个包含一些类的库,我在我的主程序中使用了那个库。编译器如何知道该库中有哪些类名。当然,这些信息以二进制格式存在,我想在我的程序中使用该功能,具体来说,我有一个二进制 lib 文件,我想知道该 lib 文件中存在的所有类和属性/函数。
这可能吗?如果编译器可以做到,为什么有些库不能?
感谢任何线索
最佳答案
编译器不会执行您的建议,但链接器会执行。
编译器从包含的与 lib 文件相关的头文件中知道它需要的信息。
然后链接器将您要包含的声明和 lib 文件及其其他目标文件放在一起。
例如,可能可以通过反编译从 .lib 文件中获取信息,但这需要大量工作,而且可能不是您想要做的。
关于c++ - 编译器如何使用lib文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2570347/