Možnosti kompilátoru
Tento článek popisuje možnosti příkazového řádku kompilátoru pro kompilátor jazyka F#. dotnet build
Příkaz vyvolá kompilátor jazyka F# v souborech projektu jazyka F#. Soubory projektu F# jsou zaznamenány s příponou .fsproj
.
Prostředí kompilace je také možné řídit nastavením vlastností projektu. U projektů, které cílí na .NET Core, se vlastnost <OtherFlags>...</OtherFlags>
.fsproj
"Jiné příznaky" používá k určení dalších možností příkazového řádku.
Možnosti kompilátoru (abecední pořadí)
V následující tabulce jsou uvedeny možnosti kompilátoru uvedené abecedně. Některé z možností kompilátoru jazyka F# jsou podobné možnostem kompilátoru jazyka C#. V takovém případě je k dispozici odkaz na téma možností kompilátoru jazyka C#.
Možnost kompilátoru | Popis |
---|---|
--allsigs |
Vygeneruje nový (nebo znovu vygeneruje existující) soubor podpisu pro každý zdrojový soubor v kompilaci. Další informace o souborech podpisů najdete v tématu Podpisy. |
-a filename.fs |
Vygeneruje knihovnu ze zadaného souboru. Tato možnost je krátká forma --target:library filename.fs . |
--baseaddress:address |
Určuje upřednostňovanou základní adresu, pro kterou se má načíst knihovna DLL. Tato možnost kompilátoru je ekvivalentní možnosti kompilátoru jazyka C# se stejným názvem. Další informace najdete v tématu /baseaddress (možnosti kompilátoru jazyka C#). |
--codepage:id |
Určuje, kterou znakovou stránku použít během kompilace, pokud požadovaná stránka není aktuální výchozí znakovou stránkou systému. Tato možnost kompilátoru je ekvivalentní možnosti kompilátoru jazyka C# se stejným názvem. Další informace najdete v tématu /kódové stránky (možnosti kompilátoru jazyka C#). |
--consolecolors |
Určuje, že chyby a upozornění používají v konzole barevně kódovaný text. |
--crossoptimize[+ or -] |
Povolí nebo zakáže optimalizace mezi moduly. |
--delaysign[+|-] |
Zpoždění podepíše sestavení pouze pomocí veřejné části klíče silného názvu. Tato možnost kompilátoru je ekvivalentní možnosti kompilátoru jazyka C# se stejným názvem. Další informace najdete v tématu /delaysign (možnosti kompilátoru jazyka C#).a0> |
--checked[+|-] |
Povolí nebo zakáže generování kontrol přetečení. Tato možnost kompilátoru je ekvivalentní možnosti kompilátoru jazyka C# se stejným názvem. Další informace najdete v tématu /checked (možnosti kompilátoru jazyka C#). |
--debug[+|-] -g[+|-] --debug:[full|pdbonly] -g: [full|pdbonly] |
Povolí nebo zakáže generování informací o ladění nebo určuje typ informací o ladění, které se mají vygenerovat. Výchozí hodnota je full , která umožňuje připojení ke spuštěné aplikaci. Zvolte pdbonly , jestli chcete získat omezené informace o ladění uložené v souboru pdb (databáze programu).Ekvivalent možnosti kompilátoru jazyka C# se stejným názvem. Další informace najdete v tématu /debug (možnosti kompilátoru jazyka C#). |
--define:symbol -d:symbol |
Definuje symbol pro použití v podmíněné kompilaci. |
--deterministic[+|-] |
Vytvoří deterministické sestavení (včetně identifikátoru GUID verze modulu a časového razítka). Tuto možnost nelze použít s čísly verzí se zástupnými čísly a podporuje pouze vložené a přenosné typy ladění. |
--doc:xmldoc-filename |
Dává kompilátoru pokyn, aby do zadaného souboru vygeneroval komentáře dokumentace XML. Další informace naleznete v dokumentaci XML. Tato možnost kompilátoru je ekvivalentní možnosti kompilátoru jazyka C# se stejným názvem. Další informace najdete v tématu /doc (možnosti kompilátoru jazyka C#).a0> |
--fullpaths |
Dává kompilátoru pokyn, aby vygeneroval plně kvalifikované cesty. Tato možnost kompilátoru je ekvivalentní možnosti kompilátoru jazyka C# se stejným názvem. Další informace najdete v tématu /fullpaths (možnosti kompilátoru jazyka C#). |
--help -? |
Zobrazí informace o využití, včetně stručného popisu všech možností kompilátoru. |
--highentropyva[+|-] |
Povolení nebo zakázání náhodného rozložení adresního prostoru s vysokou entropií (ASLR), funkce rozšířeného zabezpečení Operační systém náhodně načte umístění v paměti, kde se načtou infrastruktura pro aplikace (například zásobník a halda). Pokud tuto možnost povolíte, operační systémy můžou tuto náhodnost použít k použití 64bitového adresního prostoru na 64bitovém počítači. |
--keycontainer:key-container-name |
Určuje kontejner klíče silného názvu. |
--keyfile:filename |
Určuje název souboru veřejného klíče pro podepsání vygenerovaného sestavení. |
--lib:folder-name -I:folder-name |
Určuje adresář, který se má vyhledat pro sestavení, na která se odkazuje. Tato možnost kompilátoru je ekvivalentní možnosti kompilátoru jazyka C# se stejným názvem. Další informace najdete v tématu /lib (možnosti kompilátoru jazyka C#). |
--linkresource:resource-info |
Pro propojení zadaného prostředku se sestavením. Formát informací o prostředcích je filename[name[public|private]] Propojení jednoho prostředku s touto možností je alternativou k vložení celého souboru prostředků s --resource možností.Tato možnost kompilátoru je ekvivalentní možnosti kompilátoru jazyka C# se stejným názvem. Další informace najdete v tématu /linkresource (možnosti kompilátoru jazyka C#). |
--mlcompatibility |
Ignoruje upozornění, která se zobrazí při použití funkcí navržených pro kompatibilitu s jinými verzemi ML. |
--noframework |
Zakáže výchozí odkaz na sestavení .NET Framework. |
--nointerfacedata |
Dává kompilátoru pokyn, aby vynechal prostředek, který obvykle přidává do sestavení, které obsahuje metadata specifická pro F#. |
--nologo |
Při spuštění kompilátoru se nezobrazuje text banneru. |
--nooptimizationdata |
Dává kompilátoru pokyn, aby zahrnoval pouze optimalizaci nezbytnou pro implementaci vložených konstruktorů. Inhibuje inlinování mezi moduly, ale zlepšuje binární kompatibilitu. |
--nowin32manifest |
Dává kompilátoru pokyn, aby vynechal výchozí manifest Win32. |
--nowarn:warning-number-list |
Zakáže konkrétní upozornění uvedená podle čísla. Každé číslo upozornění oddělte čárkou. Číslo upozornění můžete zjistit z výstupu kompilace. Tato možnost kompilátoru je ekvivalentní možnosti kompilátoru jazyka C# se stejným názvem. Další informace najdete v tématu /nowarn (možnosti kompilátoru jazyka C#). |
--optimize[+|-] [optimization-option-list] -O[+|-] [optimization-option-list] |
Povolí nebo zakáže optimalizace. Některé možnosti optimalizace je možné zakázat nebo povolit selektivně jejich výpisem. Toto jsou: nojitoptimize , nojittracking , nolocaloptimize , nocrossoptimize , notailcalls . |
--out:output-filename -o:output-filename |
Určuje název zkompilovaného sestavení nebo modulu. Tato možnost kompilátoru je ekvivalentní možnosti kompilátoru jazyka C# se stejným názvem. Další informace najdete v tématu /out (možnosti kompilátoru jazyka C#). |
--pathmap:path=sourcePath,... |
Určuje způsob mapování fyzických cest na názvy zdrojových cest výstupem kompilátoru. Tato možnost kompilátoru je ekvivalentní možnosti kompilátoru jazyka C# se stejným názvem. Další informace naleznete v tématu /pathmap (možnosti kompilátoru jazyka C#). |
--pdb:pdb-filename |
Pojmenuje výstupní ladicí soubor PDB (programová databáze). Tato možnost platí jenom v případě, že --debug je povolená.Tato možnost kompilátoru je ekvivalentní možnosti kompilátoru jazyka C# se stejným názvem. Další informace najdete v tématu /pdb (možnosti kompilátoru jazyka C#). |
--platform:platform-name |
Určuje, že vygenerovaný kód se bude spouštět pouze na zadané platformě (x86 Itanium , nebo x64 ) nebo, pokud je zvolen název anycpu platformy, určuje, že vygenerovaný kód může běžet na libovolné platformě.Tato možnost kompilátoru je ekvivalentní možnosti kompilátoru jazyka C# se stejným názvem. Další informace najdete v tématu /platform (možnosti kompilátoru jazyka C#). |
--preferreduilang:lang |
Určuje upřednostňovaný název jazykové verze jazyka výstupu (například es-ES , ja-JP ). |
--quotations-debug |
Určuje, že by se měly pro výrazy odvozené z uvozovek F# generovat dodatečné informace o ladění a promítat definice. Ladicí informace se přidají do vlastních atributů uzlu stromu výrazů jazyka F#. Viz Citace kódu a Výraz.CustomAttributes. |
--reference:assembly-filename -r:assembly-filename |
Zpřístupňuje kód z sestavení F# nebo .NET Framework pro zkompilovaný kód. Tato možnost kompilátoru je ekvivalentní možnosti kompilátoru jazyka C# se stejným názvem. Další informace naleznete v tématu /reference (možnosti kompilátoru jazyka C#). |
--resource:resource-filename |
Vloží spravovaný soubor prostředků do vygenerovaného sestavení. Tato možnost kompilátoru je ekvivalentní možnosti kompilátoru jazyka C# se stejným názvem. Další informace najdete v tématu /resource (možnosti kompilátoru jazyka C#).a0> |
--sig:signature-filename |
Vygeneruje soubor podpisu na základě vygenerovaného sestavení. Další informace o souborech podpisů najdete v tématu Podpisy. |
--simpleresolution |
Určuje, že odkazy na sestavení by se měly přeložit pomocí pravidel Mono založených na adresáři, nikoli pomocí překladu nástroje MSBuild. Výchozí hodnota je použití překladu MSBuild s výjimkou spuštění v mono. |
--standalone |
Určuje, že se vytvoří sestavení, které obsahuje všechny jeho závislosti, aby se spustilo samostatně, aniž by bylo nutné provádět další sestavení, například knihovnu jazyka F#. |
--staticlink:assembly-name |
Staticky propojuje dané sestavení a všechny odkazované knihovny DLL, které závisí na tomto sestavení. Použijte název sestavení, nikoli název knihovny DLL. |
--subsystemversion |
Určuje verzi subsystému operačního systému, který má být používán vygenerovaným spustitelným souborem. Použijte 6.02 pro Windows 8.1, 6.01 pro Windows 7, 6.00 pro Windows Vista. Tato možnost se vztahuje pouze na spustitelné soubory, nikoli knihovny DLL, a je potřeba ji použít pouze v případě, že vaše aplikace závisí na konkrétních funkcích zabezpečení dostupných jenom na určitých verzích operačního systému. Pokud se tato možnost použije a uživatel se pokusí spustit aplikaci v nižší verzi operačního systému, selže s chybovou zprávou. |
--tailcalls[+|-] |
Povolí nebo zakáže použití koncové instrukce IL, což způsobí opakované použití rámečku zásobníku pro koncové rekurzivní funkce. Tato možnost je ve výchozím nastavení povolená. |
--target:[exe|winexe|library|module] filename |
Určuje typ a název souboru vygenerovaného kompilovaného kódu.
|
--times |
Zobrazí informace o časování pro kompilaci. |
--utf8output |
Povolí tisk výstupu kompilátoru v kódování UTF-8. |
--warn:warning-level |
Nastaví úroveň upozornění (0 až 5). Výchozí úroveň je 3. Každé upozornění má úroveň na základě závažnosti. Úroveň 5 poskytuje více, ale méně závažná upozornění než úroveň 1. Tato možnost kompilátoru je ekvivalentní možnosti kompilátoru jazyka C# se stejným názvem. Další informace najdete v tématu /warn (možnosti kompilátoru jazyka C#). |
--warnon:warning-number-list |
Povolte konkrétní upozornění, která můžou být ve výchozím nastavení vypnutá nebo zakázána jinou možností příkazového řádku. Seznam je oddělený čárkami. |
--warnaserror[+|-] [warning-number-list] |
Povolí nebo zakáže možnost hlásit upozornění jako chyby. Můžete zadat konkrétní čísla upozornění, která se mají zakázat nebo povolit. Možnosti později v příkazovém řádku přepíší možnosti dříve v příkazovém řádku. Pokud chcete například zadat upozornění, která nechcete oznamovat jako chyby, zadejte --warnaserror+ --warnaserror-:warning-number-list .Tato možnost kompilátoru je ekvivalentní možnosti kompilátoru jazyka C# se stejným názvem. Další informace najdete v tématu /warnaserror (možnosti kompilátoru jazyka C#). |
--win32manifest:manifest-filename |
Přidá do kompilace soubor manifestu Win32. Tato možnost kompilátoru je ekvivalentní možnosti kompilátoru jazyka C# se stejným názvem. Další informace najdete v tématu /win32manifest (možnosti kompilátoru jazyka C#). |
--win32res:resource-filename |
Přidá do kompilace soubor prostředků Win32. Tato možnost kompilátoru je ekvivalentní možnosti kompilátoru jazyka C# se stejným názvem. Další informace najdete v tématu /win32res ((C#) Možnosti kompilátoru). |
Upozornění výslovného souhlasu
Kompilátor jazyka F# podporuje několik upozornění s výslovným souhlasem:
Počet | Shrnutí | Level | Popis |
---|---|---|---|
21 | Rekurze kontrolována za běhu | 5 | Upozornit, když je při rekurzivním použití kontrolována inicializace zvuku za běhu. |
22 | Vazby se spustily mimo pořadí | 5 | Upozornit, když může být rekurzivní vazba spuštěna mimo pořadí kvůli předávacímu odkazu. |
52 | Implicitní kopie struktur | 5 | Upozornit, když je zkopírovaná neměnná struktura, aby se zajistilo, že původní objekt není mutován operací. |
1178 | Implicitní rovnost/porovnání | 5 | Upozornit, pokud je deklarace typu jazyka F# implicitně odvozena jako NoEquality nebo NoComparison ale atribut není k dispozici u typu. |
1182 | Nepoužité proměnné | Není k dispozici | Upozornit na nepoužívané proměnné |
3180 | Implicitní přidělení haldy | Není k dispozici | Upozornit, když je proměnlivý místní objekt implicitně přidělen jako referenční buňka, protože byl zachycen uzavřením. |
3366 | Zápis indexu | Není k dispozici | Upozornit při použití zápisu expr.[idx] indexu F# 5. |
3517 | Chyba InlineIfLambda | Není k dispozici | Upozornit, když optimalizátor F# nenasadí InlineIfLambda hodnotu, například pokud byla zadána vypočítaná hodnota funkce místo explicitního lambda. |
3387 | op_Implicit přeměna |
Není k dispozici | Upozornit, když se v argumentu metody použije implicitní převod .NET. |
3388 | Další implicitní upcast | Není k dispozici | Upozornění při implicitní použití dalšího upcastu přidaného v jazyce F# 6 |
3389 | Implicitní rozšíření | Není k dispozici | Upozornit, když se použije implicitní rozšíření čísel. |
3390 | Komentáře dokumentu XML s poškozeným formátem | Není k dispozici | Upozornit, když jsou komentáře dokumentu XML špatně formátovány různými způsoby. |
Tato upozornění můžete povolit pomocí /warnon:NNNN
příslušného čísla upozornění nebo <WarnOn>NNNN</WarnOn>
tam, kde NNNN
je příslušné číslo upozornění.
(Můžete také použít syntaxi <WarnOn>FSNNNN</WarnOn>
, např. <WarnOn>FS3388</WarnOn>
.) Všimněte si, že pokud WarnOn
je vlastnost zadána vícekrát, použije se pouze poslední výskyt. Chcete-li zadat více upozornění, zadejte WarnOn
vlastnost jednou s řetězcem odděleným čárkami jako jeho obsah: <WarnOn>3388,3559</WarnOn>
.
Související články
Titulek | Popis |
---|---|
Možnosti F# Interactive | Popisuje možnosti příkazového řádku podporované interpretem jazyka F# fsi.exe. |
Referenční dokumentace k vlastnostem projektu | Popisuje uživatelské rozhraní pro projekty, včetně stránek vlastností projektu, které poskytují možnosti sestavení. |