11-16-2016 01:18 PM
All are good points! Here's another I stumble upon:
C# (and Java) use a runtime JIT compiler, as the code is running the CIL bytecode is compiled using a VM (virtual machine) software. Ahead of time compile is also possible but this would make it machine (e.g. Intel, Broadcom...) specific.
Beyond the point, whenever I've used a VM running another OS its a memory hog.
Has anyone noticed while your developing your project and Labview crashes, its a filenamed something like #######.cpp file crashed. Tells me c plus plus is at least used to report a crash and maybe the human code readable program underneath the graphics on the block diagrams.
Rich J
Rich J
11-16-2016 01:28 PM
@richjoh wrote:Has anyone noticed while your developing your project and Labview crashes, its a filenamed something like #######.cpp file crashed. Tells me c plus plus is at least used to report a crash and maybe the human code readable program underneath the graphics on the block diagrams.
Yes, the IDE is written in C/C++/C# at very lowest levels. And there are libraries that are used written in C/C++. But more and more of the IDE is actually written in LabVIEW seemingly with every release.
11-16-2016 01:32 PM
@richjoh wrote:Has anyone noticed while your developing your project and Labview crashes, its a filenamed something like #######.cpp file crashed. Tells me c plus plus is at least used to report a crash and maybe the human code readable program underneath the graphics on the block diagrams.
No, that's not what it's telling you. What it's telling you is that LabVIEW - and its run-time engine - is written in C++, and that when it crashes, it's at a particular spot in the run-time engine. There is no "human-readable code underneath the graphics" - the graphics is the code and it gets compiled into machine language like any other compiled language. However, that compiled code makes calls into the run-time engine, which, as I mentioned, is written in C++ and the compiled like any other application.
11-16-2016 02:35 PM
Nathand thanks for clearing that up. Labview is compiled code into binary machine code.
Crossrulz, I don't follow why C# is used "at very lowest levels". C# gets converted to CLI... as I mentioned. You know that Labview new features (something not yet implented) will at some point need to be written with lower level code since reuse of Labview itself could make it hard to upgrade/change or modify or just not doable. I think of the new feature like adding a new word to the dictionary using the 26 alphabet charactors. A new feature could also mean adding a 27th charactor that make up many new words. Anyhow C#... is just compiled libraries or why would that be included at compile time.