Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我最近获得了一个音频解码器的源代码,当使用 MSVC 编译时,它可以在 Windows 上正常执行。
我被分配了将这个解码器(用 c 编写)移植到 ARMv7 平台的工作。
由于我对这个领域完全陌生,我不知道该怎么做。我已经用谷歌搜索了很多,但找不到很多适用于我的特定案例的内容。
任何有关如何关闭这样一个端口的建议将不胜感激。
编译它,看看什么中断是一个很好的起点。
ARM 是 32 位目标,现成的基于 ARM 的微控制器总是像 x86 一样小端,因此移植代码通常很少出现问题。
如果代码对 Win32 进行操作系统调用,或使用未移植到 ARM 的第三方库,那么您当然需要删除这些依赖项或移植到目标环境。同样,如果代码使用基于 PC 的硬件,例如声卡,那肯定需要进行调整。
如果代码质量在第一个实例中具有足够的可移植性,那么简单处理数据的代码和算法应该直接移植。然而,需要避免未定义或实现定义的编译器行为,因为这可能会在编译器和目标之间有所不同。