开发环境配置C/C++

选择C++编译器和开发工具,根据操作系统选择。windows下可选Visual Studio,Visual Studio Code, vcpkg 和 MinGM。Visual Studio,Visual Studio Code既可以做开发IDE,也可做编译器,不过Visual Studio Code需要安装插件,跟eclipse类似,安装CDT插件后也可以。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

windows下的编译器下载和安装
使用 Visual Studio 2019的不用安装
MinGW - Minimalist GNU for Windows download | SourceForge.net

在这里插入图片描述
在这里插入图片描述
完全安装。安装所有组件后设置环境变量,必要的,因为编译的时候需要从path路径中找编译器。

右键我的电脑->属性->高级系统设置->环境变量

在里面依次按照如下步骤添加修改:

1.新建MINGW_HOME变量,值为你的MinGW的安装目录,比如我的安装目录是在D:\software\MinGW

2.在PATH变量里加入%MINGW_HOME%\bin;

3.新建LIBRARY_PATH变量,如果有的话,在值中加入%MINGW_HOME%\lib,这是标准库的位置

4.新建C_INCLUDEDE_PATH变量,值设为%MINGW_HOME%\include

第五步根据自己的版本设置

5.新建CPLUS_INCLUDE_PATH变量,值设为%MINGW_HOME%\include\c++\3.4.5;%MINGW_HOME%\include\c++\3.4.5\mingw32;%MINGW_HOME%\include\c++\3

.4.5\backward;%MINGW_HOME%\include

验证是否安装成功?命令行输入:g++ -v
在这里插入图片描述
eclipse 安装完c++ 的插件后,就新建一个C/C++项目练练手吧。
新建项目后,项目属性配置如下,(新建项目总会吧?file–>new–>c/c++projects)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
随便写个main函数,输出一个信息,然后构建编译项目,很简单,只要右键build project
在这里插入图片描述
然后就右键run project as C/C++ project

注意,这样的构建和编译,只能有一个main函数。作为程序入口。

h头文件一般是函数接口定义和结构体,这里的函数只是声明参数和返回类型,对应的.cpp才是具体实现。

.cpp 与 h头文件例子:

/*								
 * FileUtil.h							
 */
								
#include <iostream>				
#include <algorithm>				
#include <sstream>					
#include <fstream>			
class FileUtil {
					
public:					
FileUtil(const std::string& name);			
std::fstream& getStream();					
virtual ~FileUtil();				
private:				
    std::fstream file;
					
};
					

// 注意第二个函数有返回值!!

/*				
 * FileUtil.cpp						
 */
					
					
#include "FileUtil.h"				
					
FileUtil::FileUtil(const std::string& name) : file(name) {				
    if (!file) {
        throw std::runtime_error("Unable to open file.");
    }
									
};
					
				
std::fstream& FileUtil::getStream(){return  this->file; };
									
FileUtil::~FileUtil() {				
file.close();			
					
};

c++ 函数后面加一个冒号的含义
① 冒号后面跟的是赋值,这种写法是C++的特性

A( int aa, int bb ):a(aa),b(bb)

{}

相当于

A( int aa, int bb )

{a=aa; b=bb;}

② C++构造函数后面的冒号

构造函数后加冒号是初始化表达式,有四种情况下应该使用初始化表达式来初始化成员:

1:初始化const成员

2:初始化引用成员

3:当调用基类的构造函数,而它拥有一组参数时

4:当调用成员类的构造函数,而它拥有一组参数时。

".“与”->"的区别
".“和”->"的主要区别在于它们所操作的对象类型:

".“运算符用于直接操作对象,也就是说,在对象上使用”."运算符可以直接访问其成员。
"->“运算符则用于通过指针操作对象。当我们有一个指向对象的指针而不是对象本身时,就需要使用”->“运算符。
尽管”.“和”->"在功能上看起来非常相似,但由于C++语言的特性,它们在使用时有着明显的区别。在C++中,对象和指针是两种完全不同的数据类型,因此对于这两种类型的操作,我们需要使用不同的运算符。

如何在window下开发c++源码,然后模拟在linux下的编译?
开发工具不能用Visual Studio了,可以用eclipse 或者 Visual Studio code ,编译器选择cmake和 linux下的g++。
需要有一个linux 系统,方便一点的可以用wsl 安装linux。只有专业版才能启用Windows自带的‌Hyper-V虚拟机管理工具。

打开开始菜单的 Microsoft store
在上面搜索linux 系统安装。
在这里插入图片描述
前提需要安装wsl , 如何安装和配置 wsl 这里不详细描写了,找找资料,有几个关键步骤:
在这里插入图片描述
在这里插入图片描述
(期间可能还会涉及bios设置。需要设置cpu支持虚拟化。这过程根据错误信息,找出对应的解决办法)

直到菜单栏的linux能正常启动,就算成功了,当然,我们不能止步于此。
我们要把linux子系统配置成一个拥有独立ip的,能联网的服务器。
这时候需要把虚拟机的网络连接方式,设置成桥接方式。VMware Workstation Pro 17 可以很容易做到:
在这里插入图片描述
wsl也有相应的办法,不过需要把wsl 升级到最新版为好。
新版wsl ,在当前用户的根目录下,新建一个.wslconfig文件,内容
[experimental]
networkingMode=mirrored
dnsTunneling=true
firewall=true
autoProxy=true
在这里插入图片描述
旧版的详细配置可参考这: Win11 WSL2桥接网络实现
建议安装windows最新专业版 和wsl的最新版,因为windows 的虚拟化起步较慢,以前的版本有很多坑和限制。
然后配置ip和网关。
设置 IP 地址和子网掩码:
ip address add <ip_address>/<subnet_mask> dev <interface_name>
#命令可以简写,示例
ip a add 192.168.1.100/24 dev eth0

设置默认网关:
ip route add default via <gateway_ip_address> dev <interface_name>
#命令简写示例
ip r add default via 192.168.1.100 dev eth0

添加静态路由:
ip route add <destination_network> via <next_hop_ip_address> dev <interface_name>

既然有添加,就有相应的删除命令(略)。
查看网络配置的相关命令:
显示 IP 地址信息:
ip address show
ifconfig
显示网络接口信息:
ip link show
显示路由表信息:
ip route show

linux 网络配置好,还不能远程连接,我们需要能远程连接,当成服务器来用,需要安装网络管理工具和 openssh-server。
在 Linux 中配置 SSH 连接的加密算法

在Linux上安装SSH服务通常涉及使用包管理器来安装 openssh-server包

sudo apt install openssh-server # 安装sshserver
vim /etc/ssh/sshd_config # 编辑配置文件

配置 OpenSSH 服务器的加密算法

  1. 编辑 OpenSSH 服务器的配置文件:
    打开 sshd_config 文件:

添加或修改:

PermitRootLogin yes
PasswordAuthentication yes

  1. 设置加密算法(Ciphers):
    找到或添加 Ciphers 选项,并设置需要的加密算法。例如:

Ciphers aes256-gcm@openssh.com,chacha20-poly1305@openssh.com,aes256-ctr

3.设置 MAC 算法(MACs):
找到或添加 MACs 选项,并设置需要的消息认证码算法。例如:

MACs hmac-sha2-256-etm@openssh.com,hmac-sha2-512-etm@openssh.com,hmac-sha2-256,hmac-sha2-512

4.设置 Kex 算法(KexAlgorithms):
找到或添加 KexAlgorithms 选项,并设置需要的密钥交换算法。例如:

KexAlgorithms curve25519-sha256,curve25519-sha256@libssh.org,diffie-hellman-group-exchange-sha256

  1. 保存并关闭文件。
    6.重新启动 SSH 服务:
    sudo systemctl restart sshd

配置 OpenSSH 客户端的加密算法

  1. 编辑 OpenSSH 客户端的配置文件:
    打开 ssh_config 文件:

sudo nano /etc/ssh/ssh_config
或者编辑用户级别的配置文件:
nano ~/.ssh/config

2.设置加密算法(Ciphers):
在文件中添加或修改 Ciphers 选项。例如:

Host *
Ciphers aes256-gcm@openssh.com,chacha20-poly1305@openssh.com,aes256-ctr

3.设置 MAC 算法(MACs):
添加或修改 MACs 选项。例如:

Host *
MACs hmac-sha2-256-etm@openssh.com,hmac-sha2-512-etm@openssh.com,hmac-sha2-256,hmac-sha2-512

4.设置 Kex 算法(KexAlgorithms):
添加或修改 KexAlgorithms 选项。例如:

Host *
KexAlgorithms curve25519-sha256,curve25519-sha256@libssh.org,diffie-hellman-group-exchange-sha256

因为有些旧版的客户端连接工具如secureCRT6,不支持新的加密算法,因此配置了SSH 的加密算法,如果客户端连接工具支持,则不需要配置算法,只需要:PermitRootLogin yes 和 PasswordAuthentication yes 这是必须的。当远程工具能连接后,基本上完成了大半了,这还没完,还需要安装其他的一些开发工具。
在这里插入图片描述

sudo apt update

sudo apt upgrade

sudo apt-get install gcc gdb make git vim

sudo  apt install build-essential cmake gdb git vim binutils-doc cpp-doc gcc-6-locales gcc-6-doc manpages-dev autoconf autoconf-doc automake libtool libtool-doc bison bison-doc gcc-doc gdb-doc 
gdbserver git-doc glibc-doc lrzip glibc-doc libstdc++-6-doc make-doc ed diffutils-doc perl-doc ctags vim-doc vim-scripts doc-base m4-doc vim-addon-manager glibc-doc-reference glibc-source pinfo 
ttf-dejavu ttf-dejavu-core ttf-dejavu-extra python3-examples python3 python3-doc rename autoconf-archive fonts-lato  sl  cowsay  linuxlogo  screenfetch  cmatrix  asciinema  powerline  valgrind pkg-config

java ,python ,c /c++,go,docker 等,想装什么就装什么。
vc code需要安装的插件:wsl、cmake、c++编译器等
在这里插入图片描述
![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/37fa909eedcc4b39b8b444380b7856ee.png
在这里插入图片描述
这样可以做到模拟在linux环境开发c++,但实际上是在windows上操作。同时实现在不同的操作系统编译和调试程序了。
在这里插入图片描述
在Windows11中安装WSL2配置python开发环境,看此篇:https://zhuanlan.zhihu.com/p/639611152
配置好开发环境,了解基本语法,已经成功了一半。
后续需要熟悉常用库的使用,例如集合、数据库驱动、网络连接、IO、操作系统底层接口。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

最好Tony

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值