gpt4 book ai didi

c - 如何使用 gcc 编译器 tricore v3.4.6 在 C 中 printf a sint32?

转载 作者:行者123 更新时间:2023-11-30 21:37:16 25 4
gpt4 key购买 nike

我正在使用 tricore v3.4.6 编译器。

假设我有一个有符号整数,例如 sint32 a = -1并想用 printf 打印它。

我尝试了 printf("Signed number %i", a) 以及 printf("Signed number %d", a) ,它们都给了我编译器警告,例如

警告:int 格式,sint32 arg

最佳答案

与问题评论中建议的不同,sint32 在安全关键型和嵌入式系统中并不罕见,并且通常会回退到 int 的类型转换。 (例如在某些 MISRA 环境中)。

因此

sint32 a = -1;
printf("%d", a);

无论如何应该可以解决问题。使用 gcc v5.2.1 和 arm-gcc v5.2.1 进行测试(-Wall 并且没有警告)。

如果它仍然给你一个警告,尝试找出 sint32 真正映射到什么,并尝试 long-print: printf("%ld")。但是,请仔细检查 sint32 的字节长度是否真的是 32 位? (有些系统甚至可能具有低于 32 位的架构)

关于c - 如何使用 gcc 编译器 tricore v3.4.6 在 C 中 printf a sint32?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35364786/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com