0

我们正在迁移到 Windows Phone 8。但由于许多优秀的库都是纯 C 语言的。那么 Windows Phone C# 应用程序使用这个 C 库的最佳方式是什么?

  1. 将 C 代码放在 WP 静态库中。然后从 WP Runtime 组件中引用它
  2. 将 C 代码放在 WP Runtime 组件中

最佳做法是什么?

4

1 回答 1

2

两种方法之间没有任何真正的区别。静态库不过是 .obj 文件的集合,与您从方法 2 中获得的 .obj 文件完全相同。链接器完成后,结果不会有任何差异。

那时一切都很完美,这是使用开源 C 代码时很难实现的理想。静态 .lib 的一个优点是它可以缩短构建时间,而不必重新生成 .obj 文件。但这也是他们的缺点,如果您使用由其他人创建的 .lib 并且他没有使用相同的编译器版本或编译选项,那么您会大吃一惊。这种陷阱的最简单示例是构建您的 Debug 版本,而 .lib 是为 Release 构建的。或者,如果它使用被禁止的 winapi 函数在电话应用程序中,很常见。所以#3是避免问题的最佳方法,自己构建.lib,这样您就可以控制所有编译和链接设置。但是请注意,构建开源 C 代码可能非常困难,它通常带有非常广泛的配置脚本,旨在处理许多架构和 Unix 变体之间的差异。

于 2013-06-26T10:57:52.947 回答