c - 多平台c项目

标签 c multiplatform

我必须设计一个应该在 Linux 上运行的 C 项目。我非常习惯使用 Visual Studio 或 DevC++ 在 Windows 上设计 C 项目。在Windows上设计项目然后将代码移植到Linux上是否可行。是否可以使用 Eclipse CDT 将编译配置从 Windows 切换到 Linux。我应该怎么办?您建议我做什么或搜索什么?

最佳答案

这是一个广泛的问题,因为我们没有关于您想要实现的目标的信息。

我可以与所提供的有限信息分享一些指导原则:根据我的经验,在 Windows 上编写代码然后将其移植到 Linux 是可行的,尽管您应该预料到 Linux/Unix 中使用的 Microsoft 编译器和 gcc 编译器存在一些差异(通常编译器越符合标准,它就越“警告”或不会接受代码中的可疑内容)。

如果您正在处理大量依赖项/ header /源结构,您的项目可以从使用像 CMake 这样的工具中受益匪浅。处理所有这些问题(一个元生成器,可以根据您的平台从同一组源生成 makefile 和/或 Visual Studio 解决方案)。

另请注意,您不应该使用任何依赖于平台的 API 来使代码可移植。如果您确实需要,请确保#ifdef这些代码部分适合您正在编译代码的特定平台。

最后,如果您计划在应用程序中使用 GUI(或者即使您没有计划,您仍然可以从所包含的各种库中受益),您可以使用像 Qt 这样的可移植框架。但请记住,这需要将应用程序的 C 部分与 C++ 部分 (Qt) 隔离。作为您偏好的另一个选择,您也可以使用 GTK +。

关于c - 多平台c项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23360944/

相关文章:

linux - 使用 Jenkins 部署到 Linux 服务器,然后从 Windows 服务器运行 selenium 测试

kotlin - 无法在 Android Studio 的 Kotlin 多平台中运行 iOSApp

performance - 统一汇编语言

java - 当您不是 Kotlin Multiplatform 项目时,是否有一种干净的方法可以在 Gradle 中声明多平台依赖项?

c - 如何解析c中的操作?

在 c 中释放双指针的干净方法

c - 可以使用静态链接使用的库构建共享库吗?

c - 查找斐波那契数列中第 n 项的最后一位数字的问题

c++ - 我应该在 C++ 中做什么才能跟随 C 中的代码?

testing - kotlin 多平台覆盖?