Použití příkazového řádku kompilátoru FreeBASIC
 
Použití příkazového řádku FBC.

Oficiální distribuce FreeBASIC přichází s FBC, vlajkovou lodí FreeBASIC kompilátoru. FBC je kompilátor příkazového řádku a může být spuštěn z konzoly - z DOS, příkazového řádku Windows nebo shellu Linux. Spuštění fbc z konzoly bez argumentů, vyvolá seznam dostupných možností a přepínačů příkazového řádku, které lze použít k úpravě chování kompilátoru.

V nejjednodušším provedení fbc vezme zdrojový soubor (jako argument příkazového řádku) a vytvoří z něj spustitelný soubor. Dělá to tak, že překládá zdrojový soubor (.BAS) do souboru sestavy (.ASM), pak jej zkompiluje do souboru objektu (.O) použitím GAS a nakonec propojí pomocí LD tento soubor objektů do jiných souborů objektů a knihoven, které potřebuje pro svůj běh a vyprodukuje konečný spustitelný soubor. 'Montážní' soubory sestav (ve WIN bychom je nazvali TEMP soubory, neboli dočasné) jsou následně po zkompilování odstraněny, pokud nezměníte nastavení kompilátoru. Pro příklad vyzkoušejte

fbc foo.bas

vytvoří spustitelný soubor foo.exe v DOS či Windows, a ./foo v Linuxu. FBC může přijmout více zdrojových souborů najednou, zkompilovat je a propojit všechny do jednoho spustitelného souboru. Např. následující příkaz

fbc foo.bas bar.bas baz.bas

vytvoří spustitelný foo.exe v DOS či Windows, a ./foo v Linuxu. Vzhledem k tomu, že foo.bas byl uveden jako první, bude hlavním vstupním bodem do spustitelného souboru a také jeho název bude použit pro spustitelný soubor. Chcete-li zadat jiný spustitelný bod nebo název vstupního souboru, použijte přepínače "-m", resp. "-x". Chcete-li např., aby hlavním vstupním bodem spustitelného souboru foobar.exe byl baz.bas, použijte

fbc -x foobar.exe -m baz foo.bas bar.bas baz.bas

Použitím přepínače "-x" nastavíte doslovně název spustitelného souboru. Takže i v Linuxu by se spustitelný soubor vyrobený pomocí této syntaxe nazýval ./foobar.exe.

Syntaxe

fbc [ options ] [ input_list ]

Kde input_list je seznam názvů souborů. Povolené typy souborů jsou:

Přípona souboruPopis
.basFreeBASIC zdrojový soubor
.aKnihovna
.oSoubor Objekt
.rcSkript zdrojů (jen ve Windows)
.resKompilovaný zdroj (jen ve Windows)
.xpm(?) X icon pixmap (jen v Linux)


Zdrojový kód
-b < jméno >
Přidat zdrojový soubor do kompilace.
-i < jméno >
Přidat cestu pro hledání souborů, které mají být zahrnuty do kompilace.
-include < jméno >
Zahrnout hlavičkový soubor do každého kompilovaného zdrojového souboru.
-d < vméno=hodnota >
Přidání definice preprocesoru (mění způsob kompilování daného souboru).
-lang < jméno >
Nastaví jazykový režim (dialekt): fb, fblite, qb, deprecated .
-forcelang < jméno >
Nastaví jazykový režim: fb, fblite, qb, deprecated (přepsáním příkazů v kódu).

Generování kódu
-target < platforma >
Nastaví cílovou platformu pro křížovou kompilaci.
-gen < backend >
Nastavení backendu kompilátoru (defaultně 'GAS').
-asm < formát >
Nastavení formátu Assembleru pro Asm blok.
-arch < typ >
Nastavení cílové architektury (defaultně: 486).
-O < úroveň >
Nastaví úroveň optimalizace (-gen gcc).
-vec < úroveň >
Nastaví úroveň vektorových optimalizací povolených kompilátorem (defaultně: 0).
-fpu < typ >
Nastaví jednotku pro aritmetiku plovoucí čárky (defaultně: FPU).
-fpmode < typ >
Nastaví způsob zpracování operací s plovoucí desetinnou čárkou - rychlé nebo přesné (defaultně: PRECISE).
-z < hodnota >
Nastavuje různé experimentální možnosti.

Kompilace
-m < jméno >
'Main file' - hlavní soubor bez přípony, vstupní bod (standardně je to první .BAS soubor na příkazovém řádku).
-g
Přidání ladících informací.
-profile
Zapne funkci profilování.
-e
Přidá kontrolu chyb.
-ex
Přidá kontrolu chyb s podporou RESUME.
-exx
Stejně jako -ex plus hranice polí a kontrola null-pointer.
-Wa < opt >
Předání voleb do GAS (oddělené čárkou).
-Wc < opt >
Předání voleb do GCC (oddělené čárkou).
-o < name >
Nastaví soubor Objekt - cesta/jméno (musí být předány do souboru .BAS)

Propojení
-a < jméno >
Přidá objektový soubor do seznamu propojení.
-l < jméno >
Přidá soubor knihovny do seznamu propojení.
-p < jméno >
Přidá adresář pro vyhledávání knihoven.
-mt
Propojení s knihovnou bezpečného zpracovávání vláken za běhu programu.
-nodeflibs
Vyloučení defaultních knihoven.
-static
Preferuje statické knihovny před dynamickými při propojování.
-map < jméno >
Uloží mapu propojení do souboru 'jméno'.
-Wl < opt >
Předání voleb programu LD (oddělené čárkou).
-export
Export symbolů pro dynamickou vazbu
-lib
Vytvoří statickou knihovnu.
-dylib
Vytvoří dynamickou knihovnu (DLL), včetně importu knihovny.
-dll
Vytvoří DLL, včetně importu knihovny (Stejné jako -dylib).
-x < jméno >
Nastaví executable/library path/name

Chování
-prefix < cesta >
Nastavení prefixu cesty kompilátoru.
-version
Zobrazí verzi kompilátoru, nic nekompiluje ani nepropojí.
-v
Buď upovídaný! (Kompilátor vypisuje krok za krokem, co dělá).
-print < volba >
Zobrazí určené informace (host, target, etc.).
-pp
Kód je analyzován, kontrolován ale nesestaven. Výstupní soubor/y source.pp.bas.
-r
Kompilace do mezisouboru/ů, nesestavuje a nepropojuje soubory.
-rr
Kompilace do .ASM soubor/ů, nesestavuje a nepropojuje soubory.
-c
Kompiluje a sestaví jen zdrojový soubor. Nepropojuje.
-R
Zakáže smazání dočasných mezisouborů vzniklých při kompilaci.
-RR
Zakáže smazání .ASM mezisouborů.
-C
Zakáže smazání mezisouborů Objekt.
-w < hodnota >
Nastaví minimální varování: all, pedantic, next nebo hodnota.
-maxerr < hodnota >
Zastaví parsování, došlo-li k chybě <hodnota>.
-noerrline
Nezobrazuje zdrojový řádek, kde došlo k chybě

Cílová nastavení
-s < jméno >
Nastavení subsystému (gui, console).
-t < hodnota >
Nastaví velikost zásobníku v kilobytech (defaultně: 1M)

Meta
@< soubor >
Načte (další) možnosti příkazového řádku ze souboru.

 

Příklady:

fbc myfile.bas
(V DOS verzi FBC kompiluje a propojí DOS spustitelný soubor MYFILE.EXE.)

fbc -s gui myfile.bas
(Ve Windows verzi FBC, kompiluje a propojí Windows spustitelný soubor myfile.exe. Spuštění programu nezobrazí okno konzole ("MS-DOS řádek"))

fbc -lib module1.bas module2.bas module3.bas -x libmylib.a
(Kompiluje a propojí statickou knihovnu libmylib.a se třemi zdrojovými soubory)

fbc -m main_module -c main_module.bas
(Kompiluje objektový soubor main_module.o a označí jej jako vstupní bod)
fbc -c sub_module.bas
(Kompiluje objektový soubor sub_module.o)
fbc -x application.exe main_module.o sub_module.o
(Propojí jako spustitelný soubor application.exe)

Pozn.: Jak vložit ikonu FB spustitelnému programu.
Existuje jednoduchá možnost v příkazovém řádku, jak sestavit (zkompilovat) FB program do spustitelného souboru s ikonou:
    • Vytvořte "*.rc" soubor, například "appicon.rc" s touto informací:
FB_PROGRAM_ICON ICON "appicon.ico"
(kde appicon.ico je název ikony)
    • Pak při kompilaci programu přidejte "appicon.rc" do seznamu souborů pro kompilaci.

Viz též
Překlad: Gmisiycs 14.2.2016