C++ 从C中创建一个新的EXE

C++ 从C中创建一个新的EXE,c++,c,exe,C++,C,Exe,我在VC++2008(express)中工作,我想用C编写一些东西,创建一个“空”exe,我可以稍后调用LoadLibrary,并使用BeginUpdateResource,UpdateResource,EndUpdateResource修改内容 仅仅写一个0字节的文件不允许我用LoadLibrary打开它,因为它不是资源。EXE格式是一种复杂的文件格式。它有一组必需的头文件来描述它的基本执行属性(16位、32位或64位,以及DOS/Win16/Win32/Win64模式和EXE与DLL)。之后

我在VC++2008(express)中工作,我想用C编写一些东西,创建一个“空”exe,我可以稍后调用
LoadLibrary
,并使用
BeginUpdateResource
UpdateResource
EndUpdateResource
修改内容


仅仅写一个0字节的文件不允许我用LoadLibrary打开它,因为它不是资源。

EXE格式是一种复杂的文件格式。它有一组必需的头文件来描述它的基本执行属性(16位、32位或64位,以及DOS/Win16/Win32/Win64模式和EXE与DLL)。之后,它必须有一个正确的地址重新定位表。这并不是一件小事,您已经对.EXE文件格式进行了大量的研究,以便正确地执行此操作。

您可以编译一个空的.EXE文件,例如

int main() { return 0; }

并将其用作模板。(或空的.dll,随便什么)

编译器非常擅长“创建”exe。那么,为什么不让编译器创建您想要的可执行文件,并使用该文件(或其内容的二进制表示形式)进行复制呢?

返回0;是多余的。哦,我不知道,谢谢!顺便说一句,我不使用C。我以前使用C只是为了“好玩”,现在更喜欢C#、PHP、JS或更奇怪的东西;)非常感谢。所有的答案看起来都很好,但我试过这个,它奏效了。