2014-10-29 4 views
0

ccs v6을 사용하는 동안 c 파일을 cpp 파일로 변경하려고했습니다. 원본 c 파일에는 여러 헤더 파일이 들어 있습니다.ccs v6에서 cpp 파일로 변경

#include "stdio.h" 
#include "types.h" 
#include "evmomapl138.h" 
#include "evmomapl138_timer.h" 
#include "evmomapl138_i2c.h" 
#include "test_led_dip.h" 

는 그러나 CPP 파일로 변경 한 후,이 types.h

#ifndef TYPES_H 
#define TYPES_H 

typedef unsigned char uint8_t; 
typedef unsigned short uint16_t; 
typedef unsigned int uint32_t; 
typedef unsigned long ulong_t; 
typedef signed char  int8_t; 
typedef signed short int16_t; 
typedef signed int  int32_t; 
typedef signed long  long_t; 

typedef enum 
{ 
    false = 0, 
    true = 1 
}bool_e; 

#endif 

컴파일러에서 예상 식별자의 오류를 반환 0 = 거짓 1 = 참 문장 식별자를 예상했다. 하지만 헤더 파일 포함을 수정했습니다

extern "C" 
{ 
    #include "types.h" 
} 

답장을 보내 주셔서 감사합니다!

+1

언어 컴파일러가 다른 언어로 작성된 파일을 컴파일하려고 시도하는 경우 (C 및 C++ **가 하위/수퍼 세트가 아닌 ** 다른 경우) 의도하지 않은 후자에서 전자어에 의해 사용되는 예약어 사용. 이러한 언어 전환의 위험이 있습니다. 이 휴식 시간은 뻔뻔 스럽습니다. * 실행 시간 *까지 표시되지 않는 가능한 버그가 충분히 있음을 확신 할 수 있습니다. 행운을 빈다. – WhozCraig

+0

파일을 C++ 용으로 컴파일 할 때'typedef bool bool_e;'을 써야 할 수도 있습니다 :'#ifdef __cplusplus' /'typedef bool bool_e;'/'# else' /'... existing code ...'/' 끝이다. –

+0

C++ 헤더 파일은''과''입니다. – Galik

답변

1

cpp에서 true 및 false는 키워드입니다.

+0

그럼 어떻게 고쳐야합니까? 어떻게 C에서 bool을 정의하고 cpp에서 호출 할 수 있습니까? –

+0

다양한 방법이 있습니다. 한 가지 문제를 해결 한 다음 다른 문제를 찾을 수 있습니다. 갈릭이 말한 것을 사용하여보십시오 . – zam664

관련 문제