Gary Rubin Posted July 10, 2006 Report Share Posted July 10, 2006 I'm looking to transition a project from Windows to Linux. The Windows version uses Call Library Function Nodes to make calls to dll's associated with hardware drivers. Given that all of my hardware has Linux drivers available, do the calls to the drivers work pretty much the same way in the Labview Linux environment as in Windows? Thanks, Gary Quote Link to comment
Jim Kring Posted July 10, 2006 Report Share Posted July 10, 2006 I'm looking to transition a project from Windows to Linux. The Windows version uses Call Library Function Nodes to make calls to dll's associated with hardware drivers. Given that all of my hardware has Linux drivers available, do the calls to the drivers work pretty much the same way in the Labview Linux environment as in Windows?Thanks, Gary That depends on whether the driver DLLs have the same interface on Linux as they do on Windows. If that is the case, then you should be alright. However, you will have to link to the .so files instead of the .dll files, unless you happened to have entered "dllname.*" as the shared library name, -- this allows LabVIEW to link to the platform specific shared library name when moved to another platform (assuming that the shared libraries have the same file name, minus the extension). Quote Link to comment
Gary Rubin Posted July 10, 2006 Author Report Share Posted July 10, 2006 That depends on whether the driver DLLs have the same interface on Linux as they do on Windows. By that do you mean the same function names, parameters, etc.? Quote Link to comment
Jim Kring Posted July 10, 2006 Report Share Posted July 10, 2006 By that do you mean the same function names, parameters, etc.? Yes. Quote Link to comment
Gary Rubin Posted July 10, 2006 Author Report Share Posted July 10, 2006 Yes. Great, thank you for the information. Gary Quote Link to comment
Rolf Kalbermatter Posted July 15, 2006 Report Share Posted July 15, 2006 By that do you mean the same function names, parameters, etc.? Also they need to use on both/all platforms the C decl calling convention. This is the only one that is supported on all platforms LabVIEW is available on. Sadly most 3rd party DLLs on Windows use Microsofts stdcall and then you will have to maintain two VI libraries anyhow. If I write DLLs I always make sure they use cdecl. This has worked great for the OpenG LabVIEW ZIP Tools library which has one VI library and three shared libraries for the three OSes, Windows, Linux and Mac OSX. Rolf Kalbermatter Quote Link to comment
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.