Pra*_*bhu 4 c++ visual-studio-2010 visual-studio visual-c++
我有一个控制台应用程序来实例化一个类(比方说class X).该类在dll - > X.dll中定义.当我在应用程序中打印类的大小和类的一个函数(在应用程序调用它时调用它)时 - 我注意到大小的变化.
我正在使用VS 2010,应用程序打印类大小为6304,函数打印为6352.我在Release | Win32模式下编译了exe和dll.两者都有WIN32和_WINDOWS定义.但是没有WIN64定义.
我注意到的更多是当我sizeof(time_t)在exe中打印时,它打印4并且dll中的函数打印8.认为这可能是个问题.
知道我应该检查哪里?
我同意,如果DLL和EXE 在数据类型的布局上存在分歧,则可能会出现问题.
但是,除了必须在两个项目之间使用不同的项目设置之外,我看不到任何其他解释.
为了找到罪魁祸首,在解决方案中标记两个项目(Ctrl+左键单击),然后调出属性对话框.现在,该对话框仅显示所选配置中两个项目的相同属性.尽管对话框乍一看似乎是模态对话框,但您可以单击其中一个项目以仅查看其属性,并且还可以再次标记它们,以便可以在这些视图之间来回切换.到目前为止,我经常发现使用这种技术的问题.
如果失败,您始终可以比较项目文件.他们是非常健谈的XML文件使得这更难.