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/ ...
随机推荐
- Linux 小知识翻译 - 「协议(protocol)」
对于理解服务器和网络来说,「协议」是不可缺少的概念. 「协议(protocol)」有「规则,规定」的意思. 实际上「协议」的函数很广,在通信领域,「协议」规定了「在通信时,什么样的情况下,以什么样的顺 ...
- php 安装xdebug进行调试(phpstorm)
一.下载xdebug xdebug官网:https://xdebug.org/download.php 在选择下载哪个版本的xdebug的时候需要注意了,下面有两种方法,让你准确的下载自己环境对应的x ...
- P2665 [USACO08FEB]连线游戏Game of Lines
本着dp的心情,结果是道水题STL set就行了 题意:看有多少种斜率(题在那里半天说多少直线(不平行的)),其实就是找斜率的种类 #include<cstdio> #include&l ...
- 单节点etcd配置
$ cat /etc/etcd/etcd.conf ETCD_DATA_DIR="/var/lib/etcd/default.etcd" #监听URL,用于与其他节点通讯 ETCD ...
- PCB (3)创建新工程PCB
点击完成 拖进我们创建的工程中
- 很好的一篇eureka的讲解文章
文章地址 http://nobodyiam.com/2016/06/25/dive-into-eureka/
- javax.servlet.http.HttpServlet" was not found on the Java Build Path
问题解决(以maven为例): 只需在pom.xml导入对应的两个依赖即可解决该问题: <dependency> <groupId>javax.servlet.jsp</ ...
- Python threading中lock的使用
版权声明: https://blog.csdn.net/u012067766/article/details/79733801在多线程中使用lock可以让多个线程在共享资源的时候不会“乱”,例如,创建 ...
- 源代码管理工具(下)-SVN目录结构
内容中包含 base64string 图片造成字符过多,拒绝显示
- 零基础入门到精通:Python大数据与机器学习之Pandas-数据操作
在这里还是要推荐下我自己建的Python开发学习群:483546416,群里都是学Python开发的,如果你正在学习Python ,小编欢迎你加入,大家都是软件开发党,不定期分享干货(只有Python ...