2014-07-09 3 views
3

점프 테이블없이 switch 문을 사용할 수 있습니까? GCC는 내가 피하고 싶지 않은 어리석은 (그리고 내 경우에는 사용할 수없는) 점프 테이블을 만든다.점프 테이블이없는 switch 문

+0

질문을 좀 더 자세히 설명해 주실 수 있습니까? 예제 시나리오. –

+3

GCC에서 만드는 점프 테이블에 대해 어떤 점이 마음에 드십니까? 컴파일러와의 싸움이 목표를 달성하기 위해해야 ​​할 일이라고 확신합니까? – Santa

답변

9

https://gcc.gnu.org/onlinedocs/gcc/Code-Gen-Options.html

-fno-점프 테이블

는 다른 코드 생성 전략을보다 효율적 것조차 스위치 문에 점프 테이블을 사용하지 마십시오. 이 옵션은 동적 링커의 일부를 구성하고 점프 테이블의 주소를 참조 할 수없는 코드를 작성하기 위해 -fpic 또는 -fPIC와 함께 사용됩니다. 일부 목표에서 점프 테이블은 GOT를 필요로하지 않으므로이 옵션은 필요하지 않습니다.