問題:
As a Windows C/C++ DLL, the RSA API can be used in many C/C++ development environments including National Instruments LabWindows/CVI. However, due to the way LabWindows/CVI 2010 handles the loading of external .DLLs, the compiled executable will experience a fatal run-time error. When this occurs you will receive a message like the following:FATAL RUN-TIME ERRORUnknown source position, thread id 0x0000XXXXA non-debuggable thread caused a ‘General Protection’ fault at address 0xXXXXXXXX.Please note: this issue has been confirmed to exist in LabWindows/CVI 2010 and may exist in other versions of LabWindows/CVI as well. LabWindows/CVI 2015 has shown not to exhibit this problem.
答案:
National Instrument has confirmed this issue with other external libraries and has written up a KnowledgeBase article showing how to fix the issue. You can read this article at the following URL.
http://digital.ni.com/public.nsf/allkb/14B6D031F7AC4B53862577AE0060F844
This article explains how to add keys to your Windows Registry to force LabWindows/CVI to load the external .DLLs in a specified order. This technique will be used to load the RSA API .DLLs in the proper order so that the built executable will not experience a fatal run-time error.
The simplest way to add the keys to your registry is to run the following registry script.
Windows Registry Editor Version 5.00 [HKEY_CURRENT_USER\Software\National Instruments\CVI\10.0\DLL Load Order] "DLL1"="RSA_API.dll" "DLL2"="RSA300API.dll" "DLL3"="RSA500API.dll" "DLL4"="BaseDSP.dll" "DLL5"="GPMeasDSP.dll"
Open Notepad.exe and Copy and paste the script above into the Notepad window.
Go to the File menu and select Save As…
Save the file to your computer’s Desktop as a .reg file. Enter the filename and then change the Save as type to All Files (*.*) then click the Save button.
Navigate to the folder where you saved the .reg file. Double-click the .reg file to launch the Registry Editor.
Click Yes to allow the changes to be made and the new Registry keys to be added.
Rebuild your LabWindows/CVI project. Your executable should now run without a Fatal Run-time Error.
常見問答集 ID 72206
檢視所有常見問答集 »