이와 비슷한 작업을 수행 할 수 있다면 응용 프로그램에서 수백 줄의 코드를 잘라내어 유지 관리 가능성을 크게 높일 수 있습니다. 누구든지 아이디어가 있습니까?C 프로그래밍 : 프리 프로세서, 매크로 파일 포함
#include <stdio.h>
int main()
{
#define include_all_files(root) \
#include #root "1.h" \
#include #root "2.h" \
#include #root "3.h" \
#include #root "4.h"
include_all_files(first_library)
include_all_files(second_library)
include_all_files(third_library)
return 0;
}
편집 : 나는이 답변을 주셔서 감사합니다
, 내 예, 그래서 여기에 노력에서 잘못된 방향으로가는 원인이 될 것으로 보인다 실제로 해결하기 위해 노력하고있는 문제입니다 : 내가 구현하고을 유한 상태 기계.
ADD_STATE(initial_screen)
ADD_STATE(login)
: 나는 원래의 질문에 대답 할 수 있다면
STATE(initial_screen)
#include "initial_screen.state"
END_STATE
STATE(login)
#include "login.state"
END_STATE
그러나, 나는 같은 간단한이를 리팩토링 수 : 명명 규칙을 통해, 나는 같은 상태를 추가로 단순하게 그것을 입수했습니다
파일 이름과 상태 이름, 모든 기본 배선 및 기타 모든 항목이 모두 유사한 규칙을 따르기 때문입니다. 그러나 매크로에서받은 토큰에 따라 include 파일을 구현하는 방법을 알 수 없습니다.
아마도 의견을 추가하는 대신 첫 번째 소식을 수정하는 것이 좋습니다. –
고맙습니다, Anders, 내가 그 일을 할 수 있다는 것을 깨닫지 못했습니다. 편집을 추가했습니다. –