一,前言&原因(可跳过)
参考视频:【Linux】搭建简单的C/C++环境
Linux,一般指GNU/Linux,是一种免费使用和自由传播的类UNIX操作系统,其内核由林纳斯·本纳第克特·托瓦兹林纳斯·本纳第克特·托瓦兹林纳斯·本纳第克特·托瓦兹(Linus Benedict Torvalds)于1991年10月5日首次发布,它主要受到Minix和Unix思想的启发,是一个基于POSIX的多用户、多任务、支持多线程和多CPU的操作系统。它支持32位和64位硬件,能运行主要的Unix工具软件、应用程序和网络协议......
选择Linux的理由:1、高安全性,linux下不要担心病毒和后门程序;2、高可用性,linux非常稳定;3、容易维护;4、可运行在任何硬件上;5、开源免费;6、强有力的社区支持等......以及,NOI要用!!!
因此,在Linux中编译运行c/c++代码就显得非常有必要,本文,博主将告诉大家如何在Linux中编译运行c/c++代码。
首先,各位用Dev-C++的朋友们要认识到一点:Dev-C++只能在Windows中使用!!!,这就悲催了,也就是说我们被迫采用其它编译器和方法
(VS,VScode,code::blocks)
很明显,这三个是大部分人的首选,我最开始也是这么想的,但问题是它死活不能输出“hello,world”!(注意感叹号在引号外面),最终,我决定采用最原始的方法(与上面3个相比):直接用gcc/g++编译!
二,规划
经过我的梳理,我发现,虽然Windows和Linux有很大不同,但在用g++编译运行c/c++代码这方面大同小异,主要分为以下步骤:
- 安装gcc/g++编译器和VIM
- 创建文件
- 用文本编辑器打开编辑(Windows:记事本,Linux:VIM)
- 保存并退出编辑器
- 用gcc/g++编译文件
- 找到可执行文件并运行
三,具体过程
提示:复制选copy,粘贴选paste(粘贴可能会遇到点问题,很遗憾,我也解决不了),输密码的时候要按一下回车!
1.安装gcc/g++编译器和VIM编辑器
(一个是编译器,另一个是编辑器,别搞混了)
首先,你得确保你有一个Linux......废话!然后,打开Terminal(一个黑窗口,类似于cmd)
注意:有两种打开方式
1.点击左下角的九个点,找到它并双击
文件会储存在home文件夹里
2.在桌面右击,选择Open in Terminal
文件会储存在桌面上
大概长这样↓
第一种:
第二种:
其实都差不多(本文默认用第一种)
记住这玩意,后面都要用(提示:可以右击程序,然后选择Add to Favouits,这样你就能在侧边栏很快地找到它了)。因为要装东西,要先update(别问我为什么,我也不知道)输入:
sudo apt update
然后输入
sudo apt install vim build-essential
所有的问答框都输入 y(大小写均可)
如果出现:“E:有几个软件包无法下载,要不要运行......”,可能是因为网络问题,再输把前面那句输一遍
等待一下, VIM就安装好了
可以输入 vim 试运行一下
大概长这样:
常用指令(本文用得到):
i 进入插入模式
esc 退出插入模式
:w 退出
:wq 保存并退出
(有兴趣可以输入:help查看帮助)
接下来是g++和gcc
输入:
sudo apt install g++
安装完成后输入:
sudo apt install gcc
可以输入
g++ --version 和 gcc --version 来检查是否装好
这一步最容易出错,可以参考https://blog.51cto.com/u_15538975/10895778
2.代码配置(可选)
注意: 编辑模式中,backspace删除前一个字符,delete才能删除选中字符
输入
vim ~/.vimrc
进入后按 i 进入编辑模式
输入
syntax on
set tabstop=4
set softtabstop=4
set shiftwidth=4
set autoindent
set cindent
set nu
esc + :wq退出
3.创建文件
输入
touch test.cpp 或者 test.c
↑ ↑
文件名 文件名
这样你就有了一个.cpp/.c文件
可以输入 ls 查看:
可以看到我们就有这个文件了(.out文件是因为我已经编译过了,不用管)
4.编辑文件
输入
vim ./test.cpp 或 test.c
按i进入插入模式
然后正常地输入代码
在强调一遍: 编辑模式中,backspace删除前一个字符,delete才能删除选中字符
输入完后esc退出插入模式,:wq 保存并退出
5.编译程序
与前面类似,格式也是 “程序名+‘./’+文件名”
c++:
g++ ./test.cpp
c:
gcc ./test.c
等待一会,就编译完成了
可以输入 ls 查看:
a.out是可执行文件,test.cpp是源代码
6.运行程序
接下来就到了我们最激动人心的时刻:运行程序!
(上一次这么激动好像是在搞Easyx透明贴图那会)
输入:
./test.out
下面就是见证时刻的奇迹,啊呸,见证奇迹的时刻:
芜湖~~~成功成功运行了!!!
四,其它(比较)重要的内容
如果你实在没有空(比如玩电脑时间到了),并且你已经成功运行了程序,那么你可以在点赞收藏后离开了(〃'▽'〃)
1
大家如果多运行几个程序,就会发现:“为什么每次编译都是a.out,前面程序都被覆盖掉了!要运行(前面的程序)还得重新编译!!!博主我......”
好了,别叫了,我不也有同样的问题吗┐(´∇`)┌
于是经过我两年半的研究,成功写出了一个针对png的透明贴图函数,可以正常的显示png图像,让我们一起来看一下......啊呸,贴错了,再来
于是经过我两年半的研究,成功找到了更改编译文件名的方法,让我们一起来看一下:)
众所周知,自己复制自己的不叫抄袭
旧方法:
g++ ./test.cpp 和 gcc ./test.c
新方法:
g++ ./test.cpp -o ./test.out 和 gcc ./test.c -o ./test.out
可变 可变
这样我们编译完后就会发现可执行文件名变成了 test.out (或者是你自己起的名字)
2
过程总结:
- touch xxx.cpp
- vim ./xxx.cpp
- 输入 i 进入插入模式
- 输入代码
- ESC + :wq退出
- g++ ./xxx.cpp
- 运行程序 ./a.out
ls 查看文件
测试用代码:
//hello,world.cpp
#include<iostream>
using namespace std;
int main(){
cout<<"hello,world!";
return 0;
}
//hello,world.c
#include<stdio.h>
int main(){
printf("hello,world!");
return 0;
}
创作不易,求大家留下一个免费的赞和关注,你们的支持是我前进的最大动力,么么哒φ(>ω<*)
原创博文推荐:[EasyX]png透明贴图函数,简单实用
多写点评论 !!!