Вверх ↑
Этот топик читают: Гость
Этот топик был перемещен из раздела "Помощь по среде"
Ответов: 8701
Рейтинг: 806
#31: 2021-04-01 21:03:30 ЛС | профиль | цитата
konsys, чуть изменил обработку, но стала медленнее, испытайте. В архив положил пару пробных файлов, большие, поэтому на Яндекс-диск. https://yadi.sk/d/B_RilhW9MGLvLA
карма: 19

0
Ответов: 1845
Рейтинг: 123
#32: 2021-04-01 21:35:47 ЛС | профиль | цитата
flash1103
Привет!
карма: 5

0
Ответов: 32
Рейтинг: 0
#33: 2021-04-01 22:54:36 ЛС | профиль | цитата
Леонид писал(а):
konsys, чуть изменил обработку, но стала медленнее, испытайте. В архив положил пару пробных файлов, большие, поэтому на Яндекс-диск. https://yadi.sk/d/B_RilhW9MGLvLA

Проверил - Работает все отлично..
еще попроверяю.

Подскажите,можно ли получить сам код программы (листинг) на каком нибудь языке - С++ Питон, .......
карма: 0

0
Ответов: 8701
Рейтинг: 806
#34: 2021-04-01 23:40:40 ЛС | профиль | цитата
konsys, при компиляции в папке с кодами "%%hiasm_4,04b186\Elements\Delphi\code" генерируется файл *.dcu, но чтобы он сохранился, надо где-то поставить "галочку", вот где, не помню, может кто подскажет
карма: 19

0
Ответов: 1845
Рейтинг: 123
#35: 2021-04-02 12:14:32 ЛС | профиль | цитата
Леонид, я точно не помню, кажется надо -Q убрать.
-N<path> = куда сохранять DCU.
Выбрать пункт "Сервис" далее "компиляторы"
В открывшемся окне заполнить окошки следующем образом:
Путь - compiler\delphi\dcc32.exe
Командная строка - "%fname%" "-U%opath%." -Q

Syntax: DCC32 [options] filename [options]
-A<unit>=<alias> = Set unit alias -K<addr> = Set image base addr
-B = Build all units -LU<package> = Use package
-CC = Console target -M = Make modified units
-CG = GUI target -N<path> = DCU output directory
-D<syms> = Define conditionals -O<paths> = Object directories
-E<path> = EXE output directory -P = look for 8.3 file names also
-F<offset> = Find error -Q = Quiet compile
-GD = Detailed map file -R<paths> = Resource directories
-GP = Map file with publics -U<paths> = Unit directories
-GS = Map file with segments -V = Debug information in EXE
-H = Output hint messages -W = Output warning messages
-I<paths> = Include directories -Z = Output 'never build' DCPs
-J = Generate .obj file -$<dir> = Compiler directive
-JP = Generate C++ .obj file
Compiler switches: -$<letter><state> (defaults are shown below)
A+ Aligned record fields P+ Open string params
B- Full boolean Evaluation Q- Integer overflow checking
C+ Evaluate assertions at runtime R- Range checking
D+ Debug information T- Typed @ operator
G+ Use imported data references U- Pentium(tm)-safe divide
H+ Use long strings by default V+ Strict var-strings
I+ I/O checking W- Generate stack frames
J+ Writeable structured consts X+ Extended syntax
L+ Local debug symbols Y+ Symbol reference info
M- Runtime type info Z1 Minimum size of enum types
O+ Optimization
Stack size: -$M<minStackSize[,maxStackSize]> (default 16384,1048576)

FPC
5.1 Использование параметров командной строки

Набор доступных параметров для компилятора упорядочен по категориям.

5.1.1 Общие параметры

-h напечатать список всех параметров и завершить работу.

-? То же, что -h, ожидает нажатия клавиши ввода после каждого заполнения экрана.

-i Отображает авторские права и другую информацию. Вы можете поставить квалификатор -ixxx, где xxx может быть одним из следующих:

D : Возвращает текущую дату компилятора.

V : Возвращает короткую версию компилятора.

W : Возвращает полную версию компилятора.

SO : Возвращает имя операционной системы.

SP : Возвращает имя процессора.

TO : Возвращает имя целевой операционной системы.

TP : Возвращает имя целего процессора.

-l : Выводит логотип Free Pascal и версию компилятора.

-n : Игнорировать файл конфигурации. Вы все еще можете передать файл конфигурации с помощью параметра @.

5.1.2 Параметры получения ответной реакции

-vxxx Быть информативнее. xxx это комбинация из следующих действий:

• e : Показывать ошибки. Эта опция включена по умолчанию.

• i : Показать общую информацию.

• w : Выдавать предупреждения.

• n : Выдавать замечания.

• h : Выдавать подсказки.

• i : Выдавать информационные сообщения.

• l : Сообщать о количестве обработанных строк (каждые 100 строк).

• u : Показать информацию о загружаемых модулях.

• t : Показать имена открываемых файлов.

• p : Показать имена обрабатываемых процедур и функций.

• q : Показывать номера сообщения.

• c : Сообщать о каждом обрабатываемом условном операторе.

• mxxx : xxx представляет собой разделённый запятой список номеров сообщений, которые не должны отображаться. Эту опцию можно указывать несколько раз.

• d : Показать дополнительную информацию отладки.

• 0 : Нет сообщений. Это полезно для переопределения стандартного файла конфигурации.

• b : Показать все объявления процедур, если в перегруженной функции есть ошибки.

• x : Показать информацию о исполняемом файле (только на платформа Win32).

• r : Форматировать ошибки в режиме совместимости с RHIDE/GCC.

• a : Показать всю возможную информацию. (это как указать все параметры)

• b : Сообщает компилятору что для вывода имен файлов нужно использовать полные пути.

• v : Записать дополнительную отладочную информацию в файл fpcdebug.txt .

• s : Записать временные метки. В основном для разработчиков компилятора.

Разница между error/fatal error/hint/warning/note в строгости:

Fatal Компилятор обнаружил ошибку, и не может продолжить компиляцию. Он остановится на первой же ошибке.

Error Компилятор обнаружил ошибку, но может продолжать компиляцию(в лучшем случае до конца текущего модуля).

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

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

Note Есть некоторая заслуживающая внимания информация, но опять же нет никакой ошибки.

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

5.1.3 Параметры относящиеся к файлам и каталогам.

-exxx Укажите xxx как каталог, содержащий исполняемые файлы для программ as (ассемблера) и ld (компоновщика).

-FaXYZ загружает модули XYZ после модуля system, но перед загрузкой любого другого модуля. XYZ представляет собой список имён модулей, разделённых запятой. Такой подход может использоваться только для программ, и приводит к тому же результату, что и вставка XYZ первым элементом секции uses программы.

-FcXXX Установите кодовую страницу в XXX. Экспериментально.

-FCxxx Установите в xxx имя исполняемого файла RC компилятора(компилятор ресурсов).

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


-FD тоже что и -e.

-Fexxx Записывать ошибки и т.п. в файл с именем xxx.

-FExxx Записывать исполняемый файл и модули в директорию xxx вместо текущей директории. Если после этой опции указана опция -o (см. стр. 29), и значение этой опции содержит путь, то вместо установок -FExxx будет использоваться путь, указанный в -o.

-Ffxxx Добавить xxx к пути до фреймоворка (только для Darwin).

-Fixxx Добавить xxx к пути поиска включаемых файлов.

-Flxxx Добавить xxx к пути поиска библиотек. (Эта опция также передаётся компоновщику.)

-FLxxx (только для LINUX) Использовать xxx в качестве динамического компоновщика. По умолчанию используется /lib/ld-linux.so.2, или /lib/ldlinux.so.1, в зависимости от того, какой из них найден первым.

-Fmxxx Загружать таблицу перекодировки юникода из файла x.txt в той же директории, где размещён компилятор. Используется только тогда, когда -Fc также указана.

-Foxxx Добавить xxx к пути поиска объектных файлов. Этот путь используется при поиске файлов, которые нужно скомпоновать.

-Frxxx Установить xxx в качестве файла, содержащего сообщения компилятора. Установка этой опции заменит

используемые по умолчанию встроенные сообщения компилятора, записанные на английском языке.

-FRxxx Использовать xxx в качестве компоновщика ресурсов (.res) .

-Fuxxx Добавить xxx к пути поиска модулей. В первую очередь поиск модулей происходит в текущей директории. Если их не удаётся найти, компилятор ищет их в пути к модулям. Необходимо всегда указывать путь к модулю system. Путь xxx может содержать единственный подстановочный символ (*), который будет развёрнут во все возможные имена директорий, найденные в указанном месте. Обратите внимание, что само это место не включается в список. Дополнительная информация об этом параметре приведена в разделе 3.1.2, стр. 16.

-FUxxx Записывать модули в директорию xxx вместо текущей директории. Эта опция заменяет опцию -FE.

-Ixxx Добавить xxx к пути поиска включаемых файлов. Эта опция приводит к тому же результату что и -Fi.

-FWxxx сохранять информацию об оптимизации всей программы (Whole Program Optimization) в файле xxx.

-Fwxxx Читать информацию об оптимизации всей программы из файла xxx.

5.1.4 Параметры, управляющие способом вывода.

Дополнительную информацию об этих параметрах можно найти в Руководстве Разработчика.

-a Не удалять файлы ассемблера (не применяется при использовании встроенного ассемблера). Применяется также к (возможно) генерируемым скриптам пакетной обработки.

-al Включать строки исходного кода в файл ассемблера в виде комментариев.

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

-ap Использовать пайпы (pipes) вместо создания временных файлов ассемблера. Это может ускорить компилятор на OS/2 и Linux. Только для ассемблеров как, например, GNU, если используется внутренний ассемблер.

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

-at Перечислить информацию о временных ассигнованиях и деассигнованиях в файле ассемблера.

-Аxxx Указать какой ассемблер должен быть сформирован. Здесь ххх является одним из следующего:

default Использлвать встроенный.

as Осуществлять сборку ассемблером GNU.

nasmcoff Coff (Go32v2) файл с использованием Nasm.

nasmelf Elf32 (LINUX) файл с использлванием Nasm.

nasmwin32 WINDOWS 32-битный файл с использованием Nasm.

nasmwdosx WINDOWS 32-битный/DOSX файл с использованием Nasm.

nasmobj Object-файл с использованием Nasm.

masm Object-файл с использованием Masm (Microsoft).

tasm Object-файл с использованием Tasm (Borland).

elf Elf32 (LINUX) с использованием встроеного движка сборки.

coff Coff object-файл (Go32v2) с использованием внутреннего движка записи бинарных object файлов.

pecoff PECoff object-файл (Win32) с использованием внутреннего движка записи бинарных object файлов.

-B Перекомпилировать все используемые модули, даже если исходники модулей не изменялись со времени последней компиляции.

-b Создать информацию браузера. Эта информация может быть использована интегрированной средой разработки (IDE) для предоставления информации о классах, объектах, процедурах, типах и переменных в модуле.

-bl Так же как -b, но также генерирует информацию о локальных переменных, типах и процедурах.

-Caxxx Задать ABI (Application Binary Interface) для xxx. Опция -i дает возможные значения для xxx.

-Cb Создавать код от старшего к младшему.

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

-CD Создать динамическую библиотеку. Используется для преобразования модулей в динамично подключаемые библиотеки в Linux.

-Ce Эмулировать операции с плавающей запятой.

-Cfxxx Задать используемый обработчик с плавающей запятой как xxx.

-CFNN Установить минимальное округление для действий с плавающей запятой в NN. Возможные значения: 32 и 64.

-Cg Включить поколение PIC кода. Это необходимо только при создании библиотек в Linux или других Unix-подобных системах.

-Chxxx Резервиует кучу размером XXX байт. ххх должно быть между 1024 и 67107840.

-Ci Создать код проверки входа/выхода. В случае, если некоторый входной/выходной код Вашей программы возвращает статус ошибки в программе, то программа завершается с run-time error. Какая именно ошибка сгенерируется зависит от ошибки ввода/вывода,

с которой завершится программа. Какая ошибка генерируется зависит от ошибки ввода-вывода.

-Cn Пропустить режим компоновки.

-Co Создать код проверки переполнения чисел . В случае ошибки, вашей программой будет сгенерирована ошибка времени выполнения.

-CO Проверять возможность переполнения целочисленных операций.

-CpXXX Установить тип процессора

-CPX=N Задать упокавывание для X как N. X может быть PACKSET, PACKENUM или PACKRECORD, а N может принимать значения 1,2,4,8 или одно из ключевых слов DEFAULT или NORMAL.

-Cr Создать код проверки диапазонов. Если ваша программа обращается к элементу массива с индексом недействительным, или если он перевеличивает типа за его рамки, то сгенерируется ошибка времени выполнения.

-CR Создать проверку при вызове методов для проверки ТВМ для этого объекта является действительной.

-Csxxx Задать размер стека как xxx.

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

-CX Создать smartlinked модуль при записи модуля. Smartlinking подключает толко те части кода, которые действительно необходимы программе. Весь неиспользованный код опущен. Это может привести к существенному уменьшению двоичных файлов.

-dxxx Опредилить символ xxx. Используется для компиляции кода по обстоятельствах или условии.

-D Сгенерироват файл DEF (для OS/2).

-Dd Установить описание исполняемого файла/библиотеки (Windows).

-Dv Задать версию исполняемого файла/библиотеки (Windows).

-E Аналогично -Cn.

-g Генерировать отладочную информацию для GDB.

-gc Генерировать код проверки указателей. Нужно использовать с -gh. Когда эта опция включена, она будет следить за тем, чтобы все указатели укзывали в кучу.

-gg Аналогично -g.

-gh Использовать моудть heaptrc. (ПРотоколирует об использовании кучи после выхода из программы)

-gl Использовать модуль lineinfo. (Генерирует имя файла/номер строки информации, если программа вылетает из-за ошибки.)

-goXXX задать варианты отладочной информации. Один из вариантов dwarfsets: он позволяет уменьшить множество отладочной информации (не работает с GDB версий до 6,5)

-gp задействовать регистр к именам символов. По умолчанию для всех имен применяется верхний регистр.

-gs Писать отладочную информацию.

-gt Замусорить локальные переменные. Записать случайные значения локальных переменных при запуске процедуры. Может быть использовано для обнаружения неинициализированных переменных.

-gv Выдать информацию о valgrind.

-gw Выдать отладочную информацию о dwarf (версия 2).

-gw2 Выдать отладочную информацию о dwarf (версия 2).

-gw3 Выдать отладочную информацию о dwarf (версия 3).

-kxxx Пройти xxx для компоновщика.

-Oxxx Оптимизироватья вывод компилятора; XXX может иметь одно из следующих значений:

aPARAM=VALUE Указать выравнивание структур и кода. PARAM определяет, что должно быть выровнено; значение указывает выравнивание границы. См. Руководство программиста для описания возможных значений.

g Оптимизация размера, пытаться генерировать меньший код.

G Оптимизация времени, пытаться генерировать более быстрый код (по умолчанию).

r Сохранять некоторые переменные в регистрах (экспериментально, использовать с осторожностью).

u Сомнительная/нестандартная оптимизация.

1 Уровень оптимизации 1 (быстрая оптимизация).

2 Уровень оптимизации 2 (-O1 плюс оптимизация немного медленней).

3 Уровень оптимизации 2 (-O2 вместе с -Ou).

oxxx Указать особую оптимизацию: n может принимать следующие значения

REGVAR Bспользовать регистры переменных.

STACKFRAME Пропускать стековые фреймы.

LOOPUNROLL Развертывать(небольшие) циклы

TAILREC Заменить хвостовую рекурсию на нерекурсивный цыкл.

pxxx Выбрать оптимизацию для процессора xxx. fpc -i содержит список всех доступных наборов инструкций процессора.

Wxxx Подготовить информацию полной оптимизации программ для значения xxx. fpc -i будет генерировать список возможных значений.

wxxx Выполнение полной оптимизации программ для значения xxx. fpc -i будет генерировать список возможных значений.

s Оптимизация по размеру, а не по скорости.

Точное поведение некоторых из этих оптимизаций можно найти в руководстве программиста.

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

-pg Генерировать код для профилировщика gprof. При этом станет определён символ FPC_PROFILE, который можно использовать в директивах условной компиляции.

-s Не обращаться к ассемблеру и компоновщику (linker). Вместо этого будет создан скрипт, PPAS.BAT в DOS, или ppas.sh в LINUX, который можно выполнить для получения исполняемого файла. Такой подход может использоваться для ускорения процесса компиляции или для отладки вывода компилятора. Данная опция может принимать дополнительный параметр, используемый в основном для кросс-компиляции. Значение этого параметра может быть одним из следующих:

h Генерировать скрипт, предназначенный для компоновки на хост-платформе. Созданный скрипт может быть запущен на той же платформе, на которой происходила компиляция (хост-платформе).

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

r Пропускать этап распределения регистров (оптимизации будут отключены).

-Txxx Указать целевую операционную систему. xxx может принимать одно из следующих значений:

• emx : OS/2 через EMX (и DOS через расширитель EMX).

• freebsd : FreeBSD.

• go32v2 : DOS и версия 2 расширителя DJ DELORIE .

• linux : LINUX.

• netbsd : NetBSD.

• netware : Novell Netware Module (clib)

• netwlibc : Novell Netware Module (libc).

• openbsd : OpenBSD.

• os2 : OS/2 (2.x) с использованием расширителя EMX.

• sunos : SunOS/Solaris.

• watcom : Совместимый с Watcom расширитель DOS.

• wdosx : Расширитель WDOSX.

• win32 : 32-разрядные WINDOWS.

• wince : WINDOWS для КПК (с процессором ARM).

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

-uxxx Убрать определение символа xxx. Производит эффект, обратный опции -d.

-Ur Генерировать окончательные файлы модулей. Такие файлы не будут перекомпилироваться даже если доступен их исходный код.

Данная опция полезна при создании окончательных сборок, предназначенных для распространения. Она также переопределяет опцию -B для модулей, находящихся в режиме окончательной сборки.

-W Установить для созданного исполняемого файла один или несколько атрибутов WINDOWS или OS/2. Поддерживаются следующие атрибуты:

Bhhh Установить предпочтительный базовый адрес hhh (шестнадцатеричный адрес)

C Создать консольное (+) или графическое (-) приложение.

D Принудительно использовать Def-файл для экспортируемых функций и/или переменных.

F Создать FS-приложение (+) или консольное приложение (-).

G Создать приложение с графическим интерфейсом (+) или консольное приложение (-).

N Не создавать секцию переадресации (relocation section).

R Создать секцию переадресации.

T Создать TOOL-приложение (+) или консольное приложение (-).

-Xx Указывает параметры исполняемого файла. Это говорит компилятору какой исполняемый файл должен быть сгенерирован. Параметр х может быть одним из следующего:

• c : (только LINUX) компоновать с библиотекой C. Вы должны использовать этот ключ только при портировании Free Pascal на другую операционную систему.

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

• D : компоновать с динамическими библиотеками (определяет символ FPC_LINK_DYNAMIC)

• e использовать внешний (GNU) отладчик.

• g Создать отладочную информацию отдельным файлом и добавить секцию debuglink в исполняемый файл.

• i использовать внутренний отладчик.

• MXXX : Установить имя процедуры входа в программу. По умолчанию это "main".

• m :Создать файл карты компоновщика.

• PXXX : Приписать к именам binutils XXX для крос-компиляции.

• rXXX : задать путь к библиотекам как XXX.

• Rxxx Добавить xxx ко всем путям поиска компоновщика. (для крос-компиляции).

• s : Выресать символы из исполняемого файла.

• S : Компоновать со статическими библиотеками (задает FPC_LINK_STATIC).

• t : Копоновать статически (задает компоновщику параметр -static).

• X : Компоновать со smartlinked библиотеками (определяет FPC_LINK_SMART).

5.1.5 Функции, касающиеся исходников (языковые опции)

Для получения дополнительной информации об этих параметрах см. Руководство программиста.

-Mmode Установить режим языка в режим, который может принимать одно из следующих значений:

delphi Пытяться быть Delphi-совместимым. Это более строгая опция, чем режим objfpc, так как некоторые Free Pascal расширения отключаются.

fpc Диалект Free Pascal (по умолчанию)

macpas Пытаться быть совместимым с Macintosh диалектом Паскаля.

objfpc Включить некоторые расширения Delphi. Отличается от режима Delphi, потому что некоторые Free Pascal конструкции по-прежнему доступны.

tp Попытка быть совместимым с TP/BP 7,0 . Это не означает отсутствие перегрузки функций и т.д.

-Mfeature Выбор особенностей параметров языка. По состоянию версии FPC 2.3.1, ключ -М командной строки может быть использован для выбора индивидуальных особенностей языка. В этом случае возможностью является одно из следующих ключевых слов:

CLASS Использовать классы object pascal.

OBJPAS Автоматически добавлять модуль ObjPas.

RESULT Включить идентификатор Result для результатов функций.

PCHARTOSTRING Разрешить автоматическое преобразование строки с завершающим нулевым символом в строки.

CVAR Разрешить использование ключевого слова CVAR .

NESTEDCOMMENTS Разрешить использование вложенных комментариев.

CLASSICPROCVARS Использовать классические процедурные переменные.

MACPROCVARS Использовать процедурные переменные в стиле mac.

REPEATFORWARD Реализация и упреждающее объявление должны полностью соответствовать.

POINTERTOPROCVAR Разрешить "тихие" преобразования указателей в процедурные переменные.

AUTODEREF Автоматически (тихо) разыменовывать типизированные указатели.

INITFINAL Разрешить использование Initialization и Finalization.

POINTERARITHMETICS Разрешить использование арифметики указателей.

ANSISTRINGS Разрешить использование ansistrings.

OUT Разрешить использование параметров типа out.

DEFAULTPARAMETERS Разрешить использование значений параметров по умолчанию.

HINTDIRECTIVE Поддержка директивы подсказок (устарелое, платформозависимо и т.д.)

DUPLICATELOCALS ?

PROPERTIES Разрешить использование глобальных свойств.

ALLOWINLINE Разрешить inline (встроенные) процедуры.

EXCEPTIONS Разрешить использование исключений.

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

-Rxxx Указывает, какой ассемблер вы используете для ваших ассемблерных вставок. Здесь XXX является одним из следующих:

att Ассемблерные блоки содержат код в стиле AT&T. Это стиль по умолчанию.

intel Ассемблерные блоки содержат код в стиле Intel.

default Использовать ассемблер по умолчанию для указанной цели.

direct Ассемблерные блоки должны быть скопированы как есть в ассемблер, только заменив некоторые переменные.

-S2 Включает расширения Delphi 2 (режим objfpc). Устаревшее, используйте вместо него -Mobjfpc .

-Sa Включение вызова assert в скомпилированный код. Отсутствие этого ключа приведет к игнорированию этих вызовов.

-Sc Поддержка операторов в стиле C, т. е. *=, + =, = и -=.

-Sd Попытка быть Delphi совместимым. Устаревшее, используйте ключ -Mdelphi.

-SeN Компилятор останавливается после N-ой ошибки. Как правило, компилятор пытается продолжить компиляцию после обнаружения ошибки, до достижения 50 ошибок, или фатальной ошибки, после чего останавливается. С помощью этого переключателя, компилятор будет останавливаться после N-й ошибки (если N не указано, по умолчанию предполагается 1). Вместо номера, может бить указано n, h или w. В этом случае компилятор будет рассматривать заметки, подсказки и предупреждения как ошибки и остановится, при их возникновении.

-Sg Поддержка меток и команды перехода(goto). По умолчанию они не поддерживаются. Вы также должны указать эту опцию, если вы используете метки в ассемблере вставках. (Если вы используете синтаксис AT&T)

-Sh Включает использование ansistrings по умолчанию для строк. Если этот параметр не указан, компилятор будет интерпретировать ключевое слово string как AnsiString. В противном случае как ShortString (TP стиль).

-Si Поддержка C++ стиля INLINE.

-SIXXX Установить стиль интерфейсов в XXX.

-Sk Загрузка модуля совместимости с Kylix (fpcylix).

-Sm Поддержка макросов в стиле C.

-So Попытка быть совместимым с Borland TP 7,0. Устаревшее, используйте ключ -Mtp.

-Ss Имя конструктора должно быть init, а имя деструктора должно быть done.

-St Разрешает статические переменные в объектах.

-Sx Включить ключевые слова исключений(по умолчанию в режимах Delphi/Objfpc). Это пометит все ключевые слова, связанные с исключениями, в качестве ключевых слов, также в Turbo Pascal или FPC режиме. Это может быть использовано для проверки кода, который должен быть как можно больше режимонезависимым.

-Un Не проверять имя модулей. Как правило, имя модуля такое же, как имя файла. Эта опция позволяет им отличатся.

-Us Компилировать системный модуль (system unit). Этот параметр указывает компилятору определить только некоторые основные типы.

Редактировалось 4 раз(а), последний 2021-04-02 13:26:16
карма: 5

0
Ответов: 32
Рейтинг: 0
#36: 2021-04-02 14:56:45 ЛС | профиль | цитата
flint2 писал(а):

Путь - compiler\delphi\dcc32.exe


Для этого надо установить Делфи?
я пробовал но на сайте хаязмю-народ по ссылке 404

Леонид Посмотрите пожалуйста личку
карма: 0

0
Ответов: 1845
Рейтинг: 123
#37: 2021-04-02 15:38:44 ЛС | профиль | цитата
konsys писал(а):
Для этого надо установить Делфи?

Тебе ничего не надо делать, у тебя всё там есть c:\HiAsm\compiler\Delphi\dcc32.exe
Это я Леониду писал и эту строчку я до кучи написал, Леонид и так всё знает.
карма: 5

0
Главный модератор
Ответов: 2980
Рейтинг: 393
#38: 2021-04-02 17:12:25 ЛС | профиль | цитата
F1->Справка->Пакеты->Windows->Статьи->Код компонента->скролим вниз и читаем.
карма: 7
Дорогу осилит идущий. Install/Update HiAsm.NET
0
Ответов: 163
Рейтинг: 7
#39: 2021-04-02 19:36:16 ЛС | профиль | цитата
Ну а теперьkonsys колись,когда тебе Леонид все сделал,в чем смысл сего потаенного действа?Слушать шумы бурового сверла или наоборот голос звезды слушать?
Флинт
Привет
карма: 1

0
Ответов: 32
Рейтинг: 0
#40: 2021-04-03 00:30:03 ЛС | профиль | цитата
flash1103 писал(а):
Ну а теперьkonsys колись,когда тебе Леонид все сделал,в чем смысл сего потаенного действа?Слушать шумы бурового сверла или наоборот голос звезды слушать?
Флинт


Добрый вечер - хочу сказать - Большое спасибо всем за помощь

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

Данная задача и есть та самая задача к диплому по специальности не имеющей никакого отношения к программированию.
А что слушать - не представляю. было только мутное ТЗ.
карма: 0

0
40
Сообщение
...
Прикрепленные файлы
(файлы не залиты)