컴파일 타임에 float와 double precision간에 전환하려면 어디를 봐야합니까? 사용자가 double precision 대신에 float로 모든 것을 원한다면 어떻게 유연성을 유지할 수 있을까요? 즉, 조건부로 float 또는 double precision이 될 수있는 변수를 어떻게 정의해야합니까?컴파일시 float와 double precision 간 전환
답변
, 간단한 typedef
는 할 것 :
#ifdef USE_DOUBLES
typedef double user_data_t;
#else
typedef float user_data_t;
#endif
코드에서 사용 user_data_t
및 설정 USE_DOUBLES
당신이 doubles
를 원하는 경우 컴파일시 :
g++ -DUSE_DOUBLES=1 myprogram.cpp
두 복사본을 모두 컴파일하고, 앞에서 쉘 스크립트 리디렉터를 비웃고, 비올라! – user7116
@Shibli 여러 가지가 있습니다. '-D ...'컴파일러 옵션을 사용하면 많은 UNIX 컴파일러에서 작동합니다. Windows에서는'/ D'를 사용하도록 설정하거나 C/C++ 프로젝트의 속성에있는 전 처리기 정의 목록에'USE_DOUBLES'를 추가 할 수 있습니다. – dasblinkenlight
'-DUSE_DOUBLES = 1'을 make 파일에 직접 넣고 float 변수의 타입을 확인했습니다. 그렇다면 이것을 make 파일에 어떻게 사용할 수 있습니까? – Shibli
데이터 사용 방법을 정확히 모른 채 정확한 해결책을 추천하는 것은 어렵습니다.
노조 날짜 유형을 살펴보십시오.
http://msdn.microsoft.com/en-us/library/5dxy4b7b(v=VS.80).aspx
템플릿 또한 용도에 따라 실행 가능한 옵션이 될 것입니다. 이 컴파일시에 스위치를 만들기 위해 OK 경우
나는 내 코드에 #define
을 갖고 싶지 않습니다.
두 개의 서로 다른 두 개의 머리글에 두 개의 서로 다른 머리글이 포함되도록 선택할 수있는 빌드 옵션을 사용할 수 있습니다.
- 1. Double Precision
- 2. Tesla double precision
- 3. MIPS double precision immediates
- 4. float와 double 값을 델타와 비교합니까?
- 5. C++ Builder 및 Double Precision
- 6. Java BigDecimal/Double precision error
- 7. float와 double 사이의 애매한 확장 메서드 호출
- 8. 쿠다 프로그래밍에서 float와 double 유형의 차이점은 무엇입니까?
- 9. float와 double 사이의 boost :: spirit (qi) 결정
- 10. Visual Express 2010 double variable precision
- 11. Kepler K20Xm의 Double Precision Units (DPUs)
- 12. liquibase를 사용하여 double precision [] 유형의 열 만들기
- 13. 서버 간 이미지 간 전환
- 14. float와 double에서 파일을 읽으시겠습니까?
- 15. float와 double은 어떻게 비교됩니까?
- 16. float와 double의 차이점은 무엇입니까?
- 17. 보기 간 전환
- 18. 두 이미지 간 전환
- 19. 플롯 공간 간 전환
- 20. drupal의보기 간 전환
- 21. 조각 간 전환 속도
- 22. 조각 간 전환
- 23. 도커 태그 간 전환
- 24. 상태 간 전환 시간
- 25. 인터럽트가있는 모드 간 전환
- 26. 여러 div 간 전환
- 27. QWidgets 간 전환
- 28. Unity의 애니메이션 간 전환
- 29. MOqui의 화면 간 전환
- 30. 보기 컨트롤러 간 전환
컴파일 타임 또는 런타임에? – user7116