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

10.25学习

1.程序链接库

程序链接库(Library),通常简称为库,是程序设计中一种常用的代码组织方式。它包含了一组预先编写好的代码,这些代码可以被多个不同的程序调用,以实现特定的功能。使用链接库的主要目的包括:

①代码复用:开发者可以重用已有的代码,而不需要每次都重新编写相同的功能。

②模块化:将程序分解成多个模块或库,有助于提高代码的可维护性和可读性。

③简化开发:开发者可以专注于程序的特定部分,而不必从头开始实现所有功能。

④性能优化:库通常经过优化,可以提供比手写代码更高效的性能。

⑤跨平台兼容性:库可以帮助程序在不同的操作系统和硬件平台上运行。

链接库可以是静态的(Static Library)或动态的(Dynamic Library):

静态链接库:在程序编译时被整合到最终的可执行文件中。这意味着库的代码成为了程序的一部分,因此程序的体积会增大,但运行时不需要额外的库文件。

动态链接库(DLL在Windows上,.so在Linux上,.dylib在macOS上):在程序运行时才被加载。这意味着多个程序可以共享同一份库文件,节省存储空间,并且库的更新不需要重新编译程序。

链接库在软件开发中扮演着重要的角色,它们是现代软件开发的基础之一。

 

2.system函数

在编程中,"system" 函数是一个调用操作系统功能的函数,它通常存在于多种编程语言的标准库中。这个函数允许程序执行操作系统命令,就像用户在命令行界面(如终端、命令提示符)中输入命令一样。

功能

 system  函数的主要功能是执行一个由字符串指定的命令,并返回命令执行的结果。这个命令可以是任何在操作系统的命令行中可以执行的命令,比如列出目录内容、运行程序、复制文件等。

使用示例

在不同的编程语言中, system  函数的使用方式略有不同,但基本思想是相似的。以下是一些示例:

C语言

Python

注意事项

虽然  system  函数提供了方便的操作系统命令调用方式,但在使用时需要注意以下几点:

①安全性:使用  system  函数执行用户输入的命令时,可能会受到注入攻击,因为用户可能会输入恶意命令。

②跨平台兼容性:不同操作系统的命令可能不同,使用  system  函数时需要考虑程序的跨平台兼容性。

③性能:频繁使用  system  函数可能会影响程序的性能,因为它涉及到进程的创建和销毁。

④错误处理: system  函数返回的是命令执行的退出状态,而不是命令的输出,这可能使得错误处理变得复杂。

因此,虽然  system  函数在某些情况下非常有用,但在实际开发中,开发者可能会选择更安全、更可控的方法来执行系统命令,比如使用专门的库或API。

 

3.CPU

CPU,全称为中央处理器(Central Processing Unit),是计算机硬件的核心部件之一,负责执行程序中的指令和处理数据。它相当于计算机的“大脑”,是计算机系统中最重要的组成部分之一。

 

CPU的主要功能包括:

①指令执行:CPU从存储器中取出指令,解释指令,并执行指令所要求的操作。

②数据处理:CPU处理各种数据,如算术运算、逻辑运算、数据传输等。

③控制:CPU控制计算机的其他硬件设备,如内存、硬盘、输入输出设备等。

④协调:CPU协调计算机系统中各个部件的工作,确保数据在各个部件之间正确流动。

 

CPU的基本组成部分:

①算术逻辑单元(ALU):负责执行所有的算术和逻辑运算。

②控制单元(CU):负责解释指令并生成控制信号,以控制其他部件的操作。

③寄存器组:包括各种寄存器,用于存储指令、数据和地址等信息。

④缓存:高速存储区,用于临时存储CPU经常访问的数据和指令,以减少对主内存的访问次数。

⑤输入/输出接口:用于CPU与计算机其他部件(如内存、硬盘、输入输出设备)之间的数据交换。

 

CPU的性能指标:

①时钟频率:CPU的时钟频率,通常以GHz(吉赫兹)为单位,表示CPU每秒钟可以执行的时钟周期数。

②核心数:CPU中独立的处理单元的数量,多核心CPU可以同时处理多个任务。

③缓存大小:CPU内部缓存的大小,对CPU的性能有重要影响。

④指令集:CPU支持的指令类型,不同的指令集可以提供不同的功能和性能。

随着技术的发展,CPU的设计和制造技术不断进步,性能也在不断提高,以满足日益增长的计算需求。

 

4.程序编译和执行过程

程序的编译和执行是一个复杂的过程,涉及到多个步骤。以下是程序从源代码到最终执行的一般流程:

①编写源代码:

程序员使用编程语言(如C、C++、Java等)编写源代码。

②预处理(Preprocessing):

预处理器处理源代码文件中的预处理指令,如宏定义的展开( #define )、条件编译指令( #ifdef 、 #ifndef 、 #endif )和包含头文件( #include )等。

③编译(Compilation):

编译器将预处理后的源代码转换成汇编语言。这一步通常包括词法分析、语法分析、语义分析和代码生成等阶段。

④汇编(Assembly):

汇编器将汇编语言转换成机器码,生成目标文件(通常是 .o 或 .obj 文件)。这一步涉及到将汇编指令转换成CPU可以理解的二进制指令。

⑤链接(Linking):

链接器将一个或多个目标文件与库文件和其它资源链接在一起,生成可执行文件(在Windows上通常是 .exe 文件,在Unix-like系统上通常是没有扩展名的文件)。这一步确保所有函数和变量的引用都被正确解析。

⑥加载(Loading):

加载器(Loader)将可执行文件加载到内存中。这一步通常在程序执行时由操作系统完成。

⑦执行:

CPU开始执行加载到内存中的程序。程序执行过程中,操作系统负责管理CPU时间、内存和其他系统资源。

⑧运行时库支持:

程序执行时,可能需要运行时库(Runtime Library)提供的支持,如内存分配、输入输出操作等。

⑨程序结束:

程序执行完毕后,操作系统负责清理程序使用的资源,如关闭文件、释放内存等。

在某些编程语言中,如Java或Python,编译和执行的过程可能稍有不同。例如:

Java:

Java源代码被编译成字节码( .class 文件),然后由Java虚拟机(JVM)解释执行或即时编译(JIT)成机器码执行。

Python:

Python源代码通常在运行时被解释执行,尽管有些Python实现(如PyPy)使用了JIT编译技术来提高性能。

此外,现代编程语言和开发环境可能提供了更多高级特性,如自动内存管理、垃圾回收、异常处理等,这些都在程序执行过程中发挥作用。

相关文章:

10.25学习

1.程序链接库 程序链接库(Library),通常简称为库,是程序设计中一种常用的代码组织方式。它包含了一组预先编写好的代码,这些代码可以被多个不同的程序调用,以实现特定的功能。使用链接库的主要目的包括&am…...

用xshell给服务器上传jar包

首先,用xshell登录并进入到你的jar包目录下 然后使用 sudo rz -be命令,就可以选择本地文件了,选择jar包上传 一般如果提示传输失败,大概率是你的文件夹下有这个jar包了,名字相同冲突了, 那么你需要用这个…...

从零搭建开源陪诊系统:关键技术栈与架构设计

构建一个开源陪诊系统是一个涉及多种技术的复杂工程。为了让这个系统具备高效、可靠和可扩展的特点,我们需要从架构设计、技术栈选择到代码实现等方面进行全面的考量。本文将从零开始,详细介绍搭建开源陪诊系统的关键技术栈和架构设计,并提供…...

java List<Map<String, Object>> 转 List<JSONObject> 的几种方式

目录 方法一&#xff1a;使用传统循环 方法二&#xff1a;使用 Java 8 的流&#xff08;Stream&#xff09;API 方法三&#xff1a;使用 Guava 库 总结 将 List<Map<String, Object>> 转换为 List<JSONObject> 有多种方法。以下是几种常见的方法&#xf…...

使用Python来下一场深夜雪

效果图&#xff1a;&#xff08;真实情况是动态的&#xff09; 完整代码&#xff1a; import turtle import random# 初始化画布 turtle.bgcolor("#001f3f") # 偏深蓝色的背景 turtle.title("下雪的画面") turtle.speed(0) turtle.hideturtle() turtle.t…...

uniapp使用easyinput文本框显示输入的字数和限制的字数

uniapp使用easyinput文本框显示输入的字数和限制的字数 先上效果图&#xff1a; 整体代码如下&#xff1a; <template><view class"nameInfoContent"><uni-easyinput class"uni-mt-5" suffixIcon"checkmarkempty" v-model&quo…...

蓝牙技术的多种模式详解

蓝牙作为一种广泛应用的无线通信技术&#xff0c;已经在我们的日常生活中无处不在。随着技术的发展&#xff0c;蓝牙已经不再仅限于传统的音频传输&#xff0c;而是扩展到了各种应用领域。本文将深入探讨蓝牙的各种模式及其应用场景。 1. 经典蓝牙&#xff08;BR/EDR&#xff…...

攻防世界-流量分析WP

流量分析1来自 <攻防世界> 题目描述:流量分析&#xff0c;你知道这堆流量做了什么事情吗&#xff0c;你能恢复出来flag吗&#xff1f; 1&#xff0c;首先查看IPv4统计信息 如果该流量记录的是黑客的攻击行为产生的流量&#xff0c;那么出现频率最高的流量应该来自攻击者…...

打印爱心型

#include<stdio.h> int main() { printf("\n\n\n"); //输出梯形 // printf("\033{31m"); int t0,i0,j0; for (i 0; i <3; i)//输出行数 { for (t 1; t<5-i*2;t)//输出空格 printf(" "); …...

WASM 使用说明23事(RUST实现)

文章目录 1. wasm是什么1.1 chatgpt定义如下:1.2 wasm关键特性&#xff1a; 2. wasm demo2.1 cargo 创建项目2.2 编写code2.3 安装wasm-pack2.4 编译 3.1 html页面引用wasm代码&#xff08;js引用&#xff09;3.2 访问页面4 导入js function4.1 编写lib.rs文件&#xff0c;内容…...

Visual studio 下载安装

1&#xff0c;Visual stutdio 网址 下载 Visual Studio Tools - 免费安装 Windows、Mac、Linux 2&#xff0c;下划页面&#xff0c;点击 较早的下载 3&#xff0c;选择对应的版本进行下载...

jEasyUI 创建自定义视图

jEasyUI 创建自定义视图 jEasyUI&#xff08;jQuery EasyUI&#xff09;是一个基于jQuery的用户界面插件集合&#xff0c;它为用户提供了一系列的UI组件&#xff0c;如菜单、窗口、表格等&#xff0c;使得Web界面的开发变得更加简单快捷。在本文中&#xff0c;我们将探讨如何使…...

SpringMVC6-SpringMVC的视图

目录 ThymeleafView 转发视图 重定向视图 视图控制器view-controller SpringMVC中的视图是View接口&#xff0c;视图的作用&#xff1a;渲染数据&#xff0c;将模型Model中的数据展示给用户 SpringMVC视图的种类很多&#xff0c;默认有转发视图InternalResourceView 和重定…...

echarts给Y轴的不同轴线设置不同的颜色的样式

官方文档 option {xAxis: {type: category,data: [Mon, Tue, Wed, Thu, Fri, Sat, Sun]},yAxis: {type: value},series: [{data: [150, 230, 224, 218, 135, 147, 260],type: line,}] }; 效果&#xff1a; 需要添加参数markLine option {xAxis: {type: category,data: [M…...

从0到1构建 UniApp + Vue3 + TypeScript 移动端跨平台开源脚手架

&#x1f680; 作者主页&#xff1a; 有来技术 &#x1f525; 开源项目&#xff1a; youlai-mall &#x1f343; vue3-element-admin &#x1f343; youlai-boot &#x1f343; vue-uniapp-template &#x1f33a; 仓库主页&#xff1a; GitCode&#x1f4ab; Gitee &#x1f…...

论文笔记:LaDe: The First Comprehensive Last-mile Delivery Dataset from Industry

2023 KDD 1 intro 1.1 背景 随着城市化进程的加快和电子商务的发展&#xff0c;最后一公里配送已成为一个关键的研究领域 最后一公里配送&#xff0c;如图1所示&#xff0c;是指连接配送中心和客户的包裹运输过程&#xff0c;包括包裹的取件和配送除了对客户满意度至关重要外…...

无用的知识又增加了-静态二值贝叶斯滤波

静态二值贝叶斯滤波 静态二值贝叶斯滤波&#xff08;Static Binary Bayes Filter&#xff09;是一种用于处理二值状态&#xff08;例如&#xff0c;目标存在或不存在&#xff09;的简单贝叶斯滤波器。这种滤波器通常应用于目标检测、传感器融合等场景&#xff0c;其中状态空间…...

cesium相机(camera)控制

camera基础属性&#xff1a; Cesium 中的相机通过 viewer.camera 来获取和操作。 position:相机的位置,用 Cartesian3 坐标表示&#xff0c;表示的是相机在世界坐标系中的绝对位置。 viewer.camera.position Cesium.Cartesian3.fromDegrees(longitude, latitude, height);dir…...

Java 反射

一、基本概念 Java反射机制是Java语言的一种动态特性&#xff0c;允许程序在运行时检查和操作类、接口、字段和方法。反射机制使得Java程序可以在运行时获取关于类的详细信息&#xff0c;并且可以动态地调用类的方法、访问类的字段等。反射机制主要涉及以下几个核心类和接口&a…...

【目标检测01】真实框、预测框、锚框和交并比IoU

文章目录 1. 任务定义2. 基本概念2.1 边界框&#xff08;bounding box&#xff09;2.2 真实框、预测框和锚框2.3 交并比 (IoU)2.4 代码实现 1. 任务定义 目标检测的主要目的是让计算机可以自动识别图片或者视频帧中所有目标的类别&#xff0c;并在该目标周围绘制边界框&#x…...

React hook之useRef

React useRef 详解 useRef 是 React 提供的一个 Hook&#xff0c;用于在函数组件中创建可变的引用对象。它在 React 开发中有多种重要用途&#xff0c;下面我将全面详细地介绍它的特性和用法。 基本概念 1. 创建 ref const refContainer useRef(initialValue);initialValu…...

解锁数据库简洁之道:FastAPI与SQLModel实战指南

在构建现代Web应用程序时&#xff0c;与数据库的交互无疑是核心环节。虽然传统的数据库操作方式&#xff08;如直接编写SQL语句与psycopg2交互&#xff09;赋予了我们精细的控制权&#xff0c;但在面对日益复杂的业务逻辑和快速迭代的需求时&#xff0c;这种方式的开发效率和可…...

高危文件识别的常用算法:原理、应用与企业场景

高危文件识别的常用算法&#xff1a;原理、应用与企业场景 高危文件识别旨在检测可能导致安全威胁的文件&#xff0c;如包含恶意代码、敏感数据或欺诈内容的文档&#xff0c;在企业协同办公环境中&#xff08;如Teams、Google Workspace&#xff09;尤为重要。结合大模型技术&…...

Android 之 kotlin 语言学习笔记三(Kotlin-Java 互操作)

参考官方文档&#xff1a;https://developer.android.google.cn/kotlin/interop?hlzh-cn 一、Java&#xff08;供 Kotlin 使用&#xff09; 1、不得使用硬关键字 不要使用 Kotlin 的任何硬关键字作为方法的名称 或字段。允许使用 Kotlin 的软关键字、修饰符关键字和特殊标识…...

Mac下Android Studio扫描根目录卡死问题记录

环境信息 操作系统: macOS 15.5 (Apple M2芯片)Android Studio版本: Meerkat Feature Drop | 2024.3.2 Patch 1 (Build #AI-243.26053.27.2432.13536105, 2025年5月22日构建) 问题现象 在项目开发过程中&#xff0c;提示一个依赖外部头文件的cpp源文件需要同步&#xff0c;点…...

大语言模型(LLM)中的KV缓存压缩与动态稀疏注意力机制设计

随着大语言模型&#xff08;LLM&#xff09;参数规模的增长&#xff0c;推理阶段的内存占用和计算复杂度成为核心挑战。传统注意力机制的计算复杂度随序列长度呈二次方增长&#xff0c;而KV缓存的内存消耗可能高达数十GB&#xff08;例如Llama2-7B处理100K token时需50GB内存&a…...

Aspose.PDF 限制绕过方案:Java 字节码技术实战分享(仅供学习)

Aspose.PDF 限制绕过方案&#xff1a;Java 字节码技术实战分享&#xff08;仅供学习&#xff09; 一、Aspose.PDF 简介二、说明&#xff08;⚠️仅供学习与研究使用&#xff09;三、技术流程总览四、准备工作1. 下载 Jar 包2. Maven 项目依赖配置 五、字节码修改实现代码&#…...

安宝特案例丨Vuzix AR智能眼镜集成专业软件,助力卢森堡医院药房转型,赢得辉瑞创新奖

在Vuzix M400 AR智能眼镜的助力下&#xff0c;卢森堡罗伯特舒曼医院&#xff08;the Robert Schuman Hospitals, HRS&#xff09;凭借在无菌制剂生产流程中引入增强现实技术&#xff08;AR&#xff09;创新项目&#xff0c;荣获了2024年6月7日由卢森堡医院药剂师协会&#xff0…...

免费PDF转图片工具

免费PDF转图片工具 一款简单易用的PDF转图片工具&#xff0c;可以将PDF文件快速转换为高质量PNG图片。无需安装复杂的软件&#xff0c;也不需要在线上传文件&#xff0c;保护您的隐私。 工具截图 主要特点 &#x1f680; 快速转换&#xff1a;本地转换&#xff0c;无需等待上…...

CRMEB 中 PHP 短信扩展开发:涵盖一号通、阿里云、腾讯云、创蓝

目前已有一号通短信、阿里云短信、腾讯云短信扩展 扩展入口文件 文件目录 crmeb\services\sms\Sms.php 默认驱动类型为&#xff1a;一号通 namespace crmeb\services\sms;use crmeb\basic\BaseManager; use crmeb\services\AccessTokenServeService; use crmeb\services\sms\…...