VC 호출 Delphi DLL
4740 단어 Delphi
VC++ 코드:
// callDLL.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
#include "windows.h"
int main(int argc, char* argv[])
{
printf("Hello World!
");
double a=10.4;
HINSTANCE hDllInst = LoadLibrary("fonctionMathematique.DLL");
if(hDllInst)
{
typedef double (cdecl *MYFUNC)(double, double, double&); //
MYFUNC fun1 = NULL; //
// fun1 = (MYFUNC)GetProcAddress(hDllInst,"_AddD"); //
fun1 = (MYFUNC)GetProcAddress(hDllInst,"_AddDouble"); // DLL
if(fun1)
{
// printf("%f
",fun1(5.3));
printf("%f
",fun1(1.1, 5.2, a));
printf("%f
",a);
}
FreeLibrary(hDllInst);
}
return 0;
}
Delphi 코드:
function _AddDouble(iVarA: Double; iVarB: Double; var iResult:Double):Double; cdecl; export;
begin
ShowMessage(FloatToStr(iVarA));
iResult:=iVarA+iVarB;
result:=iResult;
end;
function _AddD(a: double): double; cdecl;
begin
result:=a+10.1;
end;
또한 VC에서는 기본적으로 cdecl 방식을 사용할 수 있습니다.나는 전달 방식을 쓰지 않으면 성공적으로 호출할 수 있다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Delphi 목마 자기 복제법 구현목마가 자기 복사를 실현하는 원리는 프로그램이 실행될 때 먼저 자신이 특정 디렉터리에 있는지 확인하고 그렇지 않으면 계속 실행하며 그렇지 않으면 특정 디렉터리에 복사한 다음에 새로운 프로그램을 실행하고 낡은 프로그램...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.