|
Настройка GNU toolchain from ARM для STM32, типы данных |
|
|
|
Jan 21 2014, 07:35
|

Местный
  
Группа: Участник
Сообщений: 319
Регистрация: 31-01-12
Пользователь №: 69 978

|
Какие опции задать компилятору, что бы тип uint32_t соответствовал типу unsigned int, а не unsigned long ? В данный момент тип uint32_t приводит по ссылке в Код #if __have_long32 typedef signed long int32_t; typedef unsigned long uint32_t; #define __int32_t_defined 1
|
|
|
|
|
 |
Ответов
|
Mar 20 2014, 00:47
|

Местный
  
Группа: Участник
Сообщений: 319
Регистрация: 31-01-12
Пользователь №: 69 978

|
Цитата(scifi @ Jan 21 2014, 11:57)  К примеру, в lwip эта проблема решается так: CODE /* Define generic types used in lwIP */ typedef unsigned char u8_t; typedef signed char s8_t; typedef unsigned short u16_t; typedef signed short s16_t; typedef unsigned long u32_t; typedef signed long s32_t;
typedef u32_t mem_ptr_t;
/* Define (sn)printf formatters for these lwIP types */ #define U16_F "hu" #define S16_F "hd" #define X16_F "hx" #define U32_F "lu" #define S32_F "ld" #define X32_F "lx"
То есть для переносимости сделаны конфигурируемые макросы. А если переносимость не нужна, то пишите "%lu". Вот сейчас столкнулся с аналогичными варнингами при сборке LwIP Код ../Middlewares/Third_Party/LwIP/src/core/tcp_in.c:1223:11: warning: format '%u' expects argument of type 'unsigned int', but argument 4 has type 'long unsigned int' [-Wformat=] ../Middlewares/Third_Party/LwIP/src/core/tcp_in.c:1223:11: warning: format '%u' expects argument of type 'unsigned int', but argument 2 has type 'u32_t' [-Wformat=] ../Middlewares/Third_Party/LwIP/src/core/tcp_in.c:1223:11: warning: format '%u' expects argument of type 'unsigned int', but argument 4 has type 'long unsigned int' [-Wformat=] 'Finished building: ../Middlewares/Third_Party/LwIP/src/core/tcp_in.c' сс.h Код typedef unsigned char u8_t; typedef signed char s8_t; typedef unsigned short u16_t; typedef signed short s16_t; typedef unsigned long u32_t; typedef signed long s32_t; typedef u32_t mem_ptr_t; typedef int sys_prot_t;
#define U16_F "hu" #define S16_F "d" #define X16_F "hx" #define U32_F "u" #define S32_F "d" #define X32_F "x" #define SZT_F "uz"
|
|
|
|
Сообщений в этой теме
k000858 Настройка GNU toolchain from ARM для STM32 Jan 21 2014, 07:35 scifi Цитата(k000858 @ Jan 21 2014, 11:35) Каки... Jan 21 2014, 07:44 k000858 Цитата(scifi @ Jan 21 2014, 11:44) Зачем?... Jan 21 2014, 07:50  Сергей Борщ Цитата(k000858 @ Jan 21 2014, 09:50) Кодw... Jan 21 2014, 09:42   k000858 Цитата(scifi @ Mar 24 2014, 07:35) У вас ... Mar 24 2014, 04:41    scifi Цитата(k000858 @ Mar 24 2014, 08:41) файл... Mar 24 2014, 05:28     k000858 Цитата(scifi @ Mar 24 2014, 09:28) Ну вот... Mar 24 2014, 05:44      scifi Цитата(k000858 @ Mar 24 2014, 09:44) да п... Mar 24 2014, 06:26      Сергей Борщ Цитата(k000858 @ Mar 24 2014, 07:44) в за... Mar 24 2014, 07:50    mdmitry Цитата(k000858 @ Mar 24 2014, 08:41) ...
... Mar 24 2014, 06:19 VAI k000858, Вы предполагаете, что если Вы напишете
Ко... Jan 21 2014, 09:21 k000858 Цитата(VAI @ Jan 21 2014, 13:21) k000858,... Jan 21 2014, 09:42 k000858 и все таки я не понимаю, почему нет варнинга на
К... Jan 21 2014, 12:29 Golikov A. а есть варнинг на
Кодuint32_t i;
printf(... Jan 21 2014, 16:12 k000858 Цитата(Golikov A. @ Jan 21 2014, 20:12) а... Jan 21 2014, 16:49  scifi Цитата(k000858 @ Jan 21 2014, 20:49) хоте... Jan 21 2014, 17:51 k000858 вопрос остается открытым, не важно откуда я его за... Jan 21 2014, 17:53 Golikov A. варнинг от функции printf, она пытается данный ей ... Jan 21 2014, 18:26 scifi Цитата(Golikov A. @ Jan 21 2014, 22:26) в... Jan 21 2014, 19:26 k000858 Цитата(Golikov A. @ Jan 21 2014, 22:26) н... Jan 22 2014, 03:45  Сергей Борщ Цитата(k000858 @ Jan 22 2014, 05:45) Код... Jan 22 2014, 06:44   k000858 Цитата(Сергей Борщ @ Jan 22 2014, 10:44) ... Jan 22 2014, 07:08    Golikov A. Цитата(k000858 @ Jan 22 2014, 11:08) а, т... Jan 22 2014, 11:44 Golikov A. ну как же не денется, денется конечно же...
просто... Jan 21 2014, 20:14 k000858 варнинга нет, это хорошо )
вы уж простите за мою д... Jan 22 2014, 13:23 scifi Цитата(k000858 @ Jan 22 2014, 17:23) ну т... Jan 22 2014, 15:06  k000858 Цитата(scifi @ Jan 22 2014, 19:06) И я та... Jan 22 2014, 15:12 Mihey_K Не вздумайте править библиотечные хидеры stdint.h,... Jan 26 2014, 02:29 k000858 Цитата(Mihey_K @ Jan 26 2014, 06:29) Не в... Feb 10 2014, 03:51 k000858 Т.е. компилятор пишет варнинги при использовании u... Mar 24 2014, 03:19 Сергей Борщ Цитата(k000858 @ Mar 24 2014, 05:19) хотя... Mar 24 2014, 03:42 k000858 ясно, значит настройки компилятора тут не причем.
... Mar 24 2014, 07:15
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|