Есть спецы по Си?
Вопрос такой:
есть
# define __u_intN_t(N, MODE) \
typedef unsigned int u_int##N##_t __attribute__ ((__mode__ (MODE)))
__u_intN_t (64, __DI__);
Как проверить наличие?
#ifdef u_int64_t не отрабатывает
gcc3.4 / glibc 2.3.4 и определение константы
Модератор: Модераторы разделов
-
Ananas
- Сообщения: 64
Re: gcc3.4 / glibc 2.3.4 и определение константы
а зачем это надо?
эта штука прописана в sys/types.h, каковой является частью glibc с незапамятных времен, и u_int64_t там уже имеется
если могут использоваться разные реализации libc - то определение наличия типа делается через autoconf с соответственным define в config.h и уже его нужно использовать в своем коде.
эта штука прописана в sys/types.h, каковой является частью glibc с незапамятных времен, и u_int64_t там уже имеется
если могут использоваться разные реализации libc - то определение наличия типа делается через autoconf с соответственным define в config.h и уже его нужно использовать в своем коде.
-
flook
- Сообщения: 585
- Статус: Просто flook
Re: gcc3.4 / glibc 2.3.4 и определение константы
В каждом из нас спит гений... и с каждым днем все крепче...
-
andriy
- Сообщения: 2
Re: gcc3.4 / glibc 2.3.4 и определение константы
(Ananas @ Среда, 08 Июня 2005, 14:50) писал(а):а зачем это надо?
эта штука прописана в sys/types.h, каковой является частью glibc с незапамятных времен, и u_int64_t там уже имеется
если могут использоваться разные реализации libc - то определение наличия типа делается через autoconf с соответственным define в config.h и уже его нужно использовать в своем коде.
Проект не мой, но хочу собрать на amd64. Вот эта зараза обламывается на том, что типы переопределяются. Сейчас так и сделал (хаком через autotools) - но почему не сработал #ifdef?!
-
flook
- Сообщения: 585
- Статус: Просто flook
Re: gcc3.4 / glibc 2.3.4 и определение константы
Как я понял из Вашего описания он не сработал т.к. Вы пытались поifdefить не макрос, а тип. Этого делать "низзя" 
В каждом из нас спит гений... и с каждым днем все крепче...