c - 如何使用 Visual Studio 2008 重新初始化静态 C 库中的所有全局变量?

标签 c visual-studio

基本上,我需要一种方法来做到这一点,而且我不介意实现这一目标会变得多么丑陋或肮脏。

原因是该库由应用程序托管以进行模拟。不知何故,我必须能够重置模拟,因此将所有库重置回默认状态。 (或尽可能接近默认状态)

是否可以找到全局内存部分并对其进行memcpy?

不想编写一些手动重置每个全局变量的内容。

欢迎任何想法!

(对“无法完成”或“更改代码使其没有全局”类型答案不太感兴趣)

最佳答案

我的第一个想法是卸载然后重新加载 DLL。重新加载时,应该重置全局变量。 windows下有延迟加载和卸载。我从来没有用过它;但可能会有一些帮助。

参见http://msdn.microsoft.com/en-us/library/96c1b5cf.aspx

关于c - 如何使用 Visual Studio 2008 重新初始化静态 C 库中的所有全局变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6365443/

相关文章:

c - C中按位异或的打印结果

c - atoi() 练习的问题

c - 在CGI程序中读取cookie时,只检索第一行

c# - 用于缺少 Microsoft.Net.Compilers 的项目的 Roslyn 编译器版本

visual-studio - 如何在VS 2010中安装WTL 8.0项目向导?

visual-studio - 从 MinGW 静态库 (.a) 到 Visual Studio 静态库 (.lib)

C - 通过引用和值将结构参数传递给函数

c++ - 在具有可变参数的方法中转换警告

visual-studio - 为什么 Azure VM 被 VS 开发测试实验室释放

c# - 安全地编写依赖于相同文件资源的单元测试?