표준 라이브러리 유형 및 기능을 전달하지 마십시오. 그것이 라이브러리 헤더가 제공되는 것입니다. 귀하의 파일로 배치해야합니다
#ifndef MYLIBRARY_H
#define MYLIBRARY_H
#ifdef MYLIBRARY_EXPORTS
#define MYLIBRARY_EXPORT __declspec(dllexport)
#else
#define MYLIBRARY_EXPORT __declspec(dllimport)
#endif
// required headers
#include <stdio.h>
// exported/imported functions
MYLIBRARY_EXPORT int fn1(FILE *theFile);
#endif
귀하의 DLL 프로젝트는 일부 또는 정의 처리기 매크로 (구성 어떤 방법의 수), 및 DLL의 소비자가 할 하지 그것을 정의로 정의 MYLIBRARY_EXPORTS
으로 내장되어 있습니다.
이것은 마법사가 제공 한 DLL 프로젝트 생성기에 사용되는 일반적인 레이아웃입니다. 프로젝트에서 동일한 작업을 수행하는 것도 고려하십시오. 무엇보다 필요한 라이브러리를 정의하기 위해 필요한 표준 헤더를 포함하고 이것이 제공하는 것이 무엇인지 정의하십시오.
일반적으로 헤더 파일의 모범 사례에 대한 질문이 많아서 DLL이나 Windows와 관련이 없습니다. – jamesdlin
여러 모듈에서 FILE *을 사용하는 경우 모든 모듈이 동일한 CRT DLL을 사용해야 함을 유의하십시오. –