当前位置: 首页 > news >正文

c++作业

Shell中的函数(先调用后使用的原则)(没有申明)

(Function) 函数名(有没有参数根据调用格式)(不能写任何内容)

{

函数体

Return 返回值

}

函数名   ----》调用没有参数的函数

函数名 实参1 实参2 实参3 ------- 空格作为分割

函数参数的获取

通过位置变量的方式获取

${n}

只能从$1开始获取    $0永远为脚本名

使用位置变量 ,在寒素内部使用位置变量,只能获取函数的外部参数

在脚本使用位置变量。只能获取脚本的外部参数

只要在实现函数时写了return 函数就有返回值函数

$?接收上一条指令的返回值

Shell中只能返回0-255 超过255会取余

修饰变量的关键字

Readonly :只读不能修改

Local:定义局部变量,只能在函数内使用(shell中所有的变量默认都是全局)

分文件编译

将主函数 功能函数的定义 功能的申明博爱阔头文件分成三个文件

主函数 main.c

功能函数 fun.c

函数申明和头文件 fun.h

需要联合编译 主函数和函数定义需要联合编译 gcc main fun 默认生成a.out

.h文件不能写到gcc 后面

Makefile

是一个工程管理文件,可以完成程序的自动化编译

需要make工具 对makefile文件进行处理

Make是gnu的产品 gpl(开放源)

Sudo apt-get install make

为什么学makefile

当分布编译时,如果一个c文件发生修改 则所有的c文件都需要重新编译再生成可执行的文件

使用makefile后 可以只对修改的文件重新编译,简化编译的过程

Makefile的书写

类似于shell脚本

Makefile由规则 变量函数组成

  1. 规则
  2. 目标:依赖
  3. <tab建>指令

Make工具

Make工具是用来读取makefile文件的

直接在终端输入make makefile

Make 有两个默认的读入文件 makefile makefile 如果两个文件同时存在 make 会读入小的makefile 可以使用make -f makefile 指定读入 makefile

Gcc分布编译

预处理 编译汇编 链接

Gcc -E xxx.c -o xxx.i

删除注释 替换宏定义 展开头文件 不检查语法错误

gcc -S xxx.i -o xxx.s

检查语法错误 生成汇编文件

Gcc -c xxx.s -o xxx.o

生成二进制文件

Gcc xxx.o -o a.out  链接到程序需要的库,生成可执行文件

Makefile 把文件的编译过程分为两部

生成二进制文件 -c .o文件

链接库生成可执行文件

将编译过程分为两部

第一步 生成.o后缀的二进制文件

第二步 链接库,生成可执行的文件

节约编译时间

保证每个.c文件都有一个已经完成大部分编译过程.o文件生成

Makefile 中的规则

规则的构成:

目标:依赖

《tab》 语句    -------- 一定是tab

每一条规则都必须有一个目标

一个目标可以有多个依赖

一个目标也可以没有依赖 只执行语句

Makefile中的变量

+= 追加赋值 加空格把其他变量的值加在后面

= 递归赋值 取最后一次赋值的结果

?= 条件赋值 如果变量前面没有赋值过就赋值   赋值过就不赋值

:=立即赋值

第二版makefile

EXE=fun

OBJs+=main.o

OBJs+=fun.o

CC=gcc

CFLAGs=-c

#!/bin/bash
function fun()
{
 id -u
 id -g
}
fun
 

相关文章:

c++作业

Shell中的函数&#xff08;先调用后使用的原则&#xff09;&#xff08;没有申明&#xff09; &#xff08;Function&#xff09; 函数名&#xff08;有没有参数根据调用格式&#xff09;&#xff08;不能写任何内容&#xff09; { 函数体 Return 返回值 } 函数名 ----》…...

什么是tomcat?tomcat是干什么用的?

前言 Tomcat是一个开源的、轻量级的应用服务器&#xff0c;是Apache软件基金会的一个项目。它实现了Java Servlet、JavaServer Pages&#xff08;JSP&#xff09;和Java Expression Language&#xff08;EL&#xff09;等Java技术&#xff0c;用于支持在Java平台上运行的动态W…...

中科院一区论文复现,改进蜣螂算法,Fuch映射+反向学习+自适应步长+随机差分变异,MATLAB代码...

本期文章复现一篇发表于2024年来自中科院一区TOP顶刊《Energy》的改进蜣螂算法。 论文引用如下&#xff1a; Li Y, Sun K, Yao Q, et al. A dual-optimization wind speed forecasting model based on deep learning and improved dung beetle optimization algorithm[J]. Ener…...

C# 如何实现一个事件总线

EventBus&#xff08;事件总线&#xff09;是一种用于在应用程序内部或跨应用程序组件之间进行事件通信的机制。 它允许不同的组件通过发布和订阅事件来进行解耦和通信。在给定的代码片段中&#xff0c;我们可以看到一个使用C#实现的Event Bus。它定义了一些接口和类来实现事件…...

Python学习路线图

防止忘记&#xff0c;温故知新 进阶路线...

作业2.14

chgrp: 只能修改文件的所属组 chgrp 新的组 文件名 要求&#xff1a;修改的目标组已经存在 chown: chown 新的用户名 文件名 sudo chown root &#xff1a;1 将文件1的所属组用户和所属组用户都改为root sudo chown root&#xff1a;ubuntu 1 将文件1的所属用户…...

基于python+django+mysql的小区物业管理系统

该系统是基于pythondjango开发的小区物业管理系统。适用场景&#xff1a;大学生、课程作业、毕业设计。学习过程中&#xff0c;如遇问题可以在github给作者留言。主要功能有&#xff1a;业主管理、报修管理、停车管理、资产管理、小区管理、用户管理、日志管理、系统信息。 演示…...

控制与状态机算法

控制与状态机算法是计算机科学、电子工程和自动化领域中常用的一种设计工具,它用来描述一个系统的行为,该系统在不同时间点可以处于不同的状态,并且其行为取决于当前状态以及输入的信号或事件。状态机算法的核心概念包括: 状态(State):系统的任何可能配置。每个状态代表…...

sql常用语句小结

创建表&#xff1a; create table 表名&#xff08; 字段1 字段类型 【约束】【comment 字段1注释】&#xff0c; //【】里面的东西可以不用加上去 字段2 字段类型 【约束】【comment 字段2注释】 &#xff09;【comment 表注释】 约束&#xff1a;作用于表中字段上的规则…...

云计算基础-虚拟机迁移原理

什么是虚拟机迁移 虚拟机迁移是指将正在运行的虚拟机实例从一个物理服务器&#xff08;或主机&#xff09;迁移到另一个物理服务器&#xff08;或主机&#xff09;的过程&#xff0c;而不会中断虚拟机的运行。 虚拟机拟机迁移分类虚 热迁移&#xff1a;开机状态下迁移 冷迁…...

云计算基础-云计算概念

云计算定义 云计算是一种基于互联网的计算方式&#xff0c;通过这种计算方式&#xff0c;共享的软硬件资源和信息可以按需提供给计算机和其他设备。云计算依赖资源共享以达成规模经济&#xff0c;类似基础设置(如电力网)。 云计算最基本的概念就是云加端&#xff0c;我们有一个…...

如何将阿里云服务器迁移

&#x1f4d1;前言 本文主要是如何将阿里云服务器迁移实现数据转移的文章&#xff0c;如果有什么需要改进的地方还请大佬指出⛺️** &#x1f3ac;作者简介&#xff1a;大家好&#xff0c;我是青衿&#x1f947; ☁️博客首页&#xff1a;CSDN主页放风讲故事 &#x1f304;每日…...

如何将本地的python项目部署到linux服务器中

大家好&#xff0c;我是雄雄&#xff0c;欢迎关注微信公众号&#xff1a;雄雄的小课堂 。 前言 本地写好的python项目&#xff0c;如何部署在服务器上运行呢&#xff1f;今天&#xff0c;我们就来抽一点点时间来看看。&#xff08;网上找的资料&#xff0c;大部分都囫囵吞枣的…...

每日五道java面试题之java基础篇(五)

目录&#xff1a; 第一题. final、finally、finalize 的区别&#xff1f;第二题. 和 equals 的区别&#xff1f;第三题.hashCode 与 equals?第四题. Java 是值传递&#xff0c;还是引⽤传递&#xff1f;第五题 深拷贝和浅拷贝&#xff1f; 第一题. final、finally、finalize 的…...

HiveSQL——用户行为路径分析

注&#xff1a;参考文档&#xff1a; SQL之用户行为路径分析--HQL面试题46【拼多多面试题】_路径分析 sql-CSDN博客文章浏览阅读2k次&#xff0c;点赞6次&#xff0c;收藏19次。目录0 问题描述1 数据分析2 小结0 问题描述已知用户行为表 tracking_log&#xff0c; 大概字段有&…...

专利的申请

申请发明或者实用新型专利的&#xff0c;应当提交请求书、说明书及其摘要和权利要求书等文件。 请求书应当写明发明或者实用新型的名称&#xff0c;发明人或者设计人的姓名&#xff0c;申请人姓名或者名称、地址&#xff0c;以及其他事项。 说明书应当对发明或者实用新型作出清…...

嵌入式学习 C++ Day5、6

嵌入式学习 C Day5、6 一、思维导图 二、作业 1.以下是一个简单的比喻&#xff0c;将多态概念与生活中的实际情况相联系&#xff1a; 比喻&#xff1a;动物园的讲解员和动物表演 想象一下你去了一家动物园&#xff0c;看到了许多不同种类的动物&#xff0c;如狮子、大象、猴…...

阿里云香港服务器cn2速度测试和租用价格表

阿里云香港服务器中国香港数据中心网络线路类型BGP多线精品&#xff0c;中国电信CN2高速网络高质量、大规格BGP带宽&#xff0c;运营商精品公网直连中国内地&#xff0c;时延更低&#xff0c;优化海外回中国内地流量的公网线路&#xff0c;可以提高国际业务访问质量。阿里云服务…...

《学成在线》微服务实战项目实操笔记系列(P92~P120)【下】

史上最详细《学成在线》项目实操笔记系列【下】&#xff0c;跟视频的每一P对应&#xff0c;全系列18万字&#xff0c;涵盖详细步骤与问题的解决方案。如果你操作到某一步卡壳&#xff0c;参考这篇&#xff0c;相信会带给你极大启发。 四、课程发布模块 4.1 (课程发布)模块需求…...

php数据类型以及运算符、判断条件

php数据类型以及运算符 1. php数据类型2. 使用举例3. 运算符4. 判断条件if else elseif 1. php数据类型 包括 String(字符串)、Integer(整型)、Float(浮点型)、Boolean(布尔型)、Array(数组)、Object(对象)、NULL(空值) 2. 使用举例 1.字符串 2.整型 3.浮点型 4.布尔型 5.数组…...

FanControl传感器无法检测?终极修复指南让风扇控制重回正轨

FanControl传感器无法检测&#xff1f;终极修复指南让风扇控制重回正轨 【免费下载链接】FanControl.Releases This is the release repository for Fan Control, a highly customizable fan controlling software for Windows. 项目地址: https://gitcode.com/GitHub_Trendi…...

强力解决腾讯游戏卡顿:sguard_limit资源限制器终极指南

强力解决腾讯游戏卡顿&#xff1a;sguard_limit资源限制器终极指南 【免费下载链接】sguard_limit 限制ACE-Guard Client EXE占用系统资源&#xff0c;支持各种腾讯游戏 项目地址: https://gitcode.com/gh_mirrors/sg/sguard_limit 玩腾讯游戏时突然卡顿&#xff0c;帧率…...

COLMAP实战:跳过特征提取,直接用已知位姿完成三角测量与稠密重建

COLMAP高效重建实战&#xff1a;基于已知位姿的三角测量与稠密重建加速方案 三维重建技术正在机器人导航、AR/VR内容生成等领域快速普及&#xff0c;但传统流程中特征提取与匹配环节往往消耗超过70%的计算时间。当相机位姿已通过SLAM或其他传感器获取时&#xff0c;如何跳过这些…...

ISTA 2A-2011 (2022) 全解析|≤68kg 包装件部分模拟运输测试指南

前言ISTA 2A-2011 (2022) 属于 ISTA 2 系列部分模拟性能测试&#xff0c;专门面向 **≤68kg&#xff08;150lb&#xff09;的单个小型运输包装件 **&#xff0c;是电商小件、3C 数码、小家电、仪器仪表最常用的入门级包装验证标准。它结合基础测试与仿真要素&#xff0c;快速验…...

5G 网络优化工程师是骗局吗?从业15年资深老工程师实话实说

01 5G 网优岗位&#xff0c;本身真实靠谱很多人一刷到 5G 网络优化工程师这个岗位&#xff0c;第一反应都是犹豫、怀疑&#xff1a;这到底是不是收割小白的骗局&#xff1f;我在通信行业深耕整整 15 年&#xff0c;也拿到过华为高级工程师认证&#xff0c;今天以业内老兵的身份…...

2026毕业论文自救指南|3个工具搞定初稿+降重+答辩PPT [特殊字符]

根据你的需求&#xff0c;我对比了目前市场上主流的毕业之家和PaperRed两款AI论文写作软件。 简单来说&#xff1a;毕业之家更像一位“全流程管家”&#xff0c;擅长从开题到答辩材料的完整生成与排版&#xff0c;尤其贴合国内高校的格式要求&#xff1b;而PaperRed则更像一位…...

嵌入式通信系统抗干扰设计:从硬件防护到协议容错的实战指南

1. 项目概述&#xff1a;当通信遇上“嘈杂”的现实世界干了十几年嵌入式&#xff0c;从工业控制到智能家居&#xff0c;从车载网络到物联网终端&#xff0c;我踩过最多的坑&#xff0c;往往不是算法有多复杂&#xff0c;代码有多难写&#xff0c;而是通信链路在各种现实环境下的…...

智能体进化蓝图:构建具备持续学习能力的AI系统架构设计

1. 项目概述&#xff1a;一个开源智能体进化蓝图最近在开源社区里&#xff0c;一个名为planck-lab/hermes-evolving-agents-public-blueprint的项目引起了我的注意。乍一看这个标题&#xff0c;包含了几个关键信息&#xff1a;planck-lab&#xff08;普朗克实验室&#xff0c;一…...

linux内核源码内存管理(7)

一、 引言&#xff1a;冲破冯诺依曼瓶颈的壁障在传统的单处理器&#xff08;UMA&#xff0c;Uniform Memory Access&#xff09;架构中&#xff0c;所有CPU核心通过同一条总线平等地访问所有内存。这种对称性带来了编程模型的简洁&#xff0c;但也埋下了致命的可扩展性陷阱&…...

命令行集成AI代码审查:基于Gemini的Git工作流自动化实践

1. 项目概述&#xff1a;当命令行遇上代码审查在开发者的日常工作中&#xff0c;代码审查是保证代码质量、促进知识共享的关键环节。然而&#xff0c;传统的代码审查流程往往伴随着频繁的上下文切换&#xff1a;你需要离开终端&#xff0c;打开浏览器&#xff0c;登录代码托管平…...