АнглийскийФранцузскийИспанский

Значок OnWorks

ocamlopt.opt - Интернет в облаке

Запустите ocamlopt.opt в провайдере бесплатного хостинга OnWorks через Ubuntu Online, Fedora Online, онлайн-эмулятор Windows или онлайн-эмулятор MAC OS.

Это команда ocamlopt.opt, которую можно запустить в бесплатном хостинг-провайдере OnWorks, используя одну из наших многочисленных бесплатных онлайн-рабочих станций, таких как Ubuntu Online, Fedora Online, онлайн-эмулятор Windows или онлайн-эмулятор MAC OS.

ПРОГРАММА:

ИМЯ


ocamlopt - компилятор собственного кода OCaml

СИНТАКСИС


окамлопт [ кредита ] имя файла ...

ocamlopt.opt (такие же варианты)

ОПИСАНИЕ


Высокопроизводительный компилятор машинного кода OCaml окамлопт(1) компилирует исходные файлы OCaml в
объектные файлы собственного кода и свяжите эти объектные файлы для создания автономных исполняемых файлов.

" окамлопт(1) команда имеет интерфейс командной строки, очень близкий к интерфейсу окамлк(1). Это
принимает одни и те же типы аргументов и обрабатывает их последовательно:

Аргументы, оканчивающиеся на .mli, считаются исходными файлами для интерфейсов модулей компиляции.
Интерфейсы определяют имена, экспортируемые модулями компиляции: они объявляют имена значений с
их типы, определяют общедоступные типы данных, объявляют абстрактные типы данных и так далее. От
файл x.mli, окамлопт(1) компилятор создает скомпилированный интерфейс в файле x.cmi. В
созданный интерфейс идентичен создаваемому компилятором байт-кода окамлк(1).

Аргументы, оканчивающиеся на .ml, считаются исходными файлами для реализаций модуля компиляции.
Реализации предоставляют определения для имен, экспортируемых модулем, а также содержат
выражения, которые необходимо оценить на предмет их побочных эффектов. Из файла x.ml, окамлопт(1)
компилятор создает два файла: x.o, содержащий собственный объектный код, и x.cmx, содержащий
дополнительная информация для связывания и оптимизации клиентов подразделения. Скомпилированный
реализация всегда должна упоминаться под именем x.cmx (если задан файл .o,
окамлопт(1) предполагает, что он содержит код, скомпилированный из C, а не из OCaml).

Реализация сверяется с файлом интерфейса. x.mli (если он существует), как описано
в руководстве для окамлк(1).

Аргументы, оканчивающиеся на .cmx, считаются скомпилированным объектным кодом. Эти файлы связаны
вместе с объектными файлами, полученными путем компиляции аргументов .ml (если есть), и
стандартная библиотека OCaml для создания исполняемой программы с машинным кодом. Порядок в
какие аргументы .cmx и .ml представлены в командной строке, актуальны: компиляция
модули инициализируются в этом порядке во время выполнения, и использование
компонент модуля перед его инициализацией. Следовательно, данный x.cmx файл должен быть
перед всеми файлами .cmx, которые относятся к устройству x.

Аргументы, оканчивающиеся на .cmxa, считаются библиотеками объектного кода. Такая библиотека пакует
в двух файлах Lib.cmxa и Lib.aa набор объектных файлов (файлы .cmx / .o). Библиотеки построены
окамлопт -a (см. описание -a вариант ниже). Объектные файлы содержали
в библиотеке связаны как обычные файлы .cmx (см. выше) в порядке, указанном при
библиотека была построена. Единственное отличие состоит в том, что если объектный файл, содержащийся в
библиотека нигде не упоминается в программе, значит, она не связана.

Аргументы, заканчивающиеся на .c, передаются компилятору C, который генерирует объектный файл .o.
Этот объектный файл связан с программой.

Аргументы, оканчивающиеся на .o или .a, считаются объектными файлами и библиотеками C. Они есть
связаны с программой.

Результатом фазы компоновки является обычный исполняемый файл Unix. Это не нужно
Ocamlrun(1) бежать.

ocamlopt.opt тот же компилятор, что и окамлопт, но скомпилирован сам с собой, а не с
компилятор байт-кода окамлк(1). Таким образом, он ведет себя точно так же, как окамлопт, но компилирует
быстрее. ocamlopt.opt доступен не во всех установках OCaml.

ДОПОЛНИТЕЛЬНЫЕ ОПЦИИ


Следующие параметры командной строки распознаются окамлопт(1).

-a Создайте библиотеку (файл .cmxa / .a) с объектными файлами (файлы .cmx / .o), указанными на
командную строку, вместо того, чтобы связывать их в исполняемый файл. Имя
библиотека должна быть установлена ​​с -o опцию.

If -cclib or -ccopt параметры передаются в командной строке, эти параметры
хранится в полученной библиотеке .cmxa. Затем, связавшись с этой библиотекой
автоматически добавляет обратно -cclib и -ccopt варианты, как если бы они были предоставлены
в командной строке, если -нет автоссылки предоставляется вариант. Кроме того,
подстрока $ CAMLORIGIN внутри -ccopt параметры будут заменены полным путем к
библиотека .cma, за исключением имени файла.

-absname
Показывать абсолютные имена файлов в сообщениях об ошибках.

-аннот Вывести подробную информацию о компиляции (типы, привязки, хвостовые вызовы и т. Д.).
Информация для файла SRC.ml помещается в файл SRC.annot. В случае типа
error, выгрузите всю информацию, полученную средством проверки типов перед ошибкой. В
SRCФайл .annot можно использовать с командами emacs, указанными в emacs / caml-types.el в
отображать типы и другие аннотации в интерактивном режиме.

-бин-аннот
Вывести подробную информацию о компиляции (типы, привязки, хвостовые вызовы и т. Д.)
в двоичном формате. Информация для файла SRC.ml помещается в файл SRC.cmt. В
в случае ошибки типа, выгрузите всю информацию, полученную проверкой типов, перед
Ошибка. Файлы аннотаций, созданные -бин-аннот содержать больше информации
и намного компактнее, чем файлы, созданные -аннот.

-c Только компилировать. Подавить фазу компоновки компиляции. Файлы исходного кода
превращается в скомпилированные файлы, но исполняемый файл не создается. Этот вариант
полезно компилировать модули по отдельности.

-cc комп
Используйте комп как компоновщик C вызвал для сборки финального исполняемого файла и как C
компилятор для компиляции исходных файлов .c.

-cclib -lимя библиотеки
Пройти -lимя библиотеки вариант для компоновщика. Это приводит к тому, что данная библиотека C становится
связаны с программой.

-ccopt вариант
Передайте данную опцию компилятору и компоновщику C. Например, -ccopt -Lдиректория
заставляет компоновщик C искать библиотеки C в каталоге директория.

-компактный
Оптимизируйте созданный код по пространству, а не по времени. Это приводит к меньшему
но программы чуть медленнее. По умолчанию используется оптимизация по скорости.

-конфигурация
Выведите номер версии окамлопт(1) и подробное описание его
конфигурации, затем выйдите.

-для упаковки путь к модулю
Создайте объектный файл (файлы .cmx и .o), который позже можно будет включить в качестве вспомогательного
модуль (с заданным путем доступа) единицы компиляции, построенной с помощью -упаковка.
Например, окамлопт -для упаковки P -c А.мл создаст файлы .cmx и ao, которые
позже можно использовать с окамлопт -упаковка -o P.cmx а.cmx.

-g Добавляйте отладочную информацию при компиляции и компоновке. Эта опция требуется в
чтобы производить обратную трассировку стека, когда программа завершается на неперехваченном
исключение (см. Ocamlrun(1 г.)).

-i Заставить компилятор печатать все определенные имена (с их предполагаемыми типами или их
определения) при компиляции реализации (файл .ml). Нет скомпилированных файлов (.cmo
и файлы .cmi). Это может быть полезно для проверки типов, выводимых
компилятор. Кроме того, поскольку вывод следует синтаксису интерфейсов, это может помочь
при написании явного интерфейса (файла .mli) для файла: просто перенаправьте стандартный
вывод компилятора в файл .mli и отредактируйте этот файл, чтобы удалить все
объявления неэкспортированных имен.

-I каталог
Добавить указанный каталог в список каталогов, в которых выполняется поиск скомпилированного интерфейса.
файлы (.cmi), файлы скомпилированного объектного кода (.cmx) и библиотеки (.cmxa). По умолчанию,
сначала выполняется поиск в текущем каталоге, а затем в каталоге стандартной библиотеки.
Каталоги, добавленные с помощью -I, ищутся после текущего каталога в порядке, указанном в
которые они были заданы в командной строке, но до стандартной библиотеки
каталог. Также вариант -nostdlib.

Если данный каталог начинается с +, берется относительно стандартной библиотеки
каталог. Например, -I + компилятор-библиотеки добавляет подкаталог компилятор-библиотеки of
стандартную библиотеку в путь поиска.

-импл имя файла
Скомпилируйте файл имя файла как файл реализации, даже если его расширение не
.мл.

-в линию n
Установите агрессивность встраивания на n, Где n положительное целое число. Указание
-в линию 0 предотвращает встраивание всех функций, кроме тех, тело которых
меньше, чем место звонка. Таким образом, встраивание не вызывает увеличения размера кода. В
агрессивность по умолчанию, -в линию 1, позволяет встраивать чуть более крупные функции,
что привело к небольшому увеличению размера кода. Более высокие значения для -в линию вариант
привести к тому, что все большие и большие функции станут кандидатами на встраивание, но может привести
в серьезном увеличении размера кода.

-intf имя файла
Скомпилируйте файл имя файла как интерфейсный файл, даже если его расширение не .mli.

-intf-суффикс string
Распознавайте имена файлов, заканчивающиеся на string как файлы интерфейса (вместо стандартных
.мли).

-keep-локации
Храните строки документации в сгенерированных файлах .cmi.

-keep-локации
Сохраняйте местоположения в сгенерированных файлах .cmi.

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

-linkall
Принудительно связать все модули, содержащиеся в библиотеках. Если этот флаг не установлен
данные модули, на которые нет ссылок, не связаны. При построении библиотеки (-a флаг),
установка -linkall flag заставляет все последующие ссылки программ, связанных с этим
библиотека для связывания всех модулей, содержащихся в библиотеке.

-нет-псевдоним-депс
Не записывайте зависимости для псевдонимов модулей.

-нет функции приложения
Деактивирует аппликативное поведение функторов. С этой опцией каждый функтор
приложение генерирует новые типы в своем результате и дважды применяет один и тот же функтор
к тому же аргументу приводит к двум несовместимым структурам.

-нет утверждения
Не компилируйте проверки утверждений. Обратите внимание, что специальная форма утверждать ложный Всегда
скомпилирован, потому что он специально набран. Этот флаг не действует при связывании
уже скомпилированные файлы.

-нет автоссылки
При компоновке библиотек .cmxa игнорируйте -cclib и -ccopt варианты потенциально
содержащиеся в библиотеках (если эти параметры были указаны при сборке
библиотеки). Это может быть полезно, если библиотека содержит неверные спецификации C
библиотеки или опции C; в этом случае при связывании установите -нет автоссылки и передать
исправьте библиотеки C и параметры в командной строке.

-нодинлинк
Разрешить компилятору использовать некоторые оптимизации, которые действительны только для кода, который
никогда не динлинк.

-nostdlib
Не добавлять автоматически каталог стандартной библиотеки в список каталогов.
искал скомпилированные файлы интерфейса (.cmi), файлы скомпилированного объектного кода (.cmx),
и библиотеки (.cmxa). Также вариант -I.

-без меток
Игнорируйте необязательные метки в типах. Ярлыки нельзя использовать в приложениях, и
порядок параметров становится строгим.

-o exec-файл
Укажите имя выходного файла, созданного компоновщиком. Имя вывода по умолчанию
является a.out в соответствии с традициями Unix. Если -a дана опция, укажите
название созданной библиотеки. Если -упаковка задана опция, укажите название
созданный упакованный объектный файл. Если -выход-объект указана опция, укажите
имя создаваемого выходного файла. Если -общий дана опция, укажите название
создаваемого файла плагина. Это также можно использовать при компиляции интерфейса или
файл реализации, без связывания, и в этом случае он устанавливает имя cmi или
cmo, а также устанавливает в качестве имени модуля имя файла до первой точки.

-открыть модуль
Открывает данный модуль перед обработкой файлов интерфейса или реализации. Если
несколько -открыть приведены варианты, они обрабатываются по порядку, как если бы
заявления открыты! module1 ;; ... открытым! moduleN ;; были добавлены вверху каждого файла.

-выход-объект
Заставить компоновщик создать объектный файл C вместо исполняемого файла. Это
полезно обернуть код OCaml как библиотеку C, которую можно вызвать из любой программы C. Имя
выходной объектный файл должен быть установлен с -o вариант. Этот вариант также может быть
используется для создания скомпилированной общей / динамической библиотеки (расширение .so).

-p Сгенерируйте дополнительный код для записи информации профиля при выполнении программы. В
информация профиля может быть исследована с помощью программы анализа гпроф(1).
-p опция должна быть указана как во время компиляции, так и во время компоновки. Связывающий объект
файлы, не скомпилированные с -p возможно, но приводит к менее точному профилированию.

Смотрите пост в гпроф(1) справочная страница для получения дополнительной информации о профилях.

Полная поддержка гпроф(1) доступно только для определенных платформ (в настоящее время: Intel
x86 / Linux и Alpha / Digital Unix). На других платформах -p вариант будет результатом
в менее точном профиле (без информации о графике звонков, только временной профиль).

-упаковка Создайте объектный файл (файлы .cmx и .o) и связанный с ним скомпилированный интерфейс.
(.cmi), который объединяет объектные файлы .cmx, указанные в командной строке, делая их
появляются как подмодули выходного файла .cmx. Имя выходного файла .cmx
должен быть дан с -o вариант. Например,
окамлопт -упаковка -o P.cmx A.cmx Б.cmx C.cmx генерирует скомпилированные файлы P.cmx, Po и
P.cmi, описывающий модуль компиляции, имеющий три подмодуля A, B и C,
соответствующие содержимому объектных файлов A.cmx, B.cmx и C.cmx. Эти
содержимое может обозначаться как PA, PB и PC в остальной части программы.

Объединяемые объектные файлы .cmx должны быть скомпилированы с соответствующими
-для упаковки вариант. В приведенном выше примере A.cmx, B.cmx и C.cmx должны быть
составлено с окамлопт -для упаковки P.

Несколько уровней упаковки могут быть достигнуты путем комбинирования -упаковка -для упаковки. Посмотреть
" OCaml пользователя Посмотреть руководство, главу "Компиляция нативного кода" для более подробной информации.

-pp команду
Заставить компилятор вызвать данный команду как препроцессор для каждого источника
файл. Выход команду перенаправляется в промежуточный файл, который
составлен. Если ошибок компиляции нет, промежуточный файл удаляется
в конце.

-ппкс команду
После синтаксического анализа пропустите абстрактное синтаксическое дерево через препроцессор. команду,
модуль Ast_mapper(3) реализует внешний интерфейс препроцессора.

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

-ректипы
Разрешить произвольные рекурсивные типы во время проверки типов. По умолчанию только рекурсивный
поддерживаются типы, в которых рекурсия проходит через тип объекта. Обратите внимание, что однажды
вы создали интерфейс с этим флагом, вы должны использовать его снова для всех
зависимости.

-runtime-вариант суффикс
Добавить суффикс к имени библиотеки времени выполнения, которая будет использоваться программой. Если
OCaml был настроен с опцией -с-отладкой-время выполнения, то d суффикс
поддерживается и предоставляет отладочную версию среды выполнения.

-S Сохраните ассемблерный код, созданный во время компиляции. Код сборки для
исходный файл x.ml сохраняется в файле x.с.

-safe-строка
Обеспечьте разделение между типами string и байт, тем самым делая строки читаемыми -
Только. Это станет значением по умолчанию в будущей версии OCaml.

-общий
Создайте плагин (обычно .cmxs), который можно динамически загружать с Динлинк
модуль. Имя плагина должно быть установлено с -o вариант. Плагин может включать
ряд модулей и библиотек OCaml, а также дополнительные собственные объекты (файлы .o, .a).
Сборка собственных плагинов поддерживается только для некоторых операционных систем. Под некоторыми
систем (в настоящее время только Linux AMD 64), весь код OCaml, связанный в плагине, должен
были скомпилированы без -нодинлинк флаг. Могут также применяться некоторые ограничения
способу компиляции дополнительных нативных объектов (в Linux AMD 64 они
должен содержать только позиционно-независимый код).

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

-строгая последовательность
Левая часть последовательности должна иметь тип unit.

-нить
Компиляция или компоновка многопоточных программ в сочетании с системными потоками
библиотека, описанная в " OCaml пользователя Посмотреть руководство.

- небезопасно
Отключите проверку границ для доступа к массивам и строкам ( v. (i)иs. [i]
конструкции). Программы, скомпилированные с - небезопасно поэтому быстрее, но небезопасно:
все может случиться, если программа обращается к массиву или строке за пределами своего
границы. Дополнительно отключите проверку делителя нуля при целочисленном делении и
модульные операции. С участием - небезопасно, целочисленное деление (или модуль) на ноль может
остановить программу или продолжить с неопределенным результатом вместо того, чтобы поднять
Деление на ноль исключение.

-unsafe-строка
Определить типы string и байт, тем самым делая строки доступными для записи. По причинам
обратной совместимости, на данный момент это значение по умолчанию, но это
изменится в будущей версии OCaml.

-v Выведите номер версии компилятора и расположение стандартной библиотеки.
каталог, затем выйдите.

-подробный
Распечатайте все внешние команды перед их выполнением, в частности, вызовы
ассемблер, компилятор C и компоновщик.

-версия or -vnum
Выведите номер версии компилятора в краткой форме (например, «3.11.0»), затем выйдите.

-w список предупреждений
Включить, отключить или пометить как фатальные предупреждения, указанные в аргументе
список предупреждений. Посмотреть окамлк(1) для синтаксиса список предупреждений.

-предупреждение-ошибка список предупреждений
Отметить как фатальные предупреждения, указанные в аргументе список предупреждений. Компилятор
остановится с ошибкой при появлении одного из этих предупреждений. В список предупреждений
имеет то же значение, что и -w вариант: а + знак (или заглавная буква) знаки
соответствующие предупреждения как фатальные, - знак (или строчная буква) переворачивает их
обратно в несмертельные предупреждения, а @ знак как разрешающий, так и помечающий как фатальный
соответствующие предупреждения.

Примечание: не рекомендуется использовать -предупреждение-ошибка опция в производственном коде,
потому что это почти наверняка предотвратит компиляцию вашей программы с более поздними версиями
OCaml, когда они добавляют новые или изменяют существующие предупреждения.

Значение по умолчанию: -предупреждение-ошибка -a (все предупреждения несмертельны).

-предупреждение-помощь
Показать описание всех доступных номеров предупреждений.

-где Распечатайте расположение стандартной библиотеки и выйдите.

- файл Разработка файл в качестве имени файла, даже если оно начинается с символа тире (-).

-Помощь or --Помогите
Отобразите краткую сводку использования и выйдите.

ДОПОЛНИТЕЛЬНЫЕ ОПЦИИ Для IA32 АРХИТЕКТУРА


Генератор кода IA32 (Intel Pentium, AMD Athlon) поддерживает следующие дополнительные
опции:

-ffast-математика
Используйте инструкции IA32 для вычисления тригонометрических и экспоненциальных функций,
вместо вызова соответствующих библиотечных подпрограмм. Затронутые функции:
загар, атан2, тележка, журнал, log10, без, SQRT и загар. Полученный код работает быстрее,
но диапазон поддерживаемых аргументов и точность результата могут быть
уменьшенный. В частности, тригонометрические операции тележка, без, загар иметь свой диапазон
уменьшено до [-2 ^ 64, 2 ^ 64].

ДОПОЛНИТЕЛЬНЫЕ ОПЦИИ Для AMD64 АРХИТЕКТУРА


Генератор кода AMD64 (64-битные версии Intel Pentium и AMD Athlon) поддерживает
следующие дополнительные опции:

-fPIC Сгенерируйте машинный код, не зависящий от позиции. Это значение по умолчанию.

-fno-ПИК
Сгенерируйте машинный код, зависящий от позиции.

ДОПОЛНИТЕЛЬНЫЕ ОПЦИИ Для SPARC АРХИТЕКТУРА


Генератор кода Sparc поддерживает следующие дополнительные параметры:

-март = v8
Сгенерируйте код SPARC версии 8.

-март = v9
Сгенерируйте код SPARC версии 9.

По умолчанию создается код для SPARC версии 7, который работает на всех процессорах SPARC.

ДОПОЛНИТЕЛЬНЫЕ ОПЦИИ Для ARM АРХИТЕКТУРА


Генератор кода ARM поддерживает следующие дополнительные параметры:

-farch=armv4|armv5|armv5te|armv6|armv6t2|armv7
Выберите целевую архитектуру ARM

-ffpu = soft | vfpv2 | vfpv3-d16 | vfpv3
Выберите оборудование с плавающей запятой

-fPIC Сгенерируйте машинный код, не зависящий от позиции.

-fno-ПИК
Сгенерируйте машинный код, зависящий от позиции. Это значение по умолчанию.

пятый палец
Включить генерацию кода Thumb / Thumb-2

-fno-большой палец
Отключить генерацию кода Thumb / Thumb-2

Значения по умолчанию для целевой архитектуры, оборудования с плавающей запятой и использования большого пальца были
выбирается во время настройки при сборке окамлопт сам. Эта конфигурация может быть
проверено с использованием окамлопт -конфигурация. Целевая архитектура зависит от настройки "модели",
в то время как оборудование с плавающей запятой и поддержка большого пальца определяются из настройки ABI в
"система" ( linux_eabiorlinux_eabihf).

Используйте ocamlopt.opt онлайн с помощью сервисов onworks.net


Бесплатные серверы и рабочие станции

Скачать приложения для Windows и Linux

  • 1
    Загрузчик изображений
    Загрузчик изображений
    Сканирование и загрузка изображений с помощью
    Selenium с использованием python3 и PyQt5.
    Поддерживаемая поисковая система: Google, Bing,
    Байду. ввод ключевых слов с клавиатуры
    или ввод из...
    Скачать загрузчик изображений
  • 2
    Плагин Eclipse Tomcat
    Плагин Eclipse Tomcat
    Плагин Eclipse Tomcat предоставляет
    простая интеграция сервлета tomcat
    контейнер для разработки java
    веб-приложения. Вы можете присоединиться к нам для
    обсуждение ...
    Скачать подключаемый модуль Eclipse Tomcat
  • 3
    WebTorrent Desktop
    WebTorrent Desktop
    WebTorrent Desktop предназначен для потоковой передачи
    торренты на Mac, Windows или Linux. Это
    подключается как к BitTorrent, так и к
    Одноранговые узлы WebTorrent. Теперь нет
    нужно ждать ...
    Скачать WebTorrent для рабочего стола
  • 4
    GenX
    GenX
    GenX - это научная программа для улучшения
    коэффициент отражения рентгеновских лучей, нейтрон
    отражательная способность и поверхностные рентгеновские лучи
    данные дифракции с использованием дифференциального
    алгоритм эволюции ....
    Скачать GenX
  • 5
    pspp4windows
    pspp4windows
    PSPP — программа для статистического
    анализ выборочных данных. это бесплатно
    замена фирменной программе
    СПСС. PSPP имеет как текстовую, так и
    графические нас...
    Скачать pspp4windows
  • 6
    Расширения Git
    Расширения Git
    Git Extensions - это автономный инструмент пользовательского интерфейса
    для управления репозиториями Git. Это также
    интегрируется с проводником Windows и
    Microsoft Visual Studio
    (2015/2017/2019). Ч ...
    Скачать расширения Git
  • Больше »

Команды Linux

Ad