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由规则 变量函数组成
- 规则
- 目标:依赖
- <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中的函数(先调用后使用的原则)(没有申明) (Function) 函数名(有没有参数根据调用格式)(不能写任何内容) { 函数体 Return 返回值 } 函数名 ----》…...
什么是tomcat?tomcat是干什么用的?
前言 Tomcat是一个开源的、轻量级的应用服务器,是Apache软件基金会的一个项目。它实现了Java Servlet、JavaServer Pages(JSP)和Java Expression Language(EL)等Java技术,用于支持在Java平台上运行的动态W…...
中科院一区论文复现,改进蜣螂算法,Fuch映射+反向学习+自适应步长+随机差分变异,MATLAB代码...
本期文章复现一篇发表于2024年来自中科院一区TOP顶刊《Energy》的改进蜣螂算法。 论文引用如下: 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(事件总线)是一种用于在应用程序内部或跨应用程序组件之间进行事件通信的机制。 它允许不同的组件通过发布和订阅事件来进行解耦和通信。在给定的代码片段中,我们可以看到一个使用C#实现的Event Bus。它定义了一些接口和类来实现事件…...
Python学习路线图
防止忘记,温故知新 进阶路线...
作业2.14
chgrp: 只能修改文件的所属组 chgrp 新的组 文件名 要求:修改的目标组已经存在 chown: chown 新的用户名 文件名 sudo chown root :1 将文件1的所属组用户和所属组用户都改为root sudo chown root:ubuntu 1 将文件1的所属用户…...
基于python+django+mysql的小区物业管理系统
该系统是基于pythondjango开发的小区物业管理系统。适用场景:大学生、课程作业、毕业设计。学习过程中,如遇问题可以在github给作者留言。主要功能有:业主管理、报修管理、停车管理、资产管理、小区管理、用户管理、日志管理、系统信息。 演示…...
控制与状态机算法
控制与状态机算法是计算机科学、电子工程和自动化领域中常用的一种设计工具,它用来描述一个系统的行为,该系统在不同时间点可以处于不同的状态,并且其行为取决于当前状态以及输入的信号或事件。状态机算法的核心概念包括: 状态(State):系统的任何可能配置。每个状态代表…...
sql常用语句小结
创建表: create table 表名( 字段1 字段类型 【约束】【comment 字段1注释】, //【】里面的东西可以不用加上去 字段2 字段类型 【约束】【comment 字段2注释】 )【comment 表注释】 约束:作用于表中字段上的规则…...
云计算基础-虚拟机迁移原理
什么是虚拟机迁移 虚拟机迁移是指将正在运行的虚拟机实例从一个物理服务器(或主机)迁移到另一个物理服务器(或主机)的过程,而不会中断虚拟机的运行。 虚拟机拟机迁移分类虚 热迁移:开机状态下迁移 冷迁…...
云计算基础-云计算概念
云计算定义 云计算是一种基于互联网的计算方式,通过这种计算方式,共享的软硬件资源和信息可以按需提供给计算机和其他设备。云计算依赖资源共享以达成规模经济,类似基础设置(如电力网)。 云计算最基本的概念就是云加端,我们有一个…...
如何将阿里云服务器迁移
📑前言 本文主要是如何将阿里云服务器迁移实现数据转移的文章,如果有什么需要改进的地方还请大佬指出⛺️** 🎬作者简介:大家好,我是青衿🥇 ☁️博客首页:CSDN主页放风讲故事 🌄每日…...
如何将本地的python项目部署到linux服务器中
大家好,我是雄雄,欢迎关注微信公众号:雄雄的小课堂 。 前言 本地写好的python项目,如何部署在服务器上运行呢?今天,我们就来抽一点点时间来看看。(网上找的资料,大部分都囫囵吞枣的…...
每日五道java面试题之java基础篇(五)
目录: 第一题. final、finally、finalize 的区别?第二题. 和 equals 的区别?第三题.hashCode 与 equals?第四题. Java 是值传递,还是引⽤传递?第五题 深拷贝和浅拷贝? 第一题. final、finally、finalize 的…...
HiveSQL——用户行为路径分析
注:参考文档: SQL之用户行为路径分析--HQL面试题46【拼多多面试题】_路径分析 sql-CSDN博客文章浏览阅读2k次,点赞6次,收藏19次。目录0 问题描述1 数据分析2 小结0 问题描述已知用户行为表 tracking_log, 大概字段有&…...
专利的申请
申请发明或者实用新型专利的,应当提交请求书、说明书及其摘要和权利要求书等文件。 请求书应当写明发明或者实用新型的名称,发明人或者设计人的姓名,申请人姓名或者名称、地址,以及其他事项。 说明书应当对发明或者实用新型作出清…...
嵌入式学习 C++ Day5、6
嵌入式学习 C Day5、6 一、思维导图 二、作业 1.以下是一个简单的比喻,将多态概念与生活中的实际情况相联系: 比喻:动物园的讲解员和动物表演 想象一下你去了一家动物园,看到了许多不同种类的动物,如狮子、大象、猴…...
阿里云香港服务器cn2速度测试和租用价格表
阿里云香港服务器中国香港数据中心网络线路类型BGP多线精品,中国电信CN2高速网络高质量、大规格BGP带宽,运营商精品公网直连中国内地,时延更低,优化海外回中国内地流量的公网线路,可以提高国际业务访问质量。阿里云服务…...
《学成在线》微服务实战项目实操笔记系列(P92~P120)【下】
史上最详细《学成在线》项目实操笔记系列【下】,跟视频的每一P对应,全系列18万字,涵盖详细步骤与问题的解决方案。如果你操作到某一步卡壳,参考这篇,相信会带给你极大启发。 四、课程发布模块 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.数组…...
基于FDM - EDFM的油气藏地层压力场计算:MATLAB实战
基于有限差分-嵌入式离散裂缝网络(FDM-EDFM)的油气藏地层压力场计算,通过matlab代码实现,可提供理论指导和相关问题,可计算不同裂缝网络的压力分布。在油气藏工程领域,准确计算地层压力场对于理解油藏动态、…...
G5080 G6080 G7080 G1810 G2810 ,MG3680,ts3380最新清零软件5B00,5B01,5B02,1700,1701,1702,1704,P07,E08废墨收集器已满
下载地址:链接:https://pan.baidu.com/s/1j7Nwv715wX1JL3qidnGyXA?pwd0000 提取码:0000 常见 佳能打印机 型号: G5080 G6080 G7080 G1810 G2810 G3810 G4810 G1800 G2800 G3800 G4800 G5010 G6010 G7010 G1010 G2010 G3010 G4010 G1000 G2000 G3000 G40…...
STS4x温度传感器I²C驱动库深度解析与跨平台移植
1. STS4x温湿度传感器驱动库技术解析1.1 项目定位与工程价值Sensirion STS4x系列是瑞士Sensirion公司推出的高精度数字温度传感器,采用CMOSens技术,具备0.1C典型精度、0.01C分辨率、低功耗(典型待机电流仅0.5μA)及快速响应&#…...
C++ 内联函数的性能影响
C内联函数的性能影响探析 在追求高效代码的C开发中,内联函数因其消除函数调用开销的特性而备受关注。通过将函数体直接嵌入调用点,内联函数能显著提升程序性能,尤其在频繁调用的场景下。过度或不恰当的内联也可能导致代码膨胀或缓存命中率下…...
OpenClaw智能截图:nanobot自动识别图片中的文字信息
OpenClaw智能截图:nanobot自动识别图片中的文字信息 1. 为什么需要智能截图工具 在日常工作和学习中,我们经常遇到需要从图片中提取文字的场景。比如截取网页上的技术文档片段、保存会议白板上的讨论要点、或者整理纸质书籍中的关键段落。传统做法是手…...
这份榜单够用!盘点2026年用户挚爱的一键生成论文工具
一天写完毕业论文在2026年已不再是天方夜谭。以下是2026年最炸裂、实测能大幅提速的一键生成论文工具,覆盖选题构思、文献综述、数据整理、格式排版等核心场景,高效搞定论文不再只是梦想。 一、全流程王者:一站式搞定论文全链路(一…...
TVM终极模型剪枝指南:如何快速实现结构化与非结构化剪枝
TVM终极模型剪枝指南:如何快速实现结构化与非结构化剪枝 想要让深度学习模型跑得更快、占用更少内存?TVM的模型剪枝功能就是你的最佳选择!🚀 本文为你带来TVM剪枝的完整指南,从基础概念到实际应用,让你快速…...
LuckyGo:基于go-zero的微服务抽奖系统实践
一、项目背景 在互联网营销活动中,抽奖系统是吸引用户、提升活跃度的重要工具。然而,一个高可用的抽奖系统面临着诸多挑战:高并发下的库存扣减、奖品发放的准确性、防刷机制的实现、以及复杂的业务规则配置等。 LuckyGo 是我基于 go-zero 框架开发的一个微服务抽奖系统,旨…...
逆向分析WhatsApp的GIF功能:用Frida抓取Tenor API的完整请求与响应数据
逆向工程实战:用Frida解密WhatsApp的GIF数据流 当你在WhatsApp中发送一个GIF表情时,是否好奇过这个动态图片是如何从服务器传输到你的手机上的?今天我们将深入WhatsApp客户端内部,通过动态插桩工具Frida来捕获和分析其背后的Tenor…...
基于Arduino与Mixly的心知天气实时监测系统开发指南
1. 项目概述与准备 最近在工作室捣鼓了一个特别实用的小项目——用Arduino和Mixly搭建的天气监测系统。这个系统能实时获取温度、湿度、空气质量等数据,特别适合放在阳台或者窗台。我最初做这个是因为家里老人总抱怨手机天气App看不懂,现在有了这个实体设…...
