read C가 동적 함수 호출을 지원하지 않습니다. 내 프로그램처럼 별도의 함수로 구현 된 테스트 케이스의 계속 증가하고있다 -C 동적 함수 호출을 허용하는 해결 방법이 있습니까?
int main(int argc, char **argv){
assert(!testcase1());
assert(!testcase2());
assert(!testcase3());
}
-
int testcase1(void);
int testcase2(void);
int testcase3(void);
나는 새로운 테스트 케이스를 추가 할 때마다, 나는 또한처럼 내 주요 기능에 호출을 추가 할 필요가있다
assert(!testcase*())
과 같이 호출하는 것을 선호합니다. 여기서 *는 프로그램에서 유효한 함수 이름으로 해석되는 문자열과 일치합니다.
더 편리한 솔루션을 생각해 볼 수 있습니까?
프로토 타입을 'bool testcase1 (void);'가 아니어야합니까? – Lundin
적절한 단위 테스트 프레임 워크를 고려할 시간입니다. – taskinoor
POSIX는 런타임에 동적 기호를 찾는 ['dlsym()'] (http://man7.org/linux/man-pages/man3/dlsym.3.html)을 제공합니다. 그것 (그리고'dlopen()')은 종종 POSIXy 운영체제 (즉, 현재는 Microsoft Windows를 제외한 모든 곳)에서 런타임 플러그인 기능을 제공하기 위해 사용됩니다. –