как изменить код в исполняемый файл после обновления - PullRequest
0 голосов
/ 16 марта 2012

У меня есть полная программа, но теперь я хочу, чтобы она могла быть обновлена.Поэтому я хотел бы изменить «код» в исполняемом файле новым кодом без его перекомпиляции.

Возможно ли это?Если да, как я могу это сделать, я пишу код на C ++ в Qt Creator.

Спасибо за любые советы / подсказки

Ответы [ 4 ]

3 голосов
/ 16 марта 2012

C ++ не может этого сделать.С QT вы могли бы реализовать реализацию кода, который вы хотите изменить, на javascript и обновить его.

1 голос
/ 20 марта 2012

Я сделал именно то, что сказал мне Джон: просто замените старый exe новым

0 голосов
/ 16 марта 2012

Хотя технически вы не можете сделать это в C ++ без перекомпиляции, если вы не хотите переписывать на другом языке программирования, вы могли бы написать небольшую вспомогательную программу, которая (в то время как исходная программа не выполняется) перекомпилирует первую программу.

Если бы вы действительно хотели это сделать (это совсем не сложно), я бы изучил GNU g ++ . Если вы используете Windows, вы, вероятно, захотите MinGW (что, я думаю, идет с установленным g ++). Оба являются бесплатными / с открытым исходным кодом и подпадают под действие GNU GPL (на что вам нужно обратить внимание, если вы планируете продать вашей программы. Однако вы можете отказаться от нее)

По сути, вы можете запустить свою программу, вызвать другую программу перед закрытием, и заставить эту программу действовать как скрипт для вызова g ++ для повторной компиляции вашего кода. Я делал это раньше, но для более быстрой отладки, а не для выпуска программы, которая работает таким образом.

0 голосов
/ 16 марта 2012

Не уверен, что это отвечает вашим потребностям, но вы смотрели на платформу ClickOnce? Хотя код все еще перекомпилируется на вашем сервере, исполняемый файл клиента обновляется через ClickOnce.

...