Создание настроило .dmg файлы после загрузки

Я думаю, что этот прием является умным использованием препроцессора, который не может быть эмулирован с функцией:

#define COMMENT COMMENT_SLASH(/)
#define COMMENT_SLASH(s) /##s

#if defined _DEBUG
#define DEBUG_ONLY
#else
#define DEBUG_ONLY COMMENT
#endif

Тогда можно использовать его как это:

cout <<"Hello, World!" <<endl;
DEBUG_ONLY cout <<"This is outputed only in debug mode" <<endl;

можно также определить макрос RELEASE_ONLY.

6
задан Marten 9 December 2009 в 16:59
поделиться

2 ответа

Если ваш веб-сервер и клиент поддерживают кодировку gzip, то вы можете иметь дело с несжатыми файлами на сервере, но сжимать / распаковывать их на лету веб-сервером / веб-клиентом соответственно.

например, apache mod_gzip.

В противном случае вы можете разделить ваш dmg на 3 части:

  • материал перед тем, что вы хотите заменить
  • строка, которую вы хотите заменить
  • материал после того, что вы хотите для замены

    Если поток gzip разделяется в этих точках, вы можете просто объединить переднюю и заднюю часть в сжатую строку, которую хотите заменить. Это позволит вам сгенерировать его на лету.

0
ответ дан 17 December 2019 в 04:47
поделиться

Выпустить обычный сжатый dmg, доступный только для чтения. Затем свяжите свое приложение с установщиком пакета с предполетным скриптом, который устанавливает необходимые вам переменные.

0
ответ дан 17 December 2019 в 04:47
поделиться
Другие вопросы по тегам:

Похожие вопросы: