作为$NOIP$第一年强制使用$Linux$系统的考生,真的很难受,被迫还要学一波$Linux$系统。

正常的$Windows$对于较基础的程序员来说非常方便好用,但是对于高级程序员来说就是一个坑,于是就有了$Linux$。

$Linux$系统自带的编译器不大好用,$GUIDE$也不能直接把输入数据粘贴进运行框,所以我今天就来讲解一下$GEDIT$如何使用。


如何编译运行


方法$1$

首先,我们需要新建一个文件。

鼠标右键你想建文件的位置,点击”新建文档“里的“空白文档”,然后更改名称$"xxx.cpp"$。

如图:

然后右键"打开方式",$"gedit"$。

大概会是这样:

找到上方的"编辑",点击里面的"首选项"。

打开是这样:

点击上面的"插件",然后疯狂往下划,划到底,并将"外部工具"勾选上:

然后直接点击右下角的"关闭"即可。

回到这个状态:

找到上边的"工具",点击里面的$"Manage\ External\ Tools..."$。

然后会是这个德行:

点击左下角的$"+"$。

在这里:

键入:

#!/bin/sh
dir=$GEDIT_CURRENT_DOCUMENT_DIR
name=$GEDIT_CURRENT_DOCUMENT_NAME
pre=${name%.*}
g++ $dir/$name -o $pre -g -Wall
if test $? -eq 0; then
gnome-terminal -x bash -c "$dir/$pre;echo;read;"
fi

并选择快捷键$"F*"$,"保存"后选择"当前文档"。

就像这样即可:

至于如何开启$O2$优化,直接在下图选中橙色位置写上$-O2$即可,$O1$,$O3$,$Os$优化同理:

至于如何运行$C++11$,直接在下图选中橙色位置写上$-std=c++11$即可,运行$C++98$同理:

我们还可以看运行时间,即在下图选中橙色区域出入$time$并加一个空格即可:

如果你想知道程序运行所需内存,在如下位置键入$size\ $pre;$方可:

如果你想两个都要的话就这样写:

然后点击"关闭"。

键入你的程序:

按你刚才设置的快捷键运行。

如果报错,在下方会显示:

否则正常运行,弹出这个框:

里面跟你$Windows$下正常的$.exe$文件无异,右键选中粘贴即可将自己复制下来的文本粘贴上去。

加上$time$的效果:

其中$real$为从打开终端到现在的时间,$user$为程序运行时间,所以在此我们只参考$user$即可。

加上$size$的效果:

直接参考倒数第二个数($dec$)即可,注意其为字节数,但是不能计算$vector$或函数内的动态内存,其它数没有太大参考价值。

两个在一起是这样的:

程序运行结束后按回车跳出。

运行后会自动生成一个这个东西:

你可以暂且认为它相当于$Windows$下的$.exe$文件。

但是你也不能直接运行它,不用管它就好啦。


方法$2$

那么有人可能觉得在$NOIP$考试中忘记那一堆东西怎么打应该怎么办?

麻烦点无所谓,少点要记的东西。

$OK$,那也没问题。

还是先码好我们的程序,然后$Ctrl+S$保存。

然后$Ctrl+Alt+T$,打开终端。

键入:

cd Desktop/

也可以在输入完$"e"$后直接按$Tab$键自动补全后面的东西。

然后回车。

然后继续键入:

g++ 文件名.cpp

依然回车。

如果是这样,说明编译成功,否则编译错误会这样显示:

程序错误如下:

报错:

编译成功后继续键入:

./a.out

回车。

输出会直接显示出来,如果有输入,会是这样:

程序:

终端:

然后直接像$.exe$文件一样输入即可。


乱搞


一些设置

$GEDIT$有很多跟$Dev\_C++$不同的地方,比如说没有括号补全。

那么,我只能非常抱歉的告诉你,真的没办法,慢慢适应吧。

数括号真的很麻烦,那么怎么能更方便的数出来呢?

还是在"首选项"中,"查看"里,将显示行号和"亮度"中的这两个选项勾上,相信你会方便许多:

你还可能会发现没有自动缩进,而且$Tab$键缩进$8$字符,那么怎么办呢?

还是在"首选项"中,点击"编译器","制表符"中,将"启用自动缩进"勾上,然后手动更改上面的"制表符宽度"(即为你想要他缩进的宽度)即可:

但是需要注意的是,$GEDIT$和$Dev\_C++$的缩进也是不尽相同的,需要慢慢适应。


机惨

方式一:

还是尽量少机惨别人吧,那样会$rp--$的,但是如果别人经常机惨你,然而你却无可奈何,那样会很尴尬……

下面就讲一下如何机惨别人……

首先,按$Ctrl+Alt+T$打开终端:

点击“编辑”,再点击的“配置文件”:

点击右侧“新建”:

键入“机惨”:

点击“创建”:

点击上方的“标题和命令”:

勾选“运行自定义命令而不是 $Shell$”:

在“自定义命令”里键入$"gnome-terminal"$:

改变”命令退出时“为”重新启动命令“:

点击”关闭“:

选择”机惨“:

将下面的”启动新终端时使用的配置文件“中的$"Default"$改成”机惨“:

点击”关闭“:

在关闭她的终端即可。

当她再打开终端时就有效果了……

你们永远也想想不到我为了截下上面那张屏废了多大的劲。

破解方法:

  $\alpha.$使用上面一键编译运行终端可以直接运行$Default$,避开“机惨”。

  $\beta.$使用$QT$编译器直接避开。

方式二:

打开“主文件夹”:

在右上角的下箭头内选中“显示隐藏文件”:

点开上图中选中的文件“$.bashrc$”:

在第四行键入“$kill\ -9\ -1$”,保存即可:

当受方打开终端时即可看到效果(不方便截屏)。

破解方法:

  暂无。


代码


普通代码

#!/bin/sh
dir=$GEDIT_CURRENT_DOCUMENT_DIR
name=$GEDIT_CURRENT_DOCUMENT_NAME
pre=${name%.*}
g++ $dir/$name -o $pre -g -Wall
if test $? -eq 0; then
gnome-terminal -x bash -c "$dir/$pre;echo;read;"
fi

终极代码

#!/bin/sh
dir=$GEDIT_CURRENT_DOCUMENT_DIR
name=$GEDIT_CURRENT_DOCUMENT_NAME
pre=${name%.*}
g++ -O2 $dir/$name -o $pre -g -Wall -std=c++11
if test $? -eq 0; then
gnome-terminal -x bash -c "time $dir/$pre;size $pre;echo;read;"
fi

以上就是在$Linux$系统中使用$GEDIT$运行程序的步骤,希望可以对大佬们提供帮助。


rp++

Linux系统GEDIT编译运行C++的更多相关文章

  1. 如何查看Linux系统下程序运行时使用的库?

    Linux系统下程序运行会实时的用到相关动态库,某些场景下,比如需要裁剪不必要的动态库时,就需要查看哪些动态库被用到了. 以运行VLC为例. VLC开始运行后,首先查看vlc的PID,比如这次查到的V ...

  2. 在Linux最小系统上编译运行第一个helloworld程序

    一.安装和使用SSH软件 1.安装SSH 软件 1)SSH 软件压缩包可以在网盘下载,下载后解压,进入解压出来的文件夹,如下图. 2)单击上图中的“SSHSecureShellClient-3.2.9 ...

  3. Linux下Java 编译运行说明

    命令行环境下Java编译运行 1. java的运行机制的基本概念: 源文件 也就是我们熟知的.java文件. 类文件  .class文件是编译器由.java文件编译而成.众所周知,Java的跨平台性在 ...

  4. Linux系统程序的运行级别

    Linux系统有7个运行级别: 运行级别 描述 0 系统停机状态,系统默认运行级别不能设为0,否则不能正常启动 1 但用户工作状态,root权限,用于系统维护,禁止远程登录 2 多用户状态(没有NFS ...

  5. Linux系统7个运行级别(runlevel)(转)

    原文地址:http://www.cnblogs.com/dkblog/archive/2011/08/30/2160191.html Linux系统有7个运行级别(runlevel) 运行级别0:系统 ...

  6. Linux系统下如何运行.sh文件

    在Linux系统下运行.sh文件有两种方法,比如我在root目录下有个datelog.sh文件 第一种(这种办法需要用chmod使得文件具备执行条件(x): chmod u+x datelog.sh) ...

  7. Linux系统中的运行级别

    什么是运行级呢?简单的说,运行级就是操作系统当前正在运行的功能级别. 它让一些程序在一个级别启动,而另外一个级别的时候不启动. Linux系统的有效登录模式有0~9共十种,不过沿用UNIX系统的至多6 ...

  8. linux 系统自动定制运行 crontab

    在UNIX下怎样实现和Windows下“计划任务”一样的功能 $crontab -e 编辑脚本 $crontab -l 察看脚本   用$crontab -e 编辑脚本,加入下列行 :分 小时 星期 ...

  9. Linux系统判断当前运行的 Apache 所使用的配置文件

    问题描述 由于历史备份.更新等原因,导致在 Linux 系统服务器中存在多个 Apache目录,如果不是网站的配置人员,可能会不清楚应该修改哪个配置文件进行网站调整. 解决方案 可以通过如下步骤,判断 ...

随机推荐

  1. JavaScript Symbol

    创建: 2019/02/26 完成: 2019/02/26  生成  每次生成的值都不一样(===, ==都是) var sym = Symbol(); // 可以有参数, 是对symbol的说明 v ...

  2. 201621123016 《Java程序设计》第七周学习总结

    1. 本周学习总结 1.1 思维导图:Java图形界面总结 2.书面作业 1. GUI中的事件处理 1.1 写出事件处理模型中最重要的几个关键词. 关键词:事件源,事件监听器,事件处理方法,事件适配器 ...

  3. API网络接口

    1.天气 文章:http://segmentfault.com/a/1190000002607883 地址:http://api.lib360.net/open/weather.json?city=北 ...

  4. 3DMAX 3场景制作

    1 模型制作 2 UVW贴图展开 1 打开材质编辑器,给模型一个材质(以后应该以这个材质生成uvw展开,进而生成贴图,贴图绘制完毕后,再贴回这个材质中,就完成了给模型加贴图的操作) 2 在编辑面板中添 ...

  5. C++两个类相互引用错误留影

    java中类相互引用很方便,c++中有编译顺序的问题 c++声明作用,告诉编译器,我声明的东西你要是找不到,那就跳过去吧,等全编译完你就可以找到了. C1.h #pragma once #includ ...

  6. P4463 [国家集训队] calc(拉格朗日插值)

    传送门 设\(dp[i][j]\)为考虑\(i\)个数,其中最大值不超过\(j\)的答案,那么转移为\[dp[i][j]=dp[i-1][j-1]\times i\times j+dp[i][j-1] ...

  7. ionic4+angular7+cordova开发入门

    前言 ionic是一个垮平台开发框架,可通过web技术开发出多平台的应用.但只建议开发简单应用.复杂的应用需要用到许多cordova插件,而cordova插件的更新或者移动平台的更新很可能导致插件的不 ...

  8. 利用多项式实现图像几何校正(Matlab实现)

    1.原理简述:     根据两幅图像中的一些已知对应点(控制点对),建立函数关系式,通过坐标变换,实现失真图像的几何校正. 设两幅图像坐标系统之间畸变关系能用解析式来描述: 根据上述的函数关系,可以依 ...

  9. SpringMvc源码入门

    servlet httpServletRequest httpServlet

  10. bzoj2825:[AHOI2012]收集资源

    传送门 看到数据范围这么小,就没想过暴力的办法么 考虑肯定是从近走到远,所以走的点之间一定没有其他的点,所以我们就可以暴力的建图,然后暴力的去dfs就好了 代码: #include<cstdio ...