현재 두 개의 다른 기능 사이에 캡슐화되어야하는 다양한 기능이있는 C 프로젝트를 작업 중입니다. 도식적으로, 그것은 다음과 같습니다C11 전 처리기를 사용하여 캡슐화 기능
int func1(int arg) {
prepare();
doStuff();
undo();
return stuff;
}
char func2(int arg1, char* arg2) {
prepare();
doOtherStuff();
undo();
return results;
}
I했습니다 들었다 전처리 그래서 그 전에 어떤 처리기 미신적 점보를 사용하여 실제 함수 본문 후 prepare()
및 undo()
기능을 삽입 할 수 있으며, 매우 강력? 전처리기를 피할 수 없다면 전처리기를 사용하지 말 것을 강력히 권유합니다.하지만 가능한지 궁금합니다.
건배. 이
나는이 답변을 읽는 즉시 삭제할 것입니다. 왜냐하면 읽는 것이 좋다고 생각하지 않기 때문입니다. –
감사합니다. 나는 그 때 포스트를 전부 제거 할 것이다. – Freeman
그것이 효과가 있는지 확인 했습니까? 'doStuff' 인수는 당연히 함수 이름이 아니라 실행하고자하는 코드 조각입니다. –