热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

linux下c语言里环境表,Linux下C语言开发环境

一、编辑器vi1、vi是Linux系统中一种文本编辑器,vim是vi的高级版本,兼容vi,功能更强大。2、基本操作(1)进入vim

一、编辑器vi

1、vi是Linux系统中一种文本编辑器,vim 是vi的高级版本,兼容vi,功能更强大。

2、基本操作

(1)进入vim:vim

vim可以自动帮你载入所要编辑的文件或是开启一个新文件。进入vim后屏幕左方会出现波浪符号,凡是列首有该符号就代表此列目前是空的。

(2)离开vim:

:q   退出vim

:q!  不保存强制退出vim

:wq 保存后再离开

:x   保存后再离开

3、Vi的三种模式

(1)命令行模式

①开始编辑命令

i           在光标前输入文本

I           在当前行开始输入文本

o 在当前行后输入新一行

O 在当前行前输入新一行

②光标移动命令

b         移动到当前单词的开始

e         移动到当前单词的结尾

w         向后移动一个单词

h         向前移动一个字符 ←

j         向下移动一行 ↓

k         向上移动一行 ↑

l         向后移动一个字符 →

③删除命令

x      删除光标所在的字符

dd     删除当前行

ndd    删除当前行以后的n行

④改变与替换操作命令

⑤拷贝和粘贴命令

yy      将当前行复制到粘贴板

nyy    将当前行后的n行复制到粘贴板

p       将粘贴板中的内容粘贴在光标后

⑥其他有用的命令

nG                跳到第n行

u                 撤销

gg                移动到第一行行首

G                 移动到最后一行行首

nx                删除n个字符

n+                向后跳转n行

n-                向前跳转n行

n↑↓←→         向上下左右跳转n次

(2)底行模式

①设置vi

:set number等于:set nu      显示行号

: set nonumber等于:set nonu  隐藏行号

:set autoindent 智能缩进

:set mouse=a 开启鼠标

②文件保存及退出命令

:w filename   另存为文件 filename

:wq                   保存退出

:x                    同 :wq

ZZ                    同 :wq

③查询命令

/abc  向后查询abc

?abc  向前查询abc

n         向后继续查询

N         向前继续查询

④替换与查找

:s/old/new               替换该行第一个old为new

:s/old/new/g             可以替换全行中所有的old为new

:#,#s/old/new/g          替换两行之间出现的old为new,#,#为两行的行号

:%s/old/new/g            替换全文的old为new

:%s/old/new/gc           全文替换前需确认

(3)插入模式

二、编译器gcc

1、.c为后缀的文件,c语言源代码文件;

.h为后缀的文件,是程序包含的头文件;

.i为后缀的文件,是已经预处理过的c源代码文件;

.s为后缀的文件,是汇编语言源代码文件

.o为后缀的文件,是编译后的目标二进制文件;

2、编译过程

56bb4742c2b8758e8dec490592656284.png

(1)预处理

预处理器(cpp)根据以字符#开头的命令,修改原始c程序。

gcc -E hello.c -o hello.i

(2)编译

gcc -S hello.i -o hello.s

(3)汇编

gcc -c hello.s -o hello.o

(4)链接

gcc hello.o -o hello

3、其他注意事项

(1)gcc example.c -o example              直接生成可执行文件

(2)./example                                          运行可执行文件

(3)若不使用 -o 则生成可执行文件 a.out

(4)Linux头文件默认放在/usr/include中

三、调试器Gdb

1、首先使用Gcc进行编译

gcc -g func.c -o test

gdb test

2、常用命令

(1)l(list)                       一次列出10行代码(list n,m   #列出n~m行)

(2)r(run)                      执行程序(未设置断点,将程序执行完毕)

(3)b(break)                 b+行号,在该行设置断点

(4)c(continue)            当程序运行时,继续运行程序,直到遇到断点

(5)i b(info break)       查看断点信息

(6)d+编号                   (delete)删除该断点(d删除所有断点)

(7)clear+行号             删除指定行断点(不加行报错)

(8)p(print)                    p+变量名,显示变量的值

(9)s(step)                    单步执行(进入调用函数)

(10)n(next)                  不进入调用的函数,只在主函数中运行

(11)return/finish          退出step进入的调用函数

(12)q(quit)                   退出gdb调试

四、makefile 工程管理器

makefile 是 make 读入的唯一配置文件

1、makefile的基本格式:target:dependency

(Tab字符)command

2、makefile中变量的使用

OBJECTS = sum.o sub.o operator.o           定义变量

$(OBJECTS)                                                  使用变量

3、makefile的自动推导(隐晦规则)

GNU的make很强大,它可以自动推导文件以及文件依赖关系后面的命令,make会自动识别,并自己推导命令。只要make看到一个[.o]文件,它就会自动的把[.c]文件加在依赖关系中。如:如果make找到一个main.o,那么main.c就会是main.o的依赖文件。并且gcc -c main.c -o main.o也会被推导出来。



推荐阅读
  • C语言是计算机科学和编程领域的基石,许多初学者在学习过程中会感到困惑。本文将详细介绍C语言的基本概念、关键语法和实用示例,帮助你快速上手C语言。 ... [详细]
  • 字符串学习时间:1.5W(“W”周,下同)知识点checkliststrlen()函数的返回值是什么类型的?字 ... [详细]
  • 本文介绍了如何在Linux和Windows环境中使用C语言中的beep函数来生成不同频率的声音,并提供了详细的代码示例和解释。 ... [详细]
  • centos 7.0 lnmp成功安装过程(很乱)
    下载nginx[rootlocalhostsrc]#wgethttp:nginx.orgdownloadnginx-1.7.9.tar.gz--2015-01-2412:55:2 ... [详细]
  • malloc 是 C 语言中的一个标准库函数,全称为 memory allocation,即动态内存分配。它用于在程序运行时申请一块指定大小的连续内存区域,并返回该区域的起始地址。当无法预先确定内存的具体位置时,可以通过 malloc 动态分配内存。 ... [详细]
  • C语言中全部可用的数学函数有哪些?2.longlabs(longn);求长整型数的绝对值。3.doublefabs(doublex);求实数的绝对值。4.doublefloor(d ... [详细]
  • 在C语言程序开发中,调试和错误分析是确保代码正确性和效率的关键步骤。本文通过一个简单的递归函数示例,详细介绍了如何编写和调试C语言程序。具体而言,我们将创建一个名为 `factorial.c` 的文件,实现计算阶乘的功能,并通过逐步调试来分析和解决可能出现的错误。此外,文章还探讨了常见的调试工具和技术,如GDB和断点设置,以帮助开发者高效地定位和修复问题。 ... [详细]
  • 在腾讯云服务器上部署Nginx的详细指南中,首先需要确保安装必要的依赖包。如果这些依赖包已安装,可直接跳过此步骤。具体命令包括 `yum -y install gcc gcc-c++ wget net-tools pcre-devel zlib-devel`。接下来,本文将详细介绍如何下载、编译和配置Nginx,以确保其在腾讯云服务器上顺利运行。此外,还将提供一些优化建议,帮助用户提升Nginx的性能和安全性。 ... [详细]
  • 在 Windows 10 环境中,通过配置 Visual Studio Code (VSCode) 实现基于 Windows Subsystem for Linux (WSL) 的 C++ 开发,并启用智能代码提示功能。具体步骤包括安装 VSCode 及其相关插件,如 CCIntelliSense、TabNine 和 BracketPairColorizer,确保在 WSL 中顺利进行开发工作。此外,还详细介绍了如何在 Windows 10 中启用和配置 WSL,以实现无缝的跨平台开发体验。 ... [详细]
  • 最近遇到了一道关于哈夫曼树的编程题目,需要在下午之前完成。题目要求设计一个哈夫曼编码和解码系统,能够反复显示和处理多个项目,直到用户选择退出。希望各位大神能够提供帮助。 ... [详细]
  • 本文整理了一份基础的嵌入式Linux工程师笔试题,涵盖填空题、编程题和简答题,旨在帮助考生更好地准备考试。 ... [详细]
  • C语言编写线程池的简单实现方法
    2019独角兽企业重金招聘Python工程师标准好文章,一起分享——有时我们会需要大量线程来处理一些相互独立的任务,为了避免频繁的申请释放线程所带 ... [详细]
  • 本文节选自《NLTK基础教程——用NLTK和Python库构建机器学习应用》一书的第1章第1.2节,作者Nitin Hardeniya。本文将带领读者快速了解Python的基础知识,为后续的机器学习应用打下坚实的基础。 ... [详细]
  • 开机自启动的几种方式
    0x01快速自启动目录快速启动目录自启动方式源于Windows中的一个目录,这个目录一般叫启动或者Startup。位于该目录下的PE文件会在开机后进行自启动 ... [详细]
  • 如何利用正则表达式(regexp)实现高效的模式匹配?本文探讨了正则表达式在编程中的应用,并分析了一个示例程序中存在的问题。通过具体的代码示例,指出该程序在定义和使用正则表达式时的不当之处,旨在帮助读者更好地理解和应用正则表达式技术。 ... [详细]
author-avatar
马芷靈
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有