Fórum Root.cz
Hlavní témata => Vývoj => Téma založeno: Coati 05. 11. 2021, 02:50:09
-
Jde nějak na Azure Functions použít Rust bez použití custom handlers (to je poněkud těžkopádné a v podstatě to není skutečně serverless)?
-
Cisty rust - pokial niekto nenapise bindingy na sluzby tak nie.
No v Rsute si mozes spravit DLL-ko/so kniznicu, nad ktorou si napisat C# Azure funkciu (len tenky wrapper) a prevolat Rustovsku kniznicu.
-
Cisty rust - pokial niekto nenapise bindingy na sluzby tak nie.
No v Rsute si mozes spravit DLL-ko/so kniznicu, nad ktorou si napisat C# Azure funkciu (len tenky wrapper) a prevolat Rustovsku kniznicu.
Není to P/Invoke?
-
Ano je.
-
Ano je.
.NET Core umí přilinkovat statickou knihovnu k dotnetí binárce, tím se obejde P/Invoke (používá se transparentně IJW přes ijwhost.dll). V .NET Framework se to jmenuje C++ Interop a překladač přemosťující kód generuje automaticky. Pro Rust to funguje bez problémů včetně nasazení na Azure Functions.
-
Tu je priamo ako sa to robi na rozsiahlejsich projektoch - https://www.youtube.com/watch?v=0B1U3fVCIX0 kazdopadne pri povahe nanosluzieb, to az tak nebude treba, pravdepodobne sa da vystacit s par nativnymi importami.
-
Tu je priamo ako sa to robi na rozsiahlejsich projektoch - https://www.youtube.com/watch?v=0B1U3fVCIX0 kazdopadne pri povahe nanosluzieb, to az tak nebude treba, pravdepodobne sa da vystacit s par nativnymi importami.
Takto se to dělalo do .NET Core 3.0, od 3.1 se linkuje nativní statická knihovna přímo do dotnetího DLL.
-
Tu je priamo ako sa to robi na rozsiahlejsich projektoch - https://www.youtube.com/watch?v=0B1U3fVCIX0 kazdopadne pri povahe nanosluzieb, to az tak nebude treba, pravdepodobne sa da vystacit s par nativnymi importami.
Takto se to dělalo do .NET Core 3.0, od 3.1 se linkuje nativní statická knihovna přímo do dotnetího DLL.
To je pre mna novinka. Mozes mi o tom poslat nejaky zdroj, alebo example?
-
To je pre mna novinka.
Je to z roku 2019. Release notes k .NET Core 3.1 je asi nejlepší zdroj informací k této tehdy nové funkcionalitě. Něco je pak na MS blogu C++ týmu.
-
Pytam sa pre to, lebo DllImport tu bol v komentaroch oznaceny za "legacy" postup (z videa), tak sa pytam ako sa to ma robit teraz.
-
Pytam sa pre to, lebo DllImport tu bol v komentaroch oznaceny za "legacy" postup (z videa), tak sa pytam ako sa to ma robit teraz.
To není úplně “legacy”, ale je to pro dynamické knihovny, ostatně někdy má člověk jen DLL. Ale přibyla nová možnost přilinkovat statickou knihovnu, takže pokud mám k té nativní části zdrojáky, dá se místo P/Invoke použít efektivnější interop. Někdy na tom rozdílu v efektivitě moc nezáleží, pokud třeba ten nativní kód něco počítá několik sekund, tak mě asi nějaká ta mikrosekunda v interopu netrápí.