Как электронная книга для exe приложения компилируется в автономный исполняемый файл? - PullRequest
0 голосов
/ 18 июня 2009

Я пытаюсь понять, как различные приложения для электронных книг компилируют свой вывод в автономный исполняемый файл без каких-либо зависимостей при запуске exe. Как это можно сделать? Они используют настоящий встроенный компилятор?

Ответы [ 4 ]

3 голосов
/ 21 июня 2009

Приложение ebook, вероятно, создает приложение со встроенным веб-браузером. Приложение будет предварительно скомпилировано, и единственное, чего не хватит, это html-контенту. Это будет добавлено в качестве ресурса. Полный компилятор не нужен. Все, что нужно, это добавить ресурсы в существующий исполняемый файл.

См. Эту статью о том, как HTML-страницы могут быть добавлены в ресурсную dll. Resource hacker - это утилита, которая может извлекать / заменять ресурсы из любого исполняемого файла. Для этого не требуется компилятор.

1 голос
/ 23 июня 2009

Самый простой подход, используемый многими модулями sfx архиваторов, состоит в том, чтобы предварительно скомпилировать заглушку, а затем добавить созданную информацию в эту заглушку (в вашем случае скомпилированная электронная книга). Затем, когда исполняется exe, определяется начало информационного блока (например, с некоторой предварительно определенной последовательностью байтов) и извлекается информация для воспроизведения.

Вы даже можете вставлять внешние ссылки в ваш exe-файл, например, некоторые инструменты, включая файлы DLL в качестве ресурсов, которые извлекаются при запуске в папку temp и затем загружаются оттуда.

Конечно, есть более сложные способы встраивания информации в существующий исполняемый файл, например, BeginUpdateResource - UpdateResource - последовательность EndUpdateResource в WinNT - это еще один способ встроить вашу информацию в исполняемый файл (как ресурс).

0 голосов
/ 28 июня 2009

Приложение ebook exe может поместить вашу книгу в ресурс в .exe и попытаться использовать встроенный браузер pdf activex для загрузки книги.

0 голосов
/ 18 июня 2009

Они просто включают загрузчик / просмотрщик электронной книги, который связан с данными самой книги внутри исполняемого файла.

Есть много способов сделать это, прежде всего вы должны понять, если бинарный файл действительно не имеет зависимостей или если он ищет библиотеки (например, acrobat), то вы можете запрограммировать программу просмотра, которая загружает свои данные непосредственно из двоичный файл в векторном представлении (меньшего размера) либо в графическом представлении (например, в формате PDF, без текста)

Я предполагаю, что вы говорите о pdf-книге ... для всех остальных форматов идея остается прежней: соединение данных книги со средством просмотра

...