背景:
公司原本只在一个平台(海思)做开发,前同事写的代码是直接调海思 sdk 接口,然后在同一个函数里完成功能,现在要迁移到另一个平台上并且原本海思平台还是要继续维护,所以我把代码重构了,现在大概分成了 app/device 这样子。
问题:
现在代码重构好了,但是我之前没有维护跨平台应用的经验,不知道接下来该怎么搞,自己埋头大概想了想,由于两个平台的依赖库也不尽相同,想着以如下的目录去维护:
/myproject
--/app 这个目录下存放与平台无关的业务代码,最终可执行文件也生成在这里
--/device 这个目录下存放不同平台的接口操作代码,对外提供统一的接口
--/platform1
--/platform2
--/libs 存放不同平台的依赖库
--/platform1
--/platform2
其中 device 单独编译生成.so 动态库。然后修改 app 下的 makefile ,在编译 app 的时候,根据 make 传参确定平台,选择对应的 device 和 libs 中的库文件进行链接。
目前是计划这样做,还没有着手,想请教一下,这样做是否合理?各位平常对于这样的项目是怎么处理的?
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.