2012-03-16 370 views
0

我有一个完整的程序后,但是现在,我希望它能够被更新。因此,我想通过新代码更改可执行文件中的“代码”,而不必重新编译它。如何修改一个exe文件中的代码更新

可能吗?如果是的话,我该怎么做,我使用Qt Creator中的C++进行编码。

感谢您的任何建议/线索

+1

没有必要重新编译究竟是什么?显然你不能执行你的新代码(无论是在旧的还是在新的可执行文件中),除非你先编译它。 – Jon 2012-03-16 18:00:01

+0

我的意思是......我想的是:我的节目预告有更新,所以下载它,因为在更新修改,然后是启动该程序后,右键即可使用 – castors33 2012-03-16 18:17:21

+0

以及如何EXE更改代码那会比简单地下载一个新的exe并将其复制到旧的更好吗? – Jon 2012-03-16 18:18:23

回答

1

我的确正是Jon告诉我的:简单地用新的exe替换旧的exe

2

C++不能这样做。使用QT,您可以对您想要更改的代码进行JavaScript实现并更新。

+0

所以...才能够做到这一点,我必须准确地知道哪个部分的代码可以被修改更容易,这部分代码在JavaScript的?!?! – castors33 2012-03-16 18:14:48

+0

@HoCoCinin:是的,或者其他一些非编译语言。 – 2012-03-16 18:16:18

+0

我很欣赏这个答案(和上面的评论)在技术上是正确的,但恕我直言,它不仅对OP没用,而且甚至误导*。 – Jon 2012-03-16 18:19:50

-1

不知道这个回答您的需求,但是你看看ClickOnce的平台?尽管代码仍在您的服务器上重新编译,但客户端可执行文件通过ClickOnce进行更新。

+0

这将有可能,但它似乎只在Windows上工作...我需要使它在任何系统上工作......谢谢! – castors33 2012-03-16 18:13:39

0

虽然你不能在技术上在C++中做这个没有重新编译,如果你不想用另一种编程语言重写,你可以编写一个小的帮助程序(尽管原始程序没有运行)重新编译第一个程序。

如果你真的想这样做(这是不难的),我会考虑GNU g++。 如果您使用的是Windows,您可能需要MinGW(我相信它附带了g ++)。两者都是自由/开源并根据GNU GPL下降(你需要看一下,如果你正在计划销售程序什么的。不过,你可以自由地送人)

基本上你可以运行程序,在关闭之前调用另一个程序,并让该程序充当脚本来调用g ++重新编译您的代码。我之前做过这个,但是为了更快的调试,而不是实际发布一个可以这样工作的程序。

+0

如果你决定走这条路...... [这里](http://stackoverflow.com/questions/5689437/compile-cpp-file-to-exe-inside-of-programexe)一个SO问题涉及到这一点 – blakek 2012-03-16 18:49:55

相关问题