关于新手学习Ubuntu使用vim,如何使用c/cpp的编译器以及如何使用makefile的详细记录

news2024/11/25 13:34:49

ubuntu下

首先如何编辑

1.启动vim编辑器

打开终端,输入vim,按回车键。
vim gcc.c

2.进入编辑模式

输入i ,进入插入模式。就可以修改文件内容了。
按“ESC”退出编辑模式。
在这里插入图片描述

3.退出

Shift键 + “:”,切换到命令模式。

输入“q”后回车,即退出。(当文件未被修改或者修改已经被保存的情况)
输入“wq”后回车,先保存后退出。

如何使用gcc编译(编译的是c)

是一个强大的工具集合,包含预处理器、编译器、汇编器、链接器等组件
由输入文件类型和传递的参数决定gcc具体调用的组件
为开发者提供足够多的参数,可让开发者全面控制代码的生成
gcc下的C程序编译过程
预处理
编译成汇编代码
汇编成目标代码
链接
在这里插入图片描述
参数-o:指定目标名称(缺省gcc编译出来的文件是a.out)

如何使用cpp的编译器

预处理器,gun c编译器在编译前自动使用cpp对程序进行预处理
这是cpp里的内容
在这里插入图片描述
在这里插入图片描述
使用cpp编译器权限不够
改用g++编译器
基本符合ISO标准的C++编译器
在这里插入图片描述

使用 GUN make管理项目

在这里插入图片描述
举例:
在这里插入图片描述
在这里插入图片描述!!]

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/780955.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

基于OpenCV的红绿灯识别

基于OpenCV的红绿灯识别 技术背景 为了实现轻舟航天机器人实现红绿灯的识别,决定采用传统算法OpenCV视觉技术。 技术介绍 航天机器人的红绿灯识别主要基于传统计算机视觉技术,利用OpenCV算法对视频流进行处理,以获取红绿灯的状态信息。具…

【Linux】Tcp服务器的三种与客户端通信方法及守护进程化

全是干货~ 文章目录 前言一、多进程版二、多线程版三、线程池版四、Tcp服务器日志的改进五、将Tcp服务器守护进程化总结 前言 在上一篇文章中,我们实现了Tcp服务器,但是为了演示多进程和多线程的效果,我们将服务器与客户通通信写成了一下死循…

【Linux】 由“进程”过渡到“线程” -- 什么是线程(thread)?

知识引入初识线程1.什么叫做进程?2.什么叫做线程?3.如何看待我们之前学习的进程? 理解线程创建线程函数调用1.线程一旦被创建,几乎所有资源都是被线程所共享的2.与进程之间切换相比,线程的切换 初识线程总结&#xff1…

JWT 的使用

一、简介 JWT将用户的一些信息存储在客户端,访问后台时会带着JWT,服务器要对这个JWT进行检验。 由于signKey是存放在服务器端的,所以比较安全只要JWT被篡改就会立刻发现。 JWT认证的优势 1.简洁:JWT Token数据量小,传…

WebRTC带宽评估 -- Transport-wide Congestion Control

简述:在RTP包中增加transport-wide-cc扩展头,放置传输层面的包序号。视频接收端记录RTP包的接收时间,并通过RTCP Feedback消息反馈到视频发送端,发送端结合缓存的RTP包发送时间,基于丢包和延迟估算当前带宽&#xff0c…

zabbix 企业级监控 (3)Zabbix-server监控mysql及httpd服务

目录 web界面设置 server.zabbix.com 服务器操作 编辑 chk_mysql.sh脚本 查看web效果 web界面设置 1. 2. 3. 4. 5. 6. 7. 8. server.zabbix.com 服务器操作 [rootserver ~]# cd /usr/local/zabbix/etc/ [rootserver etc]# vim zabbix_agentd.conf UnsafeUserParameters1 Us…

Java当中的栈

栈的理解 栈(Stack)是一种受限的线性数据结构,所谓受限是指栈只暴露栈顶和栈底的操作,其底层是由数组实现的。栈的特性是先进后出。 常用方法 注意上面的peek()方法和pop()方法的区别! 实例 import java.util.Stack…

【计算机视觉 | 图像分割】arxiv 计算机视觉关于图像分割的学术速递(7 月 19 日论文合集)

文章目录 一、分割|语义相关(12篇)1.1 Disentangle then Parse:Night-time Semantic Segmentation with Illumination Disentanglement1.2 OnlineRefer: A Simple Online Baseline for Referring Video Object Segmentation1.3 MarS3D: A Plug-and-Play Motion-Aware Model for…

LeetCode74.Search-A-2d-Matrix<搜索二维矩阵>

题目: 思路: 矩阵,搜索数是否在矩阵内。那就查找他是否在每一行中。如果符合这一行的范围,那就一直找这一列是否存在,如果存在返回true;否则false; 代码是: //codeclass Solution …

Istio 安全管理 加密证书中心

1 tls认证 2 设置ACL 允许哪些客户端可以访问 哪些客户端不能访问 3 istio里面的认证 加密是可以分为三种类型 对称加密(加密和解密用的是同一个密钥)非对称加密哈希函数 对称加密 A要发送数据传送给B,那么A要使用一个密钥,里面…

MySQL-数据库读写分离(下)

♥️作者:小刘在C站 ♥️个人主页: 小刘主页 ♥️努力不一定有回报,但一定会有收获加油!一起努力,共赴美好人生! ♥️学习两年总结出的运维经验,以及思科模拟器全套网络实验教程。专栏&#xf…

Verilog 学习之路二——基础学习总结(摘取自菜鸟教程)

目录 1 Verilog 设计方法2. 基础语法2.1 格式2.2 数值表示数值种类表示方法 2.3 数据类型2.4 表达式 3. 编译指令4. 连续赋值5. 过程结构6 过程赋值7 时序控制8 语句块9 循环10 函数例子-数码管译码 1 Verilog 设计方法 Verilog 的设计多采用自上而下的设计方法(to…

TypeScript + React 环境搭建

React 安装 vscode 或者 webstrom 代码编辑器TypeScript 开发环境搭建1.1、下载 node.js1.2、安装 node.js1.3、npm 安装 typeScript1.4、创建和编写 ts 文件1.5、编译1.6、运行 js文件 React 环境搭建2.1、homebrow2.2、安装 cnpm:2.3、安装yarn:2.4、安…

[oeasy]python0074[专业选修]字节序_byte_order_struct_pack_大端序_小端序

进制转化 回忆上次内容 上次 总结了 计算字符串值的函数 eval 四种进制的转化函数 binoctinthex 函数名前缀目标字符串所用进制bin0b二进制oct0o八进制hex0x十六进制eval无前缀十进制 数字41 和 字符串"41" 的不同 字符串"41" 两个字符字符存储依据是…

部署ELK+Kafka+Filebeat日志收集分析系统

部署ELKKafkaFilebeat日志收集分析系统 文章目录 部署ELKKafkaFilebeat日志收集分析系统一、ELK 简介1、ELK日志分析系统组成2、Elasticsearch(es)3、Logstash4、Kibana5、日志处理步骤 二、Elasticsearch介绍1、Elasticsearch核心概念2、开启分片副本的…

AcWing 244. 谜一样的牛—树状数组、二分

题目链接 AcWing 244. 谜一样的牛 题目描述 分析 这道题挺巧妙的,感觉树状数组方面的题就是比较难想,先分析一下样例,样例中每头牛前面比自己低的牛的数量分别为 0 1 2 1 0牛的高度是1~n的排列,如何分析出每头牛的高度呢&…

Linux学习之if判断的使用

if的基本用法 if后边可以直接跟着命令。 echo "good" > ifecho.txt把good输出到当前目录下ifecho.txt文件里边,cat ifecho.txt首先可以看一下这个文件里边的内容。 然后依次输入: if cat ifecho.txt thenecho "right" fi可以看…

Windows系统实现唤醒+合成+命令词智能语音交互

1、之前写过离线能力调用,今天来个终极版,实现智能交互或者结合大模型的智能交互示例,下面进入正题。上B站效果离线唤醒离线合成离线命令词实现智能交互_哔哩哔哩_bilibili 2、到讯飞开放平台下载唤醒合成命令词的离线组合包,找到…

关于正则表达式的简单介绍以及使用

一、介绍 正则表达式通常被用来检索匹配某种模式(规律)的文本 日常文本检索,如果单纯检索某个数字,字母,或者单词匹配出来的结果较多,而面对目标文件内容较大的时,我们也不可能肉眼对检索出来的…

Kotlin 新版本 1.9.0重要更新预览

释放 Kotlin 新版本 1.9.0 的强大功能 1. Kotlin K2编译器用于多平台 对K2编译器进行了进一步的改进,使其更加稳定。K2编译器针对JVM目标现已进入Beta版本,并且也可以在多平台项目中使用。 您可以通过将K2配置添加到项目的gradle.properties中&#x…