아날로그 DLL 로드
4710 단어 dll
#include <stdio.h>
#include <malloc.h>
#include <sys/stat.h>
typedef int (*PFUNC)(int,int);
typedef struct
{
int Position;
int Length;
}Fun;
typedef struct
{
int num;
Fun *pFun;
}Lib;
int main()
{
int FileSize =0;
char FileName[] = "code.obj";
FILE * FileHandle = fopen(FileName,"rb");
if(FileHandle!=NULL)
{
Lib lib;
fread(&lib.num,sizeof(char),4,FileHandle);
//
lib.pFun =(Fun*)malloc(sizeof(Fun)*lib.num);
fread(lib.pFun,sizeof(Fun),lib.num,FileHandle);
// ,( )
char *instruction= (char*)malloc(sizeof(char)*lib.pFun->Length);
//
fseek(FileHandle,lib.pFun->Position,0);
// , ,0
fread(instruction,sizeof(char),lib.pFun->Length,FileHandle);
//
PFUNC pfunc = (PFUNC)instruction;
printf("%d
",pfunc(3,4));
//
}
}
/*
:
1) , , DLL
2) char A[m], char
, , A[0],
, A[0],
10 , , A[10], , fseek
size_t fread(void *buffer,size_t size,size_t count,FILE *stream)
{
int i=0;
while(stream->ptr!=NULL && i<count)
{
buffer = stream->ptr;
(stream->ptr)++;
}
return i;
} //
int fseek( FILE *stream,long offset,int origin)
{
stream->ptr = offset + origin
}
*/
CODE.OBJ01 00 00 00 0C 00 00 00 2B 00 00 00 55 8B EC 81EC C0 00 00 00 53 56 57 8D BD 40 FF FF FF B9 3000 00 00 B8 CC CC CC CC F3 AB 8B 45 08 03 45 0C5F 5E 5B 8B E5 5D C3
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
LoadLibrary에서 126 오류가 발생하면 원인이되는 파일 이름을 찾는 방법Loadlibrary에서 DLL을 동적으로 로드할 때 로드 실패입니다. 실패한 파일 이름은 알려주지 않습니다. 로드하고자 하는 DLL 자체를 로드할 수 없다면 이야기는 간단하지만, 대상 DLL이 다른 DLL을 로드하...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.