Measurement of the small intervals in assembler code
In some cases we need to measure a very short intervals (hundreds of the CPU Tacts) directly in Assembler. We can perform measurement by using cpuid/rdtsc combination.
In some cases we need to measure a very short intervals (hundreds of the CPU Tacts) directly in Assembler. We can perform measurement by using cpuid/rdtsc combination.
Many beginner users may be frustrated with .net and how it used in LabVIEW as well as why .NET Core and .NET Framework exists and what the differences. Since last LabVIEW 2024 supported both Core and Standard below is “demystification” with practical examples and some notes.
Interesting question was raised on NI Forum. “I have created an app that works without issue… As a DLL called by Python, 1 of the functions work… the other just freezes.”. The reason is — the Execution System was set “same as caller” (which is default), but Python is not LabVIEW.
Nowadays development on pure Assembler is not very popular, because modern compilers can generate “good” code. On the other hand this is a very good exercise, which helps to understand a calling conventions and how it work in very low details.
When calling external code in LabVIEW, we need very often to pass arrays into external DLL. This small “step by step” tutorial walks you through two possible ways of calling C/C++ DLLs manipulating LabVIEW arrays inside.
Calling external code from different languages is great feature of LabVIEW. In general you can wrap almost anything into DLL, then call it by Call Library Function Node. This time we will mix Rust code with LabVIEW.
This is a question, raised again and again on the forums about third-party DLLs: “…whatever I do I cannot get the library to work in LabVIEW. I get the error “The library for this node cannot be found or cannot be loaded….”. Below short “check list” with some explanations.
Two command lines which I often forgot and googling again and again. If you have dynamic link library, but haven’t according *.lib file, then use
dumpbin /EXPORTS yourfile.dll > yourfile.exports
lib /def:yourfile.def /out:yourfile.lib