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/ ...
随机推荐
- BSOJ 4591 -- 【JLOI2015】城池攻占
Description 小铭铭最近获得了一副新的桌游,游戏中需要用m个骑士攻占n个城池. 这n个城池用1到n的整数表示.除1号城池外,城池i会受到另一座城池fi的管辖,其中fi 每个城池有一个防御值h ...
- android 布局文件中xmlns:android="http://schemas.android.com/apk/res/android"
http://blog.163.com/benben_long/blog/static/199458243201411394624170/ xmlns:android="http://sch ...
- Kmeans基本思想
https://blog.csdn.net/zjc_game_coder/article/details/78595833 Kmeans算法的基本思想:看如下图: 解决小样本 .非线性及高维模式识别问 ...
- MySQL数据备份之mysqldump使用(转)
文章转自 :https://www.cnblogs.com/jpfss/p/7867668.html mysqldump常用于MySQL数据库逻辑备份. 1.各种用法说明 A. 最简单的用法: mys ...
- Qt+QGIS二次开发:QGIS中使用QgsRubberBand类创建临时图形
1 概述 临时图形Rubberband主要用于高亮显示.交互绘制等情况下.2 原理 临时图形是在一个底色透明的图层(顶层)上,添加已有的几何元素或者创建一个几何元素(临时图形),可以设置相应的样式, ...
- CTS 如何处理 gating clock 和 generated clock
1. CTS 时会将 ICG cell 作为 implicit nostop pin 处理,直接穿透,以 ICG cell 后面的 sink 点作为真正的 sink 来长 tree 2. CTS 时会 ...
- ESP WIFI
esp_err_tesp_wifi_init(constwifi_init_config_t *config) 这个WIFI初始化函数是使用所有的WIFI API之前必须调用的函数: 函数的参数是一个 ...
- linux调度器源码分析 - 新进程加入(三)
本文为原创,转载请注明:http://www.cnblogs.com/tolimit/ 引言 之前的文章已经介绍了调度器已经初始化完成,现在只需要加入一个周期定时器tick驱动它进行周期调度即可,而加 ...
- Luogu3350 ZJOI2016 旅行者 最短路、分治
传送门 题意:给出一个$N \times M$的网格图,边有边权,$Q$组询问,每组询问$(x_1,y_1)$到$(x_2,y_2)$的最短路.$N \times M \leq 2 \times 10 ...
- mysql利用binlog进行数据恢复
目录 mysql利用binlog进行数据恢复 binlog基本配置和格式 binlog基本配置 查看binlog状态 binlog的三种格式 转换成sql mysql自带的mysqlbinlog 利用 ...