Linux环境C程序设计
Linux基础
常用shell命令
| 命令 | 说明 | 命令 | 说明 |
|---|---|---|---|
| man | 查看联机帮助 | ls | 查看目录及文件列表 |
| cp | 复制目录或文件 | mv | 移动目录或文件 |
| cd | 改变文件或目录 | rm | 删除文件或目录 |
| mkdir | 创建新目录 | rmdir | 删除空目录 |
| cat | 查看文本内容 | find | 查找目录或文件 |
| date | 显示或修改日期和时间 | free | 显示内存交换空间信息 |
| chmod | 改变目录或文件权限 | chown | 改变目录或文件的所有者 |
控制台操作
按Ctrl+Alt+F2键进入控制台Ctrl+Alt+F7退出控制台
输入用户名root和密码获取管理员权限
输入以下命令,创建新用户
adduser [用户名] //创建新用户,隶属于普通用户组
password [密码] //为该用户修改密码,新用户密码默认为空
GCC/G++ 编译器
Ubuntu默认已安装好GCC/G++编译器,gcc --version命令查看编译器版本,
该编译器没有图形界面,编译命令如下
gcc [-选项 1] [-选项 2]... [-选项 n] <源文件名>
g++ [-选项 1] [-选项 2]... [-选项 n] <源文件名>
如果命令中不包含输出文件的名称,默认在该目录侠生成.out的可执行文件
源程序文件名test.c
常用GCC/G++编译选项:
| 编译选项 | 用法 | 说明 |
|---|---|---|
| -c | gcc -c test.s | 只进行预处理,编译和汇编,生成.o 文件 |
| -S | gcc -S test.i | 只进行预处理,编译和汇编,生成.s 文件 |
| -E | gcc -E test.c -o test.i | 只进行预处理,参数预处理后的结果到标准输出 |
| -C | gcc -S test.i | 预处理不删除注释信息,常与-E同时使用 |
| -o | gcc -O1 test.c -o test | 指定目标名称,常与-c -S同时使用,默认.out |
Vi编译Helloword
cd~ //进入主目录
mkdir helloword //新建helloworld目录
cd helloword //进入helloworld目录
vi helloword.c //使用vi新建并打开helloworld.c文件
helloworld文件如下
#include <stdio.h>
int main()
{
char *c;
c = "hello word!";
printf("%s\n", c);
return 0;
}
输入结束后按Esc退出输入状态,输入命令Q后进入Ex模式,在Ex模式下输入wq并按Enter,保存文件。
程序编译与连接
gcc -o hello helloword.c //编译并连接程序
//-o hello表示使用hello作为目标文件名
若程序编写错误会有相关错误信息
使用终端运行程序
./hello //运行当前目录下的hello程序
输出结果为: Hello world!
GBD调试工具
常用vi编辑起命令
| 命令 | 解释 | 命令 | 解释 |
|---|---|---|---|
| Esc | 进入或退出命令模式 | i/I/ | 插入 |
| h/j/k/l或方向键 | 移动光标位置 | a/A | 在光标后输入 |
| /关键字 | 向下查找关键字 | o/O | 插入新行 |
| x/X | 向前或向后删除一个字符 | r/R | 在光标后改写 |
| D/d | 删除整行 | w | 保存文件 |
| Y/y | 复制整行 | q | 退出vi |
| p/P | 在上一行,下一行粘贴 | wq | 退出Vi |
| U | 还原上一个动作 | set nu | 显示行号 |
Linux环境C程序设计的更多相关文章
- 多线程编程之Linux环境下的多线程(二)
上一篇文章中主要讲解了Linux环境下多线程的基本概念和特性,本文将说明Linux环境下多线程的同步方式. 在<UNIX环境高级编程>第二版的“第11章 线程”中,提到了类UNIX系统中的 ...
- 在Linux环境下采用压缩包方式安装JDK 13
本文地址:https://www.cnblogs.com/oberon-zjt0806/p/11663731.html 可以,转载,出处,格式,懂?? 什么是JDK?? 好吧如果你不知道这个问题的话我 ...
- Linux环境下的network IO
同步IO和异步IO,阻塞IO和非阻塞IO分别是什么,到底有什么区别?不同的人在不同的上下文下给出的答案是不同的.所以先限定一下本文的上下文. 本文讨论的背景是Linux环境下的network IO. ...
- linux 环境下运行STS时 出现must be available in order to run STS
linux 环境下运行ECLIPSE时 出现 “ A Java Runtime Environment (JRE) or Java Development Kit (JDK) must be avai ...
- Linux环境搭建-在虚拟机中安装Centos7.0
最近在空闲时间学习Linux环境中各种服务的安装与配置,都属于入门级别的,这里把所有的学习过程记录下来,和大家一起分享. 我的电脑系统是win7,所以我需要在win7上安装一个虚拟机-VMware,然 ...
- Linux环境下部署完JDK后运行一个简单的Java程序
前言 前一篇文章详细讲解了如何在Windows环境下安装虚拟机+Linux系统,并且成功部署了JDK. 不过部署完JDK之后,我们判断部署是否成功的依据是看"java -version&qu ...
- OpenJDK 编译-Linux环境
说明:笔者是在Ubuntu 16.04虚拟机中编译 OpenJDK 8 源码下载 http://download.java.net/openjdk/jdk8/ 推荐直接下载openjdk-8-src- ...
- Linux环境中Openfire安装指南
Linux环境中Openfire安装指南 安装环境: 安装软件:Openfire 4_1_0 http://download.igniterealtime.org/openfire/openfire_ ...
- linux环境下学习使用pro*c/c++工具
1.proc是oracle用来预编译嵌入SQL语句的c程序. 2.如何使用proc工具 在Linux环境下,首先确保gcc编译器正常使用,安装oracle数据库或者客户端,一般就会默认安装pro*c/ ...
随机推荐
- Parameter infoDTOs of type T from private T com.ListVO.setInfoDTOs is not resolvable to a concrete type.
WARN org.glassfish.jersey.internal.Errors - The following warnings have been detected: WARNING: Par ...
- nginx配置静态资源访问
本篇配置使用场景:本地通过浏览器访问linux上某个文件夹下的文件: 1.安装jdk及nginx步骤省略 2.进入正题 (1) 查看nginx安装路径:[root@localhost conf]# w ...
- Alpha冲刺! Day9 - 砍柴
Alpha冲刺! Day9 - 砍柴 今日已完成 晨瑶:继续补充gitkraken教程. 昭锡:实现主页基本布局. 永盛:进一步了解了框架,为框架生成的模型填充了假数据到数据库. 立强:文章模块基本实 ...
- 泰泽智能电视(Tizen smart TV)问世
6月2日至4日,泰泽开发人员大会(TDC)在美国洛杉矶举行,会上韓国三星公司展出了一台泰泽智能电视(原型机). 智能电视(Smart TV not to be confused ...
- luogu P2000 拯救世界
嘟嘟嘟 题目有点坑,要你求的多少大阵指的是召唤kkk的大阵数 * lzn的大阵数,不是相加. 看到这个限制条件,显然要用生成函数推一推. 比如第一个条件"金神石的块数必须是6的倍数" ...
- metamask源码学习导论
()MetaMask Browser Extension https://github.com/MetaMask/metamask-extension 这就是整个metamask的源码所在之处,好好看 ...
- 【spring-boot神器】第一篇:拦截器,过滤器,监听器,控制器,消息转换器,AOP执行顺序
整理一下这几天学习的资料和代码 第一部分.上代码 1.spring各种器的实现,idea搭建spring-boot的教程在这里http://www.jianshu.com/p/9082a533fa3c ...
- JAVA 第八周学习总结
20175308 2018-2019-2 <Java程序设计>第八周学习总结 教材学习内容总结 泛型 泛型的主要目的是可以建立具有类型安全的集合框架(如链表.散列映射等数据结构) 通过cl ...
- Android 让图片等比例缩放的三种方法
方法一:客户端等比例 前提条件:服务器端需要返回原始图片的“宽和高”或者“宽高缩放比例”,客户端要显示的图片的宽或者高只要其一是固定的(例如:高度为200,宽度未知,或者高度为400宽度未知) 在这种 ...
- Codeforces round 1098
Div1 530 感受到被Div1支配的恐惧了.jpg 真·一个题都不会.jpg(虽然T1是我智障 感受到被构造题支配的恐惧了.jpg A 直接树上贪心就行,是我写错了.jpg B 这个构造超级神仙有 ...