c++ - 跨平台编程

标签 c++ c windows linux cross-platform

<分区>

我需要为大学写一个小程序。问题是,它必须在 linux 下使用 C/C++,而我从未使用过 linux,我预计在 IDE、编译等方面会有很多问题。

是否可以在 windows 下编写代码,然后“复制/粘贴”代码并在 linux 下编译?如果可能的话,我应该了解哪些限制?

这将是一个小程序,典型的使用套接字的客户端/服务器通信。

最佳答案

我认为您应该继续在 Linux(gcc?)下进行操作。这将教您一些有关“老派”编程的知识。忘记使用 IDE,使用 vim(如果您已经安装了它)或 nedit(更像记事本)。

在命令行上编译。自己链接。编写一个 make 文件来执行此操作。

这是基础。在使用 IDE 之前,您需要了解它。 在你还在上大学的时候就这样做,因为这很痛苦,你会(并且应该)想要使用 IDE 进行实际工作!

此外,对 Unix 的基本了解并不难(我在 Windows 背景下找到了解决 Solaris、Ubuntu 和 OS X 的方法)- 一些简单的教程应该可以让您入门并运行。对于编写小型学校项目,您不需要了解太多:cdlsmkdirmake , gcc(对于 C++ 项目一定要使用 g++ - 之前我在 Mac 上遇到过这种情况...)。靠近您的主目录 (~)。

在目标系统上执行项目将帮助您正确完成某些事情:在执行这些简单的套接字和 pthreads 示例时,我发现编译和链接它们是非平台可移植的。在某些系统上,库中的链接需要以这种方式完成,而在其他系统上则需要以这种方式完成。

顺便说一句:如果您真的确实想在 Windows 下执行此操作,最好的办法是在 Windows 下拥有一个 POSIX 环境。如果我没记错的话,POSIX 套接字与 Windows 网络模型不同。

尝试 MinGW 或 Cygwin。两者都应该为您提供 Windows 下的 *nix 开发环境。您可以使用您最喜欢的文本编辑器(vim 的 Windows 端口?)和 cmd.exe 而不是 bash 来启动编译器:)

编辑:抱歉,如果语气是对抗性的(根据评论)。我会试着软化它一点。只是...我看到很多人试图通过 IDE 学习 C/C++(或 Java),并且开始相信他们会妨碍开始。当然,对于现实生活中的程序,您需要更好的工具,但是学校示例项目的项目文件等开销会增加困惑。这也使得通过电子邮件将您的家庭作业发送给您的老师变得更加困难 - 一个带有一堆 .c 和 .h 文件以及一个 makefile 的 zip 文件真的很简单......

关于c++ - 跨平台编程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/836469/

相关文章:

java - 从 java 应用程序中获取用户名 (windows)

c++ - 函数级别的 C++ 智能生成文件

java - 不同风格的程序流程?

对传递引用感到困惑

c - 将 char* 添加到 char**

windows - 对于 psql 在日语语言环境的 Windows 上产生可怕的乱码,是否有解决方法/修复?

Python:在 Windows 上启动新的命令提示符并等待它完成/退出

c++ - 空终止 int 数组

c++ - 使用给定字段的最小值在容器中查找元素的最紧凑方法

c - 奇怪的指针初始化