.cpp 파일이 있다고 가정합니다 (즉, MSVC와 같은 C++ 컴파일러를 사용하여 컴파일 됨). 이 파일에서 다음과 같은 방법으로 struct
을 정의C/C++ struct 질문
struct Pixel
{
float x, y;
};
, 당신은 Pixel
에 해당하는 C struct
을 필요로하는 C 함수를 호출하는 코드의 라인을 가지고있다. 쓰는 경우 :
Pixel my_pixel
// set my_pixel to something
c_func(&my_pixel);
그것은 작용할 것입니까? 내 말은, C++ 컴파일러는 객체 my_pixel
을 만들지 만, C 코드로 컴파일 된 함수에 전달합니다 (그 라이브러리의 .lib 만 있습니다).
http://www.parashift.com/c++-faq-lite/mixing-c-and-cpp.html#faq-32.8 –
바로 다음 FAQ로 한 후 통근 C의 블록에 포함 조나단이 OP의 질문에 직접 대답했습니다. "그게 효과가 있니?" "때때로"입니다. 이 경우'struct Pixel'이 POD 클래스라는 점을 감안하면 대답은 "Yes"여야합니다. –
SO에 대한 질문과 비슷하게 들립니다. – haylem