使用非常大的文件创建dll

Creating a dll with very large files

本文关键字:文件创建 dll 非常      更新时间:2023-10-16

这是我第一次在这个论坛上写作,我希望有人能帮助我。我一直在网上搜索,但没有找到任何与我的问题有关的答案。

我有一个非常大的文件(大约25000行),其中有数千个定义,必须被另一个文件使用

使用特殊工具将所有这些文件(以及大约600多个文件)转换为。c文件。我几乎可以肯定这个转换是正确的。

如果我用所有这些文件创建a.exe,没有问题,一切都工作正常。不幸的是,当我试图访问非常大的文件时,我需要一个崩溃的.dll。

我检查了它的。obj文件大于65MB,所以我添加了编译器命令/bigobj,正如我在互联网上看到的,但它没有解决问题。

我还检查了访问大文件时发生的问题,因为当我连接两个文件时一切正常(这在我的开发中是不可能的)

我正在使用Visual 2008

是否与编译为C (/TC)或c++ (/TP)代码有关?.exe和.dll之间的区别是什么,可能会使我的程序崩溃?

有什么想法吗?

Thanks in advance

确实,没有代码就没有什么可说的…(虽然不确定是否有人有耐心阅读600个文件,每个文件有25k行代码:))

作为建议,在调试模式下重建exe和dll,从MSVC运行exe,然后在你知道它崩溃的地方设置一个断点。接下来,在从监视窗口获得该变量的地址后,在该变量上设置一个数据断点。假设应用程序做了它应该做的事情,那么指针是设置的,但在过程中丢失了;这意味着它应该被触发两次。或者,尝试断言检查。

另一种情况是因为变量是易失的。另一种情况是值从临时值返回并丢失…最后但并非最不重要的是,该值永远不会因为错误坏的条件而设置…

如果你的问题是崩溃而不是丢失的值,只要做一个空检查并返回调用,如果你真的想避免复杂性,但是,我建议你找到为什么没有设置值。你的选择。