投票反对这个问题显然很好,但请告诉我为什么这是愚蠢的或其他不受欢迎的,我只是想学习
我的目标是理解像Chrome这样的复杂程序。
据我所知,这些文件只需几行即可将文件提取到指定位置,编辑注册表或执行简单任务(如.bat文件)。
但是复杂的.exe文件如acrobat.exe或game.exe(如..... bioshock.exe)呢?
如果我错了,请纠正我:
我认为它的工作原理与将某些文件加载到ram和其他文件中相同。
它会存储所有可能的命令或指向某个地方(右键单击=选择/消防枪)
但是这些公司如何制作这些.exe?
可以/它们中的任何一个是用java编码的吗?
那么别人怎么能侵入他们改变一些事情呢?就像关于模拟城市离线模式的争议一样(虽然我不认为黑客是在.exe中)。最后我记得,你不能像存档那样打开.exe吗?
答案 0 :(得分:2)
为您的问题撰写完整的答案非常困难。然而,lemme试图让你一瞥复杂“。exe's”是如何编写的。
假设你想写一个写字母的程序。您将首先为此开发一个名为Software requirement specification
的东西。您需要为此执行一些requirement gathering
。
所以,你会开始记下来:
1.可以选择添加收件人。
2.有机会在信中添加文字。
3.有机制签署这封信。
依旧......
然后你将开始编码。
首先,您将通过编写符合您要求的代码开始。 (你的复杂的exe开始成型;耶!)
然后你可能需要重新考虑你的原始策略(除非你是专家)并重写一些代码..这个过程将继续迭代。
直到现在你将拥有一堆“源文件”:
但现在你会发现你制作了3个有3个主程序的程序。但是你需要一气呵成!因此,您将删除主程序并编写一个“主类”来创建三个源文件的对象。您的主程序可能如下所示:
AcceptText ap = new AcceptText("My letter content");
Letter L = new Letter();
L.addContent(ap);
Signature S = new Signature();
S.sign();
L.addSignature(S);
L.send();
现在您将把它编译成可执行文件或可执行jar。你甚至想要使用swing或类似的东西为它添加一些GUI。
因此,您已准备好第一个复杂的exe!运行它自己发送电子邮件! 现在,当你看到类似bioshock.exe的东西时,它们是由数千个源文件组成的,所有这些文件都整齐地放在一起。他们还添加了大量的艺术作品,动画,剪辑和声音。他们一点一点地制作了如此复杂的节目。没有秘密技术。您可以非常轻松地学习创建exe的基础知识。但是,要发展大规模的东西,需要极端的毅力和诚意。
如果您真的感兴趣,请彻底学习2-3种编程语言。然后学习一些“框架”或库。这些可以像[opengl](http://en.wikipedia.org/wiki/OpenGL)这样的图形库。慢慢地但肯定地;你将学习如何自己制作一个复杂的exe。这需要时间和很多努力。快乐的编码!并欢迎来到俱乐部。