-
I have existing makefiles (written for gcc), that use a
|
Beta Was this translation helpful? Give feedback.
Replies: 1 comment 2 replies
-
Hello and thank you for your interest!
Let me note first that Cesium is really far from being useful right now. Eventually, we want to cover this case (exactly using Cesium as
Currently, you get it by:
This will generate a native binary for the chosen OS with relatively the same dependencies as dotnet runtime for the particular platform has. For example, here's the dependency list for Ubuntu. Most notably, that's libicu and libunwind; everything else is relatively common AFAIK. In the future, we will also distribute Cesium in the form of .NET SDK, and will likely publish the prebuilt binaries for major operating systems ourselves (of course, it will always be possible to just build it from sources).
Not sure I get the question correctly. Currently, Cesium binaries cannot be used as
Let's say that for now the interop model is not so thought out as some other things, but what I can (try to) promise is that the Cesium interop model will be at least as sufficient as the model for C# is. So, if you can interop some library with C#, you will be able to interop it with Cesium as well (and here I mean native libraries). Perhaps the closest RFC here is #511, about To emphasize: currently, the native interop model is mostly non-existent. We will improve and consider it though. So, in the future, you'll likely have options to either recompile the dependencies with Cesium, or use them as-is via (automatic) .NET interop, if your use case requires that.
This is related to the previous question. Sooner or later, Cesium will get an interop model to load and call native libraries. So, if you can compile a DLL1 from your assembly code, then you'll be able to call it. There are no immediate plans to support We could make it pluggable, though, and allow the users to specify assembly translators they would like to use to process their
Currently I believe they are (i.e. One fun extension I have in mind is to make If you (or the maintainer of a library you use) want your C code to be portable, you should probably use fixed-size integer types like Another problem you didn't mention is type layout and alignment. For now, we consider Cesium to use the .NET layout and alignment by default, but in general I'm not against compilation options that will change those (and even the integer sizes) if practically required. Footnotes
|
Beta Was this translation helpful? Give feedback.
Hello and thank you for your interest!
Let me note first that Cesium is really far from being useful right now. Eventually, we want to cover this case (exactly using Cesium as
CC=
inmake
), but right now this is impossible. Below, I will consider your questions from both the standpoint of the current situation and the future plans. But please mind that right now Cesium is most likely not useful for you. Sorry. We are working on it!Currently, you get it by: