由mac系统IOKit处理头文件中结构体字节对齐问题引起的思考

背景

在iBook G4机器的Mac OS X 10.5.8系统上使用macports安装libusb时发生了错误,显示是通过gcc7编译到#pragma options align=reset这行时,编译器不认识了,于是报了错。这个问题本身处理并不复杂,但却引起了我的思考,作为一个API的提供者,在头文件中使用是否应当使用结构体,如果使用的话如何使用才正确呢?

阅读更多