窗体包含在程序集中。
1,程序集(assembly)是一个或多个托管模块,以及一些资源文件的逻辑组合。
2,在编译应用程序中,所创建的CIL代码存储在一个程序集中,程序集包括可执行的应用程序文件(.exe扩展名文件)和其他应用程序使用的库(.dll扩展名文件)。
组成:
1.程序集清单,包含描述该程序集中各元素彼此如何关联的数据集合,还包含指定该程序集的版本要求和安全标识所需的所有元数据,以及定义该程序集的范围和解析对资源和类的应用所需的全部元数据。
2.元数据,提供有关程序集中定义的类型的信息,包括类型的名称,可见性,基类和类型所实现的接口。注意:程序集清单和元数据说明了程序集是自我描述的。
3.实现这些类型的MSIL代码。
4.资源集,诸如位图,指针,静态文本等。
程序集=资源+代码(窗体和其他类)+引入的库。
请看 MyApp.exe 的 nmake 脚本,它是一个很简单的仅由一个文件生成的应用程序:# build MyApp.exe!if "$(DEBUG)" == "1"CPPFLAGS=$(CPPFLAGS) /MDdLFLAGS=$(LFLAGS) /INCREMENTAL!elseCPPFLAGS=$(CPPFLAGS) /MD!endifMyApp.exe : MyApp.objlink $** /out:$@ $(LFLAGS)MyApp.obj : MyApp.cppclean :del MyApp.obj MyApp.exe如果此脚本不经更改便在 Visual C++ 上运行,它将成功创建 MyApp.exe。它还将创建外部清单文件 MyApp.exe.manifest, *** 作系统会使用此外部清单文件在运行时加载依赖程序集。MyLibrary.dll 的 nmake 脚本与之很相似:# build MyLibrary.dll!if "$(DEBUG)" == "1"CPPFLAGS=$(CPPFLAGS) /MDdLFLAGS=$(LFLAGS) /DLL /INCREMENTAL!elseCPPFLAGS=$(CPPFLAGS) /MDLFLAGS=$(LFLAGS) /DLL!endifMyLibrary.dll : MyLibrary.obj欢迎分享,转载请注明来源:内存溢出
评论列表(0条)