Jak moc "bobtnají" binárky slinkované C3? Ukazované příklady se přeloží do nějakých 600kB binárky, to je docela dobré (Gočko má naproti tomu větší runtime atd.), ale zůstává to +- na této hodnotě nebo to nějak výrazně roste i pokud se nepoužívají další balíčky?
Mimochodem, chtělo by to zmínit právě správu balíčků v C3, protože ve standardním C je to no-op :-)
> chtělo by to zmínit právě správu balíčků v C3, protože ve standardním C je to no-op :-)
Osobně si správu závislostí dělám tak, že si ručně stáhnu C3 knihovny a umístím je někam do složky projektu. Přičemž C3 knihovna je adresář s příponou .c3l, který obsahuje zdrojové soubory C3 nebo C a soubor manifest.json, který říká, jak ty zdrojové soubory přeložit.
Pak jde ještě použít příkaz c3c vendor-fetch, který stáhne knihovnu z kolekce knihoven vendor, kde je zatím velice málo knihoven, takže to moc užitečné není.
taky asi zavisi, jestli to budou ciste C3 balicky, nebo potrebujes linkovat s C knihovnou. C3 zatim moc balicku asi nema, takze se skonci u toho cecka ;)
O balíčcích se zmíním.
Jinak ty binárky rostou +- stejně jako v C, Rustu nebo Go. Ono tam není co dalšího přidávat nebo vymýšlet. Je to relativně dobře udržitelné v rozumných mezích řekl bych, takže stomegové binárky se nedělají :-)
Pojmenování intů teda nic moc, když už tvoří nový jazyk. Mohli vzít třeba jména z stdint a trochu je poleštit. Takový uint64 je okamžitě jasný i bez manuálu. Použít staré C jména s trochu jiným významem je recept na zmatek.
No to mi taky připadlo zvláštní. Stejně tam ten počet bitů musí být u 128bitových intů (aspoň to není longlong nebo něco podobného).
Zvláště mě napadlo... co tedy když máme C funkci přes extern fn ..., tak tam se tedy berou ty typy z C jistě. No ale používá se ta funkce pak z C3, takže de-facto ten typ může být jiný nebo co se děje? (pokud třeba long na dané platformě je jinak dlouhý v C než v C3, i když to bude reálně vzácné)
Tam se musí používat jiné typy CChar, CShort, CUShort, CInt, CUInt, ... nebo ZString pro řetězce ukončené bajtem 0.
No jo, díky. Teď mi dochází, že jsem to už zahlídl, asi tady:
https://c3-lang.org/language-overview/types/#c-compatibility