Использование командной строки
Участников: 2
Страница 1 из 1
Использование командной строки
Использование командной строки.
Разговор в этой главе пойдет, как вы догадались по названию, об использовании командной строки для работы с компилятором FreeBasic. И так начнем…
FreeBasic Compiler (fbc) распространяется виде консольного компилятора. То есть его можно запустить в командной строке Dos, Windows, или в терминале операционной системы Linux.
В папке freebasic находится компилятор, это файл fbc.exe, так же там присутствует файл start_shell.exe для запуска командной строки.
Допустим компилятор установлен в директорию FreeBasic на диске С. Тогда при запуске start_shell.exe появится консоль с таки текстом:
С:\FreeBASIC>
Если ввести fbc то на экран будет произведен вывод всех опций компилятора.
Стандартный синтаксис:
fbc [ опции ] [ файлы ]
На месте опций вводят те опции, которые нужно применить при компиляции указанных файлов. Примечание: квадратные скобки не нужно вводить. В качестве файлов могут выступать документы с таким расширением:
.bas - исходный файл программы
.a - библиотека
.o - объектный файл
.rc - скрипт ресурсов (только в Windows)
.res – скомпилированный ресурс (только в Windows)
.xpm - X файл иконки (только Linux)
Вот несколько простых примеров:
Для компиляции исходного файла программы на языке FreeBasic (.bas) нужно написать:
fbc file.bas
Примечание: указывать расширение обязательно!
В данном случае компилятор произведет проверку файла, переведет его на язык ассемблера, затем создаст объектный файл с помощью GAS и соединит с дополнительными файлами и библиотеками с помощью линковщика. В папке возле исходного кода программы появится новый файл file.exe (в Windows и DOS) или ./file(в Linux). Созданный исполняемый файл будет иметь такое же имя как и файл с текстом программы. В данном случае имя file.
Так же возможна компиляция одновременно несколько исходных файлов:
fbc dog.bas cat.bas pig.bas
В таком случае компилятор скомпилирует каждый файл и соединит в единую программу с именем dog.exe (Windows и DOS) или ./dog (в Linux). Программа будет иметь именно такое имя так как первым указан исходный файл dog.bas. Так же в этом примере, считается, главным или входным файлом - dog.bas, так как он указан первым.
Для того чтобы изменить имя исполняемого файл нужно применить опцию "–x":
fbc -x program.exe dog.bas cat.bas pig.bas
В данном случае будет создан исполняемый файл с именем program, как указано после опции "–х".
Чтобы изменить входной (основной) файл необходимо применить опцию "-m", после которой указать имя файла, но без расширения:
fbc -m cat dog.bas cat.bas pig.bas
Как вы уже наверное догадались, в папке с исходными файлами будет создан исполняемый файл с именем cat.
Любые опции можно применять совместно:
fbc -x program.exe -m cat dog.bas cat.bas pig.bas
Основным файлом является cat.bas, но имя исполняемого файла будет program.
Для автоматизации, можно написать бат файл ( .bat ). Для этого создайте простой текстовый документ с таким содержанием:
Первая строчка указывает на место, где находится сам компилятор. Вторая строчка для указания опций. В данном случае ни каких опций не установлено, но в случае необходимости их можно добавить после знака равно в двойных кавычках. Например:
set opt="-s gui"
Третья строчка указывает на, то чтобы скомпилировать файл указанный сразу после названия бат файла. В четвертой мы все это компонуем и выполняем, то есть получается такая команда:
С:\Program Files\FreeBasic\fbc.exe [options] [files].
В случае какой либо ошибки произойдет пауза до нажатия любой клавиши, за это отвечает строчка if errorlevel 1 pause.
Сохраните это все в файле с расширением .bat, например, с именем make. Теперь для компиляции достаточно написать в командной строке:
make filename.bas
Еще несколько примеров:
fbc -s gui myfile.bas
Создает программу myfile.exe при запуске которой не появляется окно консоли
fbc -lib module1.bas module2.bas module3.bas -x libmylib.a
Компилирует и связывает все три файла в библиотеку с именем libmylib.a
fbc -c sub_module.bas
Создает (компилирует) только объектный файл sub_module.o
На этом, я думаю можно закончить. Ниже приведен список всех команд.
Спасибо!!!
Разговор в этой главе пойдет, как вы догадались по названию, об использовании командной строки для работы с компилятором FreeBasic. И так начнем…
FreeBasic Compiler (fbc) распространяется виде консольного компилятора. То есть его можно запустить в командной строке Dos, Windows, или в терминале операционной системы Linux.
В папке freebasic находится компилятор, это файл fbc.exe, так же там присутствует файл start_shell.exe для запуска командной строки.
Допустим компилятор установлен в директорию FreeBasic на диске С. Тогда при запуске start_shell.exe появится консоль с таки текстом:
С:\FreeBASIC>
Если ввести fbc то на экран будет произведен вывод всех опций компилятора.
Стандартный синтаксис:
fbc [ опции ] [ файлы ]
На месте опций вводят те опции, которые нужно применить при компиляции указанных файлов. Примечание: квадратные скобки не нужно вводить. В качестве файлов могут выступать документы с таким расширением:
.bas - исходный файл программы
.a - библиотека
.o - объектный файл
.rc - скрипт ресурсов (только в Windows)
.res – скомпилированный ресурс (только в Windows)
.xpm - X файл иконки (только Linux)
Вот несколько простых примеров:
Для компиляции исходного файла программы на языке FreeBasic (.bas) нужно написать:
fbc file.bas
Примечание: указывать расширение обязательно!
В данном случае компилятор произведет проверку файла, переведет его на язык ассемблера, затем создаст объектный файл с помощью GAS и соединит с дополнительными файлами и библиотеками с помощью линковщика. В папке возле исходного кода программы появится новый файл file.exe (в Windows и DOS) или ./file(в Linux). Созданный исполняемый файл будет иметь такое же имя как и файл с текстом программы. В данном случае имя file.
Так же возможна компиляция одновременно несколько исходных файлов:
fbc dog.bas cat.bas pig.bas
В таком случае компилятор скомпилирует каждый файл и соединит в единую программу с именем dog.exe (Windows и DOS) или ./dog (в Linux). Программа будет иметь именно такое имя так как первым указан исходный файл dog.bas. Так же в этом примере, считается, главным или входным файлом - dog.bas, так как он указан первым.
Для того чтобы изменить имя исполняемого файл нужно применить опцию "–x":
fbc -x program.exe dog.bas cat.bas pig.bas
В данном случае будет создан исполняемый файл с именем program, как указано после опции "–х".
Чтобы изменить входной (основной) файл необходимо применить опцию "-m", после которой указать имя файла, но без расширения:
fbc -m cat dog.bas cat.bas pig.bas
Как вы уже наверное догадались, в папке с исходными файлами будет создан исполняемый файл с именем cat.
Любые опции можно применять совместно:
fbc -x program.exe -m cat dog.bas cat.bas pig.bas
Основным файлом является cat.bas, но имя исполняемого файла будет program.
Для автоматизации, можно написать бат файл ( .bat ). Для этого создайте простой текстовый документ с таким содержанием:
- Код:
set directory="С:\Program Files\FreeBasic\fbc.exe"
set opt=
set app="%1"
%directory% %opt% %app%
if errorlevel 1 pause
Первая строчка указывает на место, где находится сам компилятор. Вторая строчка для указания опций. В данном случае ни каких опций не установлено, но в случае необходимости их можно добавить после знака равно в двойных кавычках. Например:
set opt="-s gui"
Третья строчка указывает на, то чтобы скомпилировать файл указанный сразу после названия бат файла. В четвертой мы все это компонуем и выполняем, то есть получается такая команда:
С:\Program Files\FreeBasic\fbc.exe [options] [files].
В случае какой либо ошибки произойдет пауза до нажатия любой клавиши, за это отвечает строчка if errorlevel 1 pause.
Сохраните это все в файле с расширением .bat, например, с именем make. Теперь для компиляции достаточно написать в командной строке:
make filename.bas
Еще несколько примеров:
fbc -s gui myfile.bas
Создает программу myfile.exe при запуске которой не появляется окно консоли
fbc -lib module1.bas module2.bas module3.bas -x libmylib.a
Компилирует и связывает все три файла в библиотеку с именем libmylib.a
fbc -c sub_module.bas
Создает (компилирует) только объектный файл sub_module.o
На этом, я думаю можно закончить. Ниже приведен список всех команд.
Спасибо!!!
Приложение
Приложение
Список всех опций:
-а < name >
Добавляет объектный файл к списку линковщика
-arch < type >
Устанавливает архитектуру (по умолчанию: 486)
-b < name >
Добавить исходный файл к компиляции
-c
Только компиляция, без компоновки(линковки)
-d < name=val >
Добавить препроцессор define
-dll
Создать DLL, включая импортированную библиотеку. (Также, как -dylib)
-dylib
Создать DLL, включая импортированную библиотеку
-entry < name >
Основной файл без расширения, точка входа (по умолчанию является первым .bas файл в командной строке)
-e
Добавить проверку ошибок
-еx
Добавить проверку ошибок и resume
-exx
Также, как –ex, но еще проверяются границы массива и правильность указателей
-export
Export symbols for dynamic linkage
-g
Добавить отладочную информацию
-i < name >
Добавить путь, для поиска подключаемых файлов
-include < name >
Включите файл заголовка в каждый скомпилированный исходный файл
-l < name >
Добавьте библиотечный файл к списку компоновщика
-lang < name >
Выбор языка компиляции: fb, fblite, qb, осужденное
-lib
Создать статическую библиотеку
-m < name >
Основной файл без расширения, точка входа (по умолчанию является первый .bas файл в командной строке)
-map < name >
Cохранитm карту линковки в файл с именем name
-maxerr < val >
Перестать продолжать грамматический разбор текста при обнаружении ошибки с кодом val.
-mt
Произвести линковку библиотек обеспечивающие многопоточность
-nodeflibs
Не компоновать библиотеки подключаемые по умолчанию
-noerrline
Не показывать исходную строку где произошла ошибка
-o < name >
Добавить объектный файл к компоновке программы (должно быть указано после .bas файла)
-p < name >
Добавить путь, для поиска подключаемых библиотек
-prefix < path >
Установить путь, где находится компилятор
-profile
Допустить профилирование функций
-r
Не удаляйте asm файл(файлы)
-s < name >
Установить подсистему (графический интерфейс пользователя (-s gui), консоль( -s console))
-target < platform >
Установить целевую платформу для кросс-компиляции
-t < value >
Установите размер стека в килобайтах (по умолчанию: 1Mб)
-v
Устанавливает компилятор в избыточный режим.
-version
Версия компилятора
-w < value >
Установите минимальный уровень предупреждений: all, pedantic or a value
-Wa < opt >
Передать опции в GAS (разделять только запятыми)
-Wl < opt >
Передать опции в LD (разделять только запятыми)
-x < name >
Установите имя/путь выходного файла
Список всех опций:
-а < name >
Добавляет объектный файл к списку линковщика
-arch < type >
Устанавливает архитектуру (по умолчанию: 486)
-b < name >
Добавить исходный файл к компиляции
-c
Только компиляция, без компоновки(линковки)
-d < name=val >
Добавить препроцессор define
-dll
Создать DLL, включая импортированную библиотеку. (Также, как -dylib)
-dylib
Создать DLL, включая импортированную библиотеку
-entry < name >
Основной файл без расширения, точка входа (по умолчанию является первым .bas файл в командной строке)
-e
Добавить проверку ошибок
-еx
Добавить проверку ошибок и resume
-exx
Также, как –ex, но еще проверяются границы массива и правильность указателей
-export
Export symbols for dynamic linkage
-g
Добавить отладочную информацию
-i < name >
Добавить путь, для поиска подключаемых файлов
-include < name >
Включите файл заголовка в каждый скомпилированный исходный файл
-l < name >
Добавьте библиотечный файл к списку компоновщика
-lang < name >
Выбор языка компиляции: fb, fblite, qb, осужденное
-lib
Создать статическую библиотеку
-m < name >
Основной файл без расширения, точка входа (по умолчанию является первый .bas файл в командной строке)
-map < name >
Cохранитm карту линковки в файл с именем name
-maxerr < val >
Перестать продолжать грамматический разбор текста при обнаружении ошибки с кодом val.
-mt
Произвести линковку библиотек обеспечивающие многопоточность
-nodeflibs
Не компоновать библиотеки подключаемые по умолчанию
-noerrline
Не показывать исходную строку где произошла ошибка
-o < name >
Добавить объектный файл к компоновке программы (должно быть указано после .bas файла)
-p < name >
Добавить путь, для поиска подключаемых библиотек
-prefix < path >
Установить путь, где находится компилятор
-profile
Допустить профилирование функций
-r
Не удаляйте asm файл(файлы)
-s < name >
Установить подсистему (графический интерфейс пользователя (-s gui), консоль( -s console))
-target < platform >
Установить целевую платформу для кросс-компиляции
-t < value >
Установите размер стека в килобайтах (по умолчанию: 1Mб)
-v
Устанавливает компилятор в избыточный режим.
-version
Версия компилятора
-w < value >
Установите минимальный уровень предупреждений: all, pedantic or a value
-Wa < opt >
Передать опции в GAS (разделять только запятыми)
-Wl < opt >
Передать опции в LD (разделять только запятыми)
-x < name >
Установите имя/путь выходного файла
Последний раз редактировалось: ShenZN (Ср Сен 10, 2008 4:03 pm), всего редактировалось 1 раз(а)
Re: Использование командной строки
Прошу прощенья, а разве можно в качестве буквы диска использовать кирилические символы?
"с:\freebasic"
или имелось в виду
"c:\freebasic"
из-за глюков переключения раскладок?
Кстати этоже касаеться "-ex"? опять же русская буква "Х".
Когда-то мне попадался текстовый редактор, который подсвечивал кирилицу одним цветом а латиницу другим.
"с:\freebasic"
или имелось в виду
"c:\freebasic"
из-за глюков переключения раскладок?
Кстати этоже касаеться "-ex"? опять же русская буква "Х".
Когда-то мне попадался текстовый редактор, который подсвечивал кирилицу одним цветом а латиницу другим.
Re: Использование командной строки
Прошу прощенья, а разве можно в качестве буквы диска использовать кирилические символы?
"с:\freebasic"
или имелось в виду
"c:\freebasic"
из-за глюков переключения раскладок?
Кстати этоже касаеться "-ex"? опять же русская буква "Х".
Извините, в следующий раз буду аккуратней с раскладками
Для меня лично, визуально С и С одинаковы, не знаю как для вас
Re: Использование командной строки
Лично мне это заметно, когда символы разные. Ну да это мелочи. Мой респект и за такое. Намного лучше чем английский вариант.
Я вот всё думал, что же мне не нравиться, и только что дошло. Мне не нравиться название темы. Наверное нужно вставить слово "компилятор" или ещё что-нибудь в этом роде.
"использование командной строки компилятора"
"параметры командной строки fbc"
Ну или нечто в этом роде.
А если я захочу написать темку про command, интересно как я её назову? Хотя всё же не "командная строка".
Я вот всё думал, что же мне не нравиться, и только что дошло. Мне не нравиться название темы. Наверное нужно вставить слово "компилятор" или ещё что-нибудь в этом роде.
"использование командной строки компилятора"
"параметры командной строки fbc"
Ну или нечто в этом роде.
А если я захочу написать темку про command, интересно как я её назову? Хотя всё же не "командная строка".
Страница 1 из 1
Права доступа к этому форуму:
Вы не можете отвечать на сообщения