当我们构建项目时,我们可以定义我们想在windows中运行程序的子系统。但是它会如何影响输出exe文件。或者换句话说,当我们调用CreateProcess()API时,我们只传递一个exe文件,那么exe文件中的哪个头文件,它 检查以确定哪个子系统将处理此过程?或者它使用其他一些方法来完成它?
答案 0 :(得分:3)
我想,我会查看EXE标题
<强>查找强>
http://www.delorie.com/djgpp/doc/exe/
http://www.fileformat.info/format/exe/corion-mz.htm
工具更新
我喜欢:
http://www.heaventools.com/PE-file-header_viewer.htm
http://www.mitec.cz/exe.html
你可以:
http://blogs.msdn.com/b/securitytools/archive/2010/01/28/how-to-view-the-header-of-an-exe-dll.aspx
在线:http://exe.urih.com/
答案 1 :(得分:0)
在可执行文件的主标头中,存在该信息。正如您所说的.exe(或更确切地说是二进制),执行链接器阶段。链接器是操作系统的一部分,每个操作系统都有一个代码编号,通过它可以将其识别为二进制文件。
与windows和CreateProcess()的情况一样,请考虑阅读this