djz1992 发表于 2020-8-7 15:48

在STM32cubeide中使用__align(num)报错

如题,会报错。
Description        Resource        Path        Location        Type 'membase' undeclared here (not in a function); did you mean 'memsize'?        MALLOC.c        /MG_Dryer_HAL/USER/src        line 23        C/C++ Problem
这个错17年就有人问,但是没找到有人说怎么解决。
在keil下好像没问题。但是现在用stm32cubeide。



大佬们知道怎么解决吗?@dirtwillfly @m564522634 @tyw @xyz549040622

m564522634 发表于 2020-8-7 16:40

刚好在 _align 是伪指令,根据编译器的不同 写的方式不一样的, 如果你用gcc 编译器的话字节对齐不是这样写的要改,比如试下这样 __attribute__((aligned(n)))

xyz549040622 发表于 2020-8-7 17:50

楼主居然还在隔壁?隔壁最近咋样?
我经验不够,姑且认为是编译器的问题吧。如果编译器支持align的颜色应该是不一样的吧。

djz1992 发表于 2020-8-10 09:06

m564522634 发表于 2020-8-7 16:40
刚好在 _align 是伪指令,根据编译器的不同 写的方式不一样的, 如果你用gcc 编译器的话字节对齐不是这样写 ...


好像可以了,感谢大佬

djz1992 发表于 2020-8-10 09:29

m564522634 发表于 2020-8-7 16:40
刚好在 _align 是伪指令,根据编译器的不同 写的方式不一样的, 如果你用gcc 编译器的话字节对齐不是这样写 ...

那_align(4)和__attribute__((aligned(4))) 在使用时是一个用途吗?可以直接替换使用么

djz1992 发表于 2020-8-10 09:30

xyz549040622 发表于 2020-8-7 17:50
楼主居然还在隔壁?隔壁最近咋样?
我经验不够,姑且认为是编译器的问题吧。如果编译器支持align的颜色应该 ...

隔壁是指啥?STM32芯片?还是指STM32CUBEIDE?
STM32毕竟应用比较广,cubeide好歹是官方的
页: [1]
查看完整版本: 在STM32cubeide中使用__align(num)报错