Spec-Zone.ru › Haskell 8

7. Использование GHC

  • 7.1. Использование GHC
    • 7.1.1. Начало работы: компиляция программ
    • 7.1.2. Обзор опций
      • 7.1.2.1. Аргументы командной строки
      • 7.1.2.2. Опции командной строки в исходных файлах
      • 7.1.2.3. Установка опций в GHCi
    • 7.1.3. Динамические и опции режима
    • 7.1.4. Значимые расширения файлов
    • 7.1.5. Режимы работы
      • 7.1.5.1. Использование ghc --make
      • 7.1.5.2. Режим оценки выражений
      • 7.1.5.3. Режим пакетной компиляции
        • 7.1.5.3.1. Переопределение стандартного поведения для файла
    • 7.1.6. Опции удобочитаемости
    • 7.1.7. Флаги, специфичные для платформы
    • 7.1.8. Разнообразные флаги
      • 7.1.8.1. Другие переменные окружения
  • 7.2. Предупреждения и проверка корректности
  • 7.3. Оптимизация (улучшение кода)
    • 7.3.1. -O*: удобные «пакеты» флагов оптимизации.
    • 7.3.2. -f*: платформонезависимые флаги
  • 7.4. Использование Concurrent Haskell
  • 7.5. Использование SMP-параллелизма
    • 7.5.1. Опции времени компиляции для SMP-параллелизма
    • 7.5.2. Опции RTS для SMP-параллелизма
    • 7.5.3. Советы по использованию SMP-параллелизма
  • 7.6. Справочник по флагам
    • 7.6.1. Опции удобочитаемости
    • 7.6.2. Альтернативные режимы работы
    • 7.6.3. Какие фазы запускать
    • 7.6.4. Перенаправление вывода
    • 7.6.5. Сохранение промежуточных файлов
    • 7.6.6. Временные файлы
    • 7.6.7. Поиск импортов
    • 7.6.8. Опции файла интерфейса
    • 7.6.9. Проверка повторной компиляции
    • 7.6.10. Опции интерактивного режима
    • 7.6.11. Пакеты
    • 7.6.12. Опции языка
    • 7.6.13. Предупреждения
    • 7.6.14. Уровни оптимизации
    • 7.6.15. Отдельные оптимизации
    • 7.6.16. Опции профилирования
    • 7.6.17. Опции покрытия программы
    • 7.6.18. Опции препроцессора C
    • 7.6.19. Опции генерации кода
    • 7.6.20. Опции компоновки
    • 7.6.21. Опции плагинов
    • 7.6.22. Замена фаз
    • 7.6.23. Принудительное применение опций к определенным фазам
    • 7.6.24. Платформозависимые опции
    • 7.6.25. Опции отладки компилятора
    • 7.6.26. Разнообразные опции компилятора
  • 7.7. Запуск скомпилированной программы
    • 7.7.1. Установка опций RTS
      • 7.7.1.1. Установка опций RTS в командной строке
      • 7.7.1.2. Установка опций RTS во время компиляции
      • 7.7.1.3. Установка опций RTS с переменной окружения GHCRTS
      • 7.7.1.4. «Крючки» для изменения поведения RTS
        • 7.7.1.4.1. События во время выполнения
        • 7.7.1.4.2. Вывод журнала событий
    • 7.7.2. Разнообразные опции RTS
    • 7.7.3. Опции RTS для управления сборщиком мусора
    • 7.7.4. Опции RTS для создания статистики выполнения
    • 7.7.5. Опции RTS для параллельности и конкурентности
    • 7.7.6. Опции RTS для профилирования
    • 7.7.7. Трассировка
    • 7.7.8. Опции RTS для хакеров, отладчиков и чрезмерно заинтересованных лиц
    • 7.7.9. Получение информации о RTS
END_OF_DOCUMENT_MARKER
  • 7.8. Имена файлов и отдельная компиляция
    • 7.8.1. Файлы исходного кода Haskell
    • 7.8.2. Выходные файлы
    • 7.8.3. Путь поиска
    • 7.8.4. Перенаправление вывода компиляции
    • 7.8.5. Сохранение промежуточных файлов
    • 7.8.6. Перенаправление временных файлов
    • 7.8.7. Другие параметры, связанные с файлами интерфейса
    • 7.8.8. Параметры, связанные с расширенными файлами интерфейса
    • 7.8.9. Проверка повторной компиляции
    • 7.8.10. Как скомпилировать взаимно рекурсивные модули
    • 7.8.11. Подписи модулей
    • 7.8.12. Использование make
    • 7.8.13. Генерация зависимостей
    • 7.8.14. Модули-сироты и объявления экземпляров
  • 7.9. Пакеты
    • 7.9.1. Использование пакетов
    • 7.9.2. Пакет main
    • 7.9.3. Последствия использования пакетов для языка Haskell
    • 7.9.4. Уточнение и переименование модулей
    • 7.9.5. Базы данных пакетов
      • 7.9.5.1. Переменная окружения GHC_PACKAGE_PATH
      • 7.9.5.2. Среды пакетов
    • 7.9.6. Идентификаторы установленных пакетов, зависимости и сломанные пакеты
    • 7.9.7. Управление пакетами (команда ghc-pkg)
    • 7.9.8. Создание пакета из исходного кода Haskell
    • 7.9.9. InstalledPackageInfo: описание пакета
  • 7.10. Бэкэнды GHC
    • 7.10.1. Генератор кода нативных языков (-fasm)
    • 7.10.2. Генератор кода LLVM (-fllvm)
    • 7.10.3. Генератор кода на C (-fvia-C)
    • 7.10.4. Незарегистрированная компиляция
  • 7.11. Параметры, относящиеся к определенной фазе
    • 7.11.1. Замена программы для одной или нескольких фаз
    • 7.11.2. Принудительное задание параметров для определенной фазы
    • 7.11.3. Параметры, влияющие на препроцессор C
      • 7.11.3.1. Стандартные макросы CPP
      • 7.11.3.2. CPP и разрывы строк
    • 7.11.4. Параметры, влияющие на препроцессор Haskell
    • 7.11.5. Параметры, влияющие на генерацию кода
    • 7.11.6. Параметры, влияющие на линковку
  • 7.12. Использование динамических библиотек
    • 7.12.1. Создание программ, использующих динамические библиотеки
    • 7.12.2. Динамические библиотеки для пакетов Haskell
    • 7.12.3. Динамические библиотеки, экспортирующие C API
    • 7.12.4. Поиск динамических библиотек во время выполнения
      • 7.12.4.1. Unix
      • 7.12.4.2. Mac OS X
  • 7.13. Отладка компилятора
    • 7.13.1. Вывод промежуточных структур компилятора
      • 7.13.1.1. Фронтенд
      • 7.13.1.2. Проверка типов и переименование
      • 7.13.1.3. Представление ядра и упрощение
      • 7.13.1.4. Представление STG
      • 7.13.1.5. Представление C--
      • 7.13.1.6. Генератор кода LLVM
      • 7.13.1.7. Генератор кода нативных языков
      • 7.13.1.8. Разнообразные выводы бэкэнда
    • 7.13.2. Форматирование выводов
    • 7.13.3. Подавление нежелательной информации
    • 7.13.4. Проверка на непротиворечивость
    • 7.13.5. Проверка на детерминированность
    • 7.13.6. Прочие

© 2002–2007 The University Court of the University of Glasgow. All rights reserved.
Licensed under the Glasgow Haskell Compiler License.
https://downloads.haskell.org/~ghc/8.10.2/docs/html/users_guide/usage.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API