基于VS2019 C++的跨平台(Linux)开发——引入

一、前言

先声明我的服务器是Ubuntu16.04,由标题可知,我的开发工具采用Visual Studio2019,使用c++语言来实现windows-linux的跨平台开发。

二、关于跨平台

1. 什么是跨平台?

由百度百科可知,跨平台概念是软件开发中一个重要的概念,即不依赖于操作系统,也不依赖硬件环境。一个操作系统下开发的应用,放到另一个操作系统下依然可以运行。

跨平台的定义就是指程序语言、软件或硬件设备可以在多种作业系统或不同硬件架构的电脑上运作。
简单来说,本文的跨平台就是,一份代码,在Windows上可以编译、运行,在Linux上也可以编译和运行,则称此代码是可以跨平台的。

2. 特点

  • 同一份代码,无需改动
  • 运行结果相同

3. 跨平台代码的要求

①尽量使用标准的函数、类型、语法等

如,ANSI C/STL,是各个平台都支持的函数;

char/short/int/double/float,这些类型各平台都支持。

②尽量避免平台相关的类型、函数、语法出现二义性

比如,有的编译器认为以下这样重复定义了变量i

for(int i = 0; i < 3; i++){}

for(int i = 0; i < 6; i++){}

4、跨平台开发

大家知道,以往通过打断点基本是用来debug调试。在VS2019里面的断点打在哪一行,那一行就没有运行,意味着return 没有执行,整个程序就没有结束,也就能打印出cout打印的结果。以前一般都是在自己的操作系统下自己开一个应用程序,写完代码自己编译生成东西运行(本地方式)。

进入跨平台开发后, 运行后把工程生成在ubuntu系统下,这里解释一下,也就是在windows上面的vs的工作目录下其实只有.cpp文件,没有编译生成的东西;进入到root权限下ubuntu系统中,打开home的projects文件夹会发现编译运行生成的工程文件(包括cpp和bin(可执行)文件夹,如下图所示)

所以真正运行是借助ubuntu系统运行的,即达到了跨平台开发。简单的说跨平台开发就是从windows的VS2019把代码发送到ubuntu,在ubuntu里用c/c++的语法进行编译生成,如果编译出错或出什么什么异常,就借助信号把错误信息发送到windows上的VS2019控制台上显示出来。

以上的这种调试模式也叫做gdb,利用打断点的方式,而不是真正运行的方式。如果想要真正的运行,需要在ubuntu中进入工程文件Debug文件夹下,打开终端输入命令  ./Project1.out 运行,以此达到真正的运行。

以上对跨平台开发以及gdb模式进行了详细的介绍,看不懂没关系,后续学会完再进行回顾一定深有体会。

三、分阶段学习跨平台开发

关于VS2019 C++的跨平台(Linux)开发,后面会继续更新,大致分为三个阶段,目标及内容如下

1、linux内核编程——第一阶段

学习内核函数,打基础

2、网络基础——第二阶段

核心、重难点,特别是IO复用、socket封装、线程封装

3、图像处理——第三阶段(缓冲)

相对容易、有趣,Qt结合OpenCV图像处理,必须用Qt ui节省项目时间

接下来我们进入跨平台开发的学习:首先进行环境搭建

基于VS2019 C++的跨平台(Linux)开发(1.1)——环境搭建


 

猜你喜欢

转载自blog.csdn.net/hml111666/article/details/123416678