1 EKİM 2009, PERŞEMBE
Belirleme C 32 vs 64 bit
Bir şekilde güvenilir bir şekilde C kodu 32 vs 64 bit derlenmiş olup olmadığını belirlemek için arıyorum. Geldik ile ne düşünüyoruz makul bir çözüm kullanarak makrolar, ama oldu merak etmiyor musun, eğer insanlar düşünmüş durumlarda bu başarısız olabilir ya da varsa daha iyi bir yolu bunu yapmak için. Lütfen çapraz platform, çoklu derleyici bir ortamda bunu yapmak için çalışıyoruz unutmayın.
#if ((ULONG_MAX) == (UINT_MAX))
# define IS32BIT
#else
# define IS64BIT
#endif
#ifdef IS64BIT
DoMy64BitOperation()
#else
DoMy32BitOperation()
#endif
Teşekkürler.
CEVAP
1 EKİM 2009, PERŞEMBE
template<int> void DoMyOperationHelper();
template<> void DoMyOperationHelper<4>()
{
// do 32-bits operations
}
template<> void DoMyOperationHelper<8>()
{
// do 64-bits operations
}
// helper function just to hide clumsy syntax
inline void DoMyOperation() { DoMyOperationHelper<sizeof(size_t)>(); }
int main()
{
// appropriate function will be selected at compile time
DoMyOperation();
return 0;
}
Bunu Paylaş:
Belirleme PHP Başvurmak...
Kimlik belirleme ve dinamik backbone.j...
Eğer geçerli çağırma CLİ veya web sunu...
Belirleme "Vary: Accept-Encoding&...
Algoritma Belirleme Tic Tac Toe Oyun i...