Android 安卓NDK。读取/写入未对齐的地址

Android 安卓NDK。读取/写入未对齐的地址,android,porting,lwip,Android,Porting,Lwip,我支持Android,有一个步骤是: 如果处理器无法读取/写入未对齐的地址,则 你需要告诉你的编译器数据可能没有对齐,并且 必须生成多个字节或字加载/存储才能访问它 现在我想知道如何在头文件中写入,“如果可以读取/写入未对齐的地址,请不要做任何事情。否则,请执行对齐魔术。”事实证明,Linux提供了用于执行未对齐读写的可移植宏,NDK中提供了这些宏,包括: #include <asm/unaligned.h> put_unaligned() get_unaligned() #

我支持Android,有一个步骤是:

如果处理器无法读取/写入未对齐的地址,则 你需要告诉你的编译器数据可能没有对齐,并且 必须生成多个字节或字加载/存储才能访问它


现在我想知道如何在头文件中写入,“如果可以读取/写入未对齐的地址,请不要做任何事情。否则,请执行对齐魔术。”

事实证明,Linux提供了用于执行未对齐读写的可移植宏,NDK中提供了这些宏,包括:

#include <asm/unaligned.h>

 put_unaligned()
 get_unaligned()
#包括
使未对齐
使_不对齐()

尽管如此,尝试在Android上运行lwIP的效用似乎有点可疑。Android运行在Linux内核之上,该内核包含自己的网络堆栈。它通常还禁止典型(应用程序)用户进程执行原始网络操作。我认为这可能有意义的一种情况是,如果您有自己的自定义通信通道(USB网络适配器或类似的东西),您希望完全在未经授权的应用程序代码中进行管理,并通过IP进行对话,不需要将其作为网络接口插入内核。

我正在创建一个类似这样的应用程序:那些家伙使用lwIP完成这样的任务(视频是俄语的)