Как мешать GHC генерировать промежуточные файлы?

Так как received_s является массивом, Вы передаете указатель на тот массив. Функция управляет теми существующими данными на месте, не изменяя базовое местоположение или указатель. Касательно ключевого слова показывает, что Вы передаете фактический указатель на местоположение и обновляете тот указатель во внешней функции, таким образом, значение во внешней функции изменится.

, Например, массив байтов указатель на ту же память, прежде чем и после, память была просто обновлена.

ссылка Конечной точки на самом деле обновляет указатель на Конечную точку во внешней функции к новому экземпляру, сгенерированному в функции.

38
задан 11 September 2009 в 14:08
поделиться

4 ответа

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

Однако вы можете обнаружить, что устанавливает параметр -outputdir поможет вам; это поместит все ваши объектные файлы ( .o ), файлы интерфейса ( .hi ) и файлы-заглушки FFI в указанный каталог. Он по-прежнему "беспорядок", но, по крайней мере, его больше нет в вашем рабочем каталоге.

33
ответ дан 27 November 2019 в 03:38
поделиться

Обычно я использую cabal, а не ghc напрямую. Это устанавливает параметр outputdir в соответствующую папку сборки и может делать за вас такие вещи, как сборка документации пикши. Все, что вам нужно, это определить файл .cabal для вашего проекта, а затем сказать cabal install или cabal build вместо прямого запуска ghc. Поскольку вам нужно следовать этому процессу в конце, если вы когда-нибудь захотите поделиться своей работой над взломом, это хорошая практика, и она также помогает управлять зависимостями пакетов.

15
ответ дан 27 November 2019 в 03:38
поделиться

Я думаю, вы можете установить -hidir в / dev / null, отправив их туда. Кроме того, опция -fno-code в целом отключает большую часть вывода. Вы можете просто использовать Кабал.

6
ответ дан 27 November 2019 в 03:38
поделиться

Оказалось, что использование -hidir / -odir / -outputdir бесполезно; / dev / null - это файл, а не каталог. См. http://www.haskell.org/pipermail/xmonad/2010-May/010182.html

3
ответ дан 27 November 2019 в 03:38
поделиться
Другие вопросы по тегам:

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