繁体   English   中英

Windows和Linux的C ++代码

[英]C++ Code for Windows & Linux

首先,我对编程非常陌生,但是对此很感兴趣。 我已经为Windows成功构建了一个C ++控制台程序,它是一个简单的数据库程序,可以编辑/删除/输入条目。

我越来越不依赖Windows处理日常工作。 我有一台旧的HP上网本,无法在Windows上使用,但是我装了Linux Distro,工作起来很吸引人。

当我有时确实使用Windows以及构建要在Windows中使用的程序时,我想知道是否可以使用相同的代码来编译Linux程序? 我可以使用WINE来运行它,但更喜欢运行特定于Linux的东西。 是否可以使用相同的代码,还是我必须制作另一个Linux版本?

我假设由于您是编程的新手,因此您并未付出巨大的努力来使代码跨平台可移植。 这需要大量的技能,尤其是在访问外部资源(例如数据库)时。 因此,答案是您可能必须针对Linux(尤其是数据库接口)进行重新编写。

我猜想您希望C ++代码在Linux和Windows上都可以编译。 为此,您需要特定于操作系统的编译器(Linux和Windows上的编译器不同)。

我想知道是否可以使用相同的代码来编译Linux程序?

用于编译C ++代码的程序称为编译器 在Linux上,您将使用GCC作为g++命令(甚至可以使用MELT进行自定义,但不适用于新手),或者将Clang / LLVM作为clang++命令。 你会使用像一个建设者make (见这里为什么,和这个例子)。 请确保安装最新版本(至少在2015年初使用GCC 4.9或Clang 3.5)以获得良好的C ++ 11支持。 专注于学习C ++ 11(或C ++ 14)而不是早期版本(请使用C ++ 11编译器)。

我不知道Windows,所以我不能为此推荐任何好的C ++编译器(但是我听说过MinGWCygWinMicrosoft Visual C ++ ;也请参阅最近的Clang ...)。

您可能对跨平台的C ++框架库(例如QtPOCO)感兴趣,也许还对与数据库相关的东西使用Sqlite感兴趣。 它们将帮助您编写在两个系统上都可用的C ++(重新编译后)。

顺便说一句,您始终可以使用预处理器指令àla #if LINUX来封装系统特定的代码;请注意将所有特定于OS(或与OS相关)的代码放入几个源文件中。

可能会发生(我希望对您而言),您会对Linux感到满意和高兴,并在几个月后更喜欢只为Linux编写代码(然后在所有计算机上安装Linux)。 顺便说一句,研究您喜欢并在Linux上使用的现有免费软件的源代码。 那会教给你很多东西。

今天,在Linux上进行编码时,我在这里此处给出的建议仍然有用。 还请阅读有关移植可移植性以及高级Linux编程的内容

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM