unaligned.h

来自「Linux Kernel 2.6.9 for OMAP1710」· C头文件 代码 · 共 33 行

H
33
字号
#ifndef __M68K_UNALIGNED_H#define __M68K_UNALIGNED_H#include <linux/config.h>#ifdef CONFIG_COLDFIRE/* Use memmove here, so gcc does not insert a __builtin_memcpy. */#define get_unaligned(ptr) \  ({ __typeof__(*(ptr)) __tmp; memmove(&__tmp, (ptr), sizeof(*(ptr))); __tmp; })#define put_unaligned(val, ptr)				\  ({ __typeof__(*(ptr)) __tmp = (val);			\     memmove((ptr), &__tmp, sizeof(*(ptr)));		\     (void)0; })#else/* * The m68k can do unaligned accesses itself.  * * The strange macros are there to make sure these can't * be misused in a way that makes them not work on other * architectures where unaligned accesses aren't as simple. */#define get_unaligned(ptr) (*(ptr))#define put_unaligned(val, ptr) ((void)( *(ptr) = (val) ))#endif#endif

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?