PTT
Submit
Submit
选择语言
正體中文
简体中文
PTT
C_and_CPP
[问题] __packed type 传递问题
楼主:
eleghost
(eleghost)
2021-04-08 19:10:34
编译器(Ex: GCC, clang, VC++...)+目标环境(跟开发平台不同的话需列出)
Keil C
问题(Question):
我想要宣告一块连续内存, 利用__packed包住让两个阵列中间没有padding.
但当要对这块内存存取时, 或传递到 void* 变量时, 会发生error.
请问这个有法解决吗? thanks
错误结果(Wrong Output):
Error: argument of type "__packed int16_t *" is incompatible with
parameter of type "void *"
程式码(Code):(请善用置底文网页, 记得排版,禁止使用图档)
http://pastie.org/p/6IyFOaduXr98h7CzkumZeB
补充说明(Supplement):
作者:
CMJ0121
(请多指教!!)
2021-04-08 22:23:00
你提供的 source code 我在 gcc 10.2.0 可以编的过不过要稍微修改成 recursive / callee(_Buf.buf1, NULL .
作者:
Lipraxde
(Lipraxde)
2021-04-08 22:27:00
你的 callee 的参数也改成 __packed 看看
https://bit.ly/39TCxLK
,看 Errors 那边大多数嵌入式芯片在存取 nonaligned 的东西时会变得很没效率,建议还是分两个版本吧。
继续阅读
[问题] QT 的QLabel如何改变文字背景颜色?
liu2007
[问题] 请问local变量在离开stack后为何能存取
Keitaro
[问题] makefile patsubst 反斜线问题
anoymouse
[问题] 河内塔照顺序问题
isaac410
[问题] decltype疑问
WangDaMing
[问题] 请问有键盘组合键的ASCII码的相关资料吗?
IOP14759
[问题][QT] 如何阻止QLabel重叠?
liu2007
[分享] 使用 ccache 加速编译
lc85301
[心得] gcc tail call (tail recursion)optimize
descent
[问题]C 语言问题
kandrew
Links
booklink
Contact Us: admin [ a t ] ucptt.com