linux for noi,linux源码
大家好,如果您还对linux for noi不太了解,没有关系,今天就由本站为大家分享linux for noi的知识,包括linux源码的问题都会给大家分析到,还望可以解决大家的问题,下面我们就开始吧!
noi linux下怎么运行一个文件
noi linux安装与使用
昨天兴致勃勃的装上了NOI linux(用的WINDOWS下安装)……我去,明明就是Ubuntu么…… noi的影子都见不到。
后来使用的时候发现?!!!编译出来的程序居然没法运行?
准确的说是这样子的,g++编出来的程序是没有后缀限制的,你想要他是什么就是什么。在LINUX下运行程序不是像WINDOWS一样,默认可执行文件后缀为.exe在linux下,什么后缀的文件都能运行(.txt也行哦),那么linux用什么来确定那些文件应该像程序一样运行,那些该用记事本之类的软件打开呢?
就是用权限,你可以右键你编的程序文件,点权限属性页,你会看到一个选项框:"以程序执行此文件",按理来说打上勾就可以双击运行了。正常情况下,打上勾后,双击运行,会弹出一个窗口,询问你是要运行它还是用其他软件打开它。
当然,为文件添加运行权限还可以用终端(就是命令行一类的东西啦~)命令: chmod a+x xqy.exe
xqy.exe是你的程序文件(当然,不一定是.exe后缀,g++默认是是.out) a是all全体用户的意思 x是可执行的意思,+是添加的意思
但是,但是,你知道吧,我打上勾了以后,下一秒,那个勾居然自动取消了,自动取消了你知道吧!居然无法修改权限?!!!!
郁闷啊…………
查了半天资料,一句话把我给点醒了……“windows的分区没有x这个权限位”……
就是说,怎么回事呢,前面不是提到我是从windows下安装的么,那时候不是要求你选择要安装的硬盘么?安装程序仅仅是把你所选择的硬盘格式化成了linux支持的ext4格式。但是,其他的盘还只是fat格式,而我们知道文件的权限是记录在文件系统中的,实际上就是一组二进制位标记,而windows支持的fat ntfs都是没有 x也就是“以程序执行此文件”这个位标记的,就是说,用fat ntfs的格式的盘从理论上来讲就是不可能运行linux的程序的!!!坑爹坑爹坑爹!!!
去你的,果断格式化掉所有的硬盘,直接格成ext4话说果然能用了啊……
但是,但是,重启之后,重启之后,电脑永久滴停留在了启动界面的黑屏状态…………
(引导扇区被破坏……)
话说咱们不是从windows下安装的linux么,所以此时的linux就是被阉割过的,不是完整的linux,他仅仅是写入了windows C盘下的boot文件,并没有真正的为磁盘写入引导,用的还是windows的引导,所以,在安装的时候你应该竟发现,是不允许安装在C盘的……然而,我们之前不是把所有的盘都格式化了么,于是启动引导也就木有了……
同志们,如果你已经跟我一样了的话……还是刻盘来得快啊……
如果不带刻盘的话,你就必须:会dos命令会GNU Grub,进行手动引导硬盘上的iso镜像文件进行完整安装……
(如果电脑上没有GNU Grub的话……貌似可以用U盘引导(更麻烦了,还是刻盘吧))
可惜本文不是装门介绍手动引导的……反正我是坎坎坷坷手动引导成了……
还有刻盘的时候一定要直接刻iso文件,不能解压以后再直接刻文件啊,那样可出来的也是木有引导扇区的!……
终于安装好完整的了,进去以后忽然发现,欢迎画面变成了NOI的徽标……原来NOI那帮家伙只是改了完整版的系统,留了个“windwos下安装”来坑你爹……
话说NOI LINUX还是可以的,已经帮你卸载掉了没必要的各种文字、媒体处理软件,自动安装了各种编译器。话说Ubuntu的文本编辑器(Gedit)很给力啊,带自动着色,自动换行,话说c++有了这个和终端(就是命令行)连IDE都不用了呢!
总之,千万不要在windows下安装啊,那就是个浪费你时间,损你硬盘的坑爹货!
===========================现在开始扯淡========================================
忽然发现好多人在看我的帖子啊……那我就再多说几句吧~
首先呢虽然我在上面把“运行权限”这个问题弄得太复杂了但是呢,好消息是你比赛的时候根本不需要考虑权限==!因为编译器(至少是G++)会自动给你设置权限!(当然前提是你的硬盘支持这个权限==!)
还有呢 noi linux下的编辑器真的很好用啊只要改变一下颜色实在想不出为什么还要用IDE(那边一怎么办呢?嗯我一直以来都是自己写脚本,用命令行调试的),至少比DEV-C++好用多了多了多了多了……
话说我建议大家还是用命令行编程因为这样就可以很好地与 GDB结合在一起,而且相当简洁快速。
但是如果打命令行太麻烦了该怎么办呢?写个脚本就可以了
在WINDOWS下我们可以写这样一个BAT文件:
echo off
color 1f
set g++="D:\Program Files\DEV-CPP\Bin\g++.exe"
set test=F:\xqy\C++\OI\TEST
set gdb="D:\Program Files\DEV-CPP\Bin\gdb.exe"
set oi=F:\xqy\C++\OI
:loop
set/p now=please set now adress:
cd%now%
set g=%g++%"%now%\main.cpp"-g-o"%now%\main.g.exe"
set db=%gdb%"%now%\main.g.exe"
set r="%now%\main.g.exe"
cmd
goto loop
很简单吧~更简单的是什么呢?以后你切题的时候就把这个脚本打开,然后输入你的当前工作目录(你在这个目录下的程序文件名必须是: main.cpp)之后呢,你要编译的时候就只需要输入:%g%调试的时候:�%运行:%r%相当简洁了吧!!!!!
linux下的版本呢?额我这忘了一直在用 windows(现在也是)改天去linux上再看吧……:
啊我想起来了可是文件内容太长了就又开了个帖子:
【NOI linux】 shell相关
是时候写个笔记记录一下关于 noi linux shell的内容了
我编程一般是习惯使用命令行(脚本)的,但是每次都输入 g++ main.cpp-g-o main.g岂不是太累了?于是便使用一个脚本来简化它吧~
echo XDB
echo---- all copyright reserves xqy-----
echo
export g="g++ main.cpp-g-o main.g"
export db="gdb main.g"
export r=./main.g
gnome-terminal
echo命令么就不说了(在屏幕上输出)
export相当与 DOS里的 SET,设置变量(宏)
gnome-terminal是运行终端的意思
cd更改当前工作目录
dir查看当前工作目录下的文件
把这个东西保存为***.sh然后在属性里面赋予它执行权限(右键->属性->权限->允许以程序执行文件)
以后你写代码的时候就可以统一把文件命名为main.cpp比如说我写了一个文件在/xqy/main.cpp
之后运行脚本,使用 cd dir命令移动到 xqy下面输入:$g我就可以编译了
输入$db就可以调试了
输入$r就直接运行了
简单了横多吧!!!
还有几条好用的shell命令:
clear清屏(linux的屏幕不像dos一样是自动清屏的用到一定时候就必须手动清屏否则对内存的消耗会很大的!)
echo xxx> in.in向 in.in文件中写入 xxx内容
cat in.in读取全部的 in.in文件中的内容并输出
chmod设置文件权限
NOIlinux系统介绍
NOI Linux,一款专为NOI/NOIP量身打造的Linux发行版,旨在为各类笔记本电脑、桌面电脑提供便捷高效的编程环境。
系统集成了NOI/NOIP竞赛所需的各类编程工具,安装流程简便,上手操作简单。一经安装,用户即可直接进行NOI/NOIP比赛及练习,无需额外安装任何软件。
NOI Linux秉持免费理念,用户可自由下载、使用,并与亲友、同学及同事分享。无需任何许可,即可在多个设备上享受其带来的便利与乐趣。
系统设计精简,专注于编程需求,旨在为参赛者提供一个纯净、高效的工作环境,助力其在NOI/NOIP等竞赛中发挥最佳水平。
无论您是初学者还是资深选手,NOI Linux都能为您提供所需的一切工具与支持,让编程旅程更加顺畅、高效。
作为一套免费、易于使用的Linux发行版,NOI Linux成为了NOI/NOIP参赛者不可或缺的工具,为编程爱好者提供了一个专业、便捷的平台。
如何从NOI官网上下载 NOI linux
之前用Microsoft edge下载时也遇到了一样的问题,后来找到了解决方法,如下:
打开NOI官网,找到下载系统的页面(传送:网页链接)
如图所示,在第一行的下载链接处鼠标右键
选择“复制链接”
打开迅雷(我当时用的是迅雷,别的下载软件我就不知道了)
在如图的下载框中粘贴链接,点击下载
有帮助请采纳哟,谢谢~~~