"사용법 #include 지시어의 끝에 추가 토큰"나는 이전 질문에서 시도 솔루션을 테스트입니다 : Use typedef within struct for naming and indexing text commands해결 빌드 경고 -
그러나, 나는 누구에게도 내 컴파일러 경고를 계속하고 싶습니다. 이러한 목적으로 정적 코드 분석 도구를 사용하고 특정 도구 (예 : LINT)의 경우 주석 내에서 마크 업을 사용하여 특정 규칙과 경고를 수동으로 제외 할 수 있습니다. 최초/최고 응답의 경우
는, 그 해결책을 시도했지만 이렇게 같이 할 수있는 최종 구조 수정 : 검색하는 동안 그 I를하는 경우struct command commands[] =
{
#include "commands.inc",
{NULL, NULL}
};
이것은 그래서 난 알 수를, 이 배열 구조체의 가장 큰 주소 지정 가능 멤버에 도달하고 범위를 벗어나는 조건을 벗어나지 않습니다. 문제는 "경고 : #include 지시문 끝에 여분의 토큰이 있습니다"라는 컴파일러 경고가 있다는 것입니다. 이 경고를 비활성화 할 수있는 방법이 있습니까? 나는이 해결책이 마음에 든다. 그리고 그것은 나의 필요에 잘 맞는다. 결국
, 정말처럼 내 .inc 파일을 업데이트 :
CMD(list),
CMD(quit),
CMD(start),
대신 내가 후미 쉼표를 제거 할 수 있었다
CMD(list),
CMD(quit),
CMD(start)
의 내 매크로 정의와 정적 초기화 코드 모두.
나는 다음 요소를 null로 구성하여 선언 할 수 있습니다. – DevNull
@GirLovesTacos : 다음 쉼표를 다음 줄로 이동하십시오. '# '로 시작하는 줄은 전처리 기용이며 컴파일러에서는 볼 수 없습니다. – wallyk
정말 쉼표가 필요하지 않습니다. - #define COMMAND (NAME) {#NAME, CMD_ ## NAME}, ... # –