// ex1win.cpp - Test file for passing a single real // argument to a F77 function in a dll #include #include typedef void (*SUBROUTINE)(void); SUBROUTINE FOO; typedef float (* FUNCTION)(float&); FUNCTION FOO2 = NULL; int main() { HINSTANCE hDll = LoadLibrary("ex1.dll"); if(hDll==NULL) { printf("Error load dll!"); return 1; } FOO = (SUBROUTINE)GetProcAddress(hDll, "FOO"); //ВНИМАНИЕ! Экспортируемые функции могут содеражть символ "_" в конце т.е foo_ if(FOO==NULL) { printf("Error load function!"); return 1; } FOO(); FOO2 = (FUNCTION)GetProcAddress(hDll, "FOO2"); //ВНИМАНИЕ! Экспортируемые функции могут содеражть символ "_" в конце т.е foo_ if(FOO==NULL) { printf("Error load function!"); return 1; } float x = 1.2f; float y = 0.0f; y = FOO2(x); std::cout << "y = FOO2(" << x << ") = " << y << std::endl; FreeLibrary(hDll); return 0; }