Dll 模块间(dll, exe)使用导出变量、静态变量和外部变量的试验与结论.docVIP

  • 25
  • 0
  • 约2.13万字
  • 约 6页
  • 2016-08-22 发布于河南
  • 举报

Dll 模块间(dll, exe)使用导出变量、静态变量和外部变量的试验与结论.doc

Dll 模块间(dll, exe)使用导出变量、静态变量和外部变量的试验与结论

Dll 模块间(dll, exe)使用导出变量、静态变量和外部变量的试验与结论 [原]模块间(dll, exe)使用导出变量、静态变量和外部变量的试验与结论 Technorati 标签: vc,模块,导出变量,静态变量,外部变量 // Dll头文件声明 AFX_EXT_DATA int D1_nCount; extern int D1_nCountE; static int D1_nCountS = 0; AFX_EXT_API int D1_GetCount(); // 结论:多模块调用时,或重复调用时,模块内的静态变量是唯一的,不会重复分配内存 int nCount = D1_GetCount(); nCount = D2_GetCount(); nCount = D1_GetCount(); // 结论:dll中声明的静态变量在每个使用的cpp下均有一份拷贝,多模块更是如此(静态变量在编译时会分别拷贝) nCount = D1_nCountS; D1_nCountS = 2; // 结论:dll中声明的外部变量不能用于其他模块,链接失败(基地址都不一样,肯定不行) nCount = D1_nCountE; D1_nCountE = 2; // 结论:dll中导出的数据到处都可以用,在模块内部只有一份拷贝,每个用到的模块各有一份拷贝 nCount = D1_n

文档评论(0)

1亿VIP精品文档

相关文档