C 코드를 다른 VS2010 프로젝트의 C 프로젝트에 통합하면 결과가 발생합니다. C 코드에서 C 함수를 호출할 때 링크 오류가 발생합니다. LNK2001로 식별된 오류는 해결되지 않은 외부 기호와 관련되어 있습니다.
이 문제를 해결하려면 특정 지침을 준수하여 코드베이스가 올바르게 구성되었는지 확인하세요.
모듈화 코드:
헤더 생성 및 구현 파일:
수출 및 수입 관리:
functions.h
#pragma once
#define FUNCTIONS_EXPORT_API
#if defined(__cplusplus)
extern "C" {
#endif
FUNCTIONS_EXPORT_API char *dtoa(double, int, int, int*, int*, char**);
FUNCTIONS_EXPORT_API char *g_fmt(char*, double);
FUNCTIONS_EXPORT_API void freedtoa(char*);
#if defined(__cplusplus)
}
#endif
#pragma 한 번
#FUNCTIONS_EXPORT_API 정의
#정의된 경우(__cplusplus)
외부 "C" {
#endif
FUNCTIONS_EXPORT_API char *dtoa(double, int, int, int*, int*, char**);
FUNCTIONS_EXPORT_API char *g_fmt(char*, double);
FUNCTIONS_EXPORT_API void freedtoa(char*);
#정의된 경우(__cplusplus)
}
#endiffunctions.c
#pragma once
#define FUNCTIONS_EXPORT_API
#if defined(__cplusplus)
extern "C" {
#endif
FUNCTIONS_EXPORT_API char *dtoa(double, int, int, int*, int*, char**);
FUNCTIONS_EXPORT_API char *g_fmt(char*, double);
FUNCTIONS_EXPORT_API void freedtoa(char*);
#if defined(__cplusplus)
}
#endif
#define FUNCTIONS_EXPORTS
#include "functions.h"
char *dtoa(double, int, int, int*, int*, char**)
{
// 함수 구현
}
문자 *g_fmt(문자*, 더블)
{
// 함수 구현
}
void freedtoa(문자*)
{
// 함수 구현
}추가 고려 사항부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.
Copyright© 2022 湘ICP备2022001581号-3