计算机专业课面试常见问题-编程语言篇

目录

1. 程序的编译执行流程?                                                        

2. C++浅拷贝和深拷贝的区别?                                                 

3. C++虚函数?                                                                     

4. 指针和引用的区别?                                                           

5. C++中内存分配情况?                                                         

6. 面向对象与面向过程

7. 堆和栈的区别?                                                                

8. 面向对象的三大特性?                                                        

9.你是如何理解C++同时具有面向对象和面向过程语言的特性的?

10. 重载与覆盖的区别?                                                         

11. 内存抖动是什么?                                                            

12.最熟悉的编程语言是什么?并问了一些该语言的语法问题            

1.c++中类初始化的顺序是什么?                                                                                                      

2.c++的重载需要注意什么问题?                                                                                                      

3.c++的多态是什么                                                                                                                          

4.malloc和new的区别是什么?                                                                                                   

5.c++内存泄漏                                                                                                                                 

13.C与C++的区别?                                                                  

14.c与python的区别?                                                            

15.c++与python的区别?                                                          


1. 程序的编译执行流程?                                                        

  1. 编译:对源程序进行语法检查,在检查无误后,把代码翻译为二进制目标代码。
  2. 链接:将源程序与其它库函数及相关程序链接起来,生成可执行文件。
  3. 执行:执行生成的可执行文件。

2. C++浅拷贝和深拷贝的区别?                                                 

简单理解

假如B复制A,如果改变A,则B也被改变,就是浅拷贝。

假如B复制A,A改变,则B不变,就是深拷贝。

详细解释

对于浅拷贝来说,只是增加了一个指针指向已经存在的内存。当浅拷贝复制引用属性时,仅仅复制指针值,没有复制指向的对象。

对于深拷贝来说,它复制了该属性指向的对象,也就是在增加了一个指针的同时并且申请了一块新的内存,使这个增加的指针指向这片新的内存。

3. C++虚函数?                                                                     

虚函数是被 virtual 关键字修饰的成员函数。虚函数的作用,就是实现多态。通俗的讲,就是以共同的方法,但因个体差异,而采用不同的策略。

在基类的函数前加上 virtual 关键字,在派生类中重写该函数,运行时将会根据对象的实际类型来调用相应的函数,如果对象类型是派生类,就调用派生类的函数,如果对象类型是基类,就调用基类的函数。

 比如说有个动物数组,里面有很多种动物(猫、狗、鸟)。现在动物类有一个发出叫声的函数,而不同动物的叫声是不一样的,那我们每个动物就可以去重写这个发出叫声的函数。那咱们在遍历这个数组的时候,就统一调用这个发出叫声的函数,而不需要去管它到底是哪种动物。

把子类对象用父类类型来声明,在子类里面重写父类里的函数,调用方法的时候执行的是子类里面的函数。

4. 指针和引用的区别?                                                           

指针和引用都是一种内存地址的概念,区别呢,指针是一个实体,引用只是一个别名。

指针它指向一块内存,指针的内容是所指向的内存的地址。所以说,指针包含的内容是可以改变的,允许拷贝和赋值,有 const 和非 const 区别,甚至可以为空,sizeof 能够获得指针类型的大小。

引用它只是一块内存的别名,所以引用必须而且只能在定义时被绑定到一块内存上,后续不能更改,也不能为空,也没有 const 和非 const 区别。

5. C++中内存分配情况?                                                         

栈:由编译器管理分配和回收,存放局部变量和函数参数。

堆:由程序员管理,需要手动 new malloc delete free 进行分配和回收,空间较大,但可能会出现内存泄漏和空闲碎片的情况。

全局/静态存储区:分为初始化和未初始化两个相邻区域,存储初始化和未初始化的全局变量和静态变量。

常量存储区:存储常量,一般不允许修改。

代码区:存放程序的二进制代码。

6. 面向对象与面向过程

面向对象编程(Object-Oriented Programming, OOP)和面向过程编程(Procedural Programming)是两种不同的编程范式。

面向对象编程(OOP)

  1. 核心思想:将程序中的数据(对象)和操作数据的方法(函数)组合成为一个对象,通过对象之间的交互来完成任务。
  2. 特点:封装(Encapsulation)、继承(Inheritance)、多态(Polymorphism)是面向对象编程的三大特性。
  3. 重点:注重数据的封装性、代码的复用性和扩展性,更加灵活和易于维护。

面向过程编程

  1. 核心思想:将问题划分为一个个小的步骤,然后使用函数来一步步地解决问题。
  2. 特点:强调程序的执行顺序和流程,将问题按照执行顺序分解成一个个步骤,然后写出实现每个步骤的函数。
  3. 重点:适合解决简单的问题,代码的可复用性较低,随着程序规模的增大,容易导致代码的复杂性和维护难度增加。

比较

  • 抽象程度:面向对象更加抽象,通过对象的概念来组织和设计程序;面向过程更直接地按照步骤解决问题。
  • 复用性:面向对象因为可以通过继承和多态实现代码的复用,更加灵活;面向过程通常需要重复编写相似的功能代码。
  • 维护性:面向对象因为封装性好,可以降低代码的耦合度,提高代码的可维护性;面向过程因为较少的抽象层次,维护相对较困难。

选择面向对象还是面向过程取决于项目的需求和复杂度。大多数现代编程语言都支持面向对象编程,因为它更符合复杂软件系统的开发和维护要求。

7. 堆和栈的区别?                                                                

 栈

由编译器进行管理,在需要时由编译器自动分配空间,在不需要时候自动回收空间,一般保存的是局部变量和函数参数等。

 堆

由程序员管理,需要手动 new malloc delete free 进行分配和回收,如果不进行回收的话,会造成内存泄漏的问题。

8. 面向对象的三大特性?                                                        

  1. 封装就是把客观事物封装成抽象的类,并且类可以把自己的数据和方法只让信任的类或者对象操作,对不可信的进行信息隐藏。一个类就是一个封装了数据以及操作这些数据的代码的逻辑实体。在一个对象内部,某些代码或某些数据可以是私有的,不能被外界访问。通过这种方式,对象对内部数据提供了不同级别的保护,以防止程序中无关的部分意外的改变或错误的使用了对象的私有部分。
  2. 继承

一个类继承了另一个类,就具有了该类所有非私有的属性和方法。就可以像调用自己的属性和方法一样去调用。被继承的类叫父类,继承父类的类叫子类。比喻:儿子可以去使用父亲的资源,然后儿子也可以拥有自己独立的发展。

3.多态

多态指的是一个对象可以体现出多种形态,比如猫类继承了动物类,那么猫可以体现出两种形态,一种是猫,一种是动物。具体到代码里面通常指的是把子类对象用父类类型来声明,在子类里面重写父类里的方法,调用方法的时候执行的是子类里面的方法。

9.你是如何理解C++同时具有面向对象和面向过程语言的特性的?

10. 重载与覆盖的区别?                                                         

  1. 覆盖是父类与子类之间的关系,是垂直关系;重载是同一类中方法之间的关系,是水平关系。
  2. 覆盖只能由一个方法或一对方法产生关系;重载是多个方法之间的关系。
  3. 覆盖要求参数列表相同;重载要求参数列表不同。
  4. 覆盖中,调用方法体是根据对象的类型来决定的,而重载是根据调用时实参表与形参表来对应选择方法体。
  5. 重载方法可以改变返回值的类型,覆盖方法不能改变返回值的类型。

11. 内存抖动是什么?                                                            

内存抖动概念:指在短时间内有大量的对象被创建或者被回收的现象。

内存抖动产生原因:主要是频繁在循环里创建对象(导致大量对象在短时间内被创建,由于新对象是要占用内存空间的而且是频繁,如果⼀次或者两次在循环⾥创建对象对内存影响不大,不会造成严重内存抖动,这样可以接受,频繁的话就很内存抖动很严重),内存抖动的影响是如果抖动很频繁,会导致垃圾回收机制频繁运行(短时间内产生大量对象,需要大量内存,而且还是频繁抖动,就可能会需要回收内存以用于产生对象,垃圾回收机制就自然会频繁运行了)。

 内存抖动影响:频繁内存抖动会导致垃圾回收频繁运行,造成系统卡顿。

 

12.最熟悉的编程语言是什么?并问了一些该语言的语法问题            

例如c++部分

1.c++中类初始化的顺序是什么?                                                                                                      

在C++中,类成员的初始化顺序是固定的,它们按照以下顺序进行初始化:

  1. 基类构造函数:如果你的类派生自其他类(有继承关系),则首先调用基类的构造函数。基类的构造函数按照继承层次从 基类开始逐级向下调用。
  2. 成员变量初始化:接下来,类的成员变量按照它们在类中声明的顺序进行初始化。初始化的顺序与它们在类成员初始化列表中的顺序无关,而是与它们在类中的声明顺序有关。
  3. 构造函数体: 后,构造函数体内的代码被执行。

 

2.c++的重载需要注意什么问题?                                                                                                      

 在C++中,函数重载是一种允许你在同一个作用域内定义多个具有相同名称但不同参数列表的函数的机制。重载函数通常用于提供不同的行为,根据不同的参数来选择正确的函数。但是,在使用函数重载时需要注意一些问题,以确保正确的行为和代码可读性:

  1. 参数类型和数量:函数重载的主要标志是函数的参数类型和数量。因此,确保重载的函数具有不同的参数类型或不同的参数数量是至关重要的。如果两个重载的函数具有相同的参数类型和数量,编译器将无法区分它们,这将导致编译错误。
  2. 函数返回类型不同不构成重载:C++不允许只根据函数的返回类型来进行重载。即使两个函数具有不同的返回类型,只要它们的参数类型和数量相同,它们仍然被认为是冲突的。
  3. 避免二义性:有时候,如果函数重载不当,可能会导致二义性,使编译器无法确定要调用哪个函数。这通常发生在参数类型之间存在模糊性的情况下。要避免这种情况,可以使用强制类型转换或者重新设计函数接口。
  4. 函数签名的唯一性:函数的签名由函数名、参数类型和参数数量组成。每个重载函数必须有唯一的函数签名,以便编译器能够区分它们。
  5. 维护可读性:虽然函数重载允许使用相同的函数名来表示不同的行为,但要确保代码的可读性。如果函数重载过多或参数过于复杂,代码可能变得难以理解。在这种情况下,考虑使用不同的函数名或拆分功能以提高代码的清晰度。
  6. 注意默认参数:默认参数可以与函数重载一起使用,但要注意默认参数可能会导致二义性。如果有多个重载函数,其中一个有默认参数,而另一个没有,编译器可能无法确定应该调用哪个函数。这种情况下需要小心设计。
  7. 注意引用和指针:函数重载中的引用和指针参数需要特别小心。重载函数之间可能会导致引用/指针的二义性,因此需要谨慎处理。

总之,函数重载是一种强大的特性,但要确保使用正确和合理,以避免编译错误、二义性和可维护性问题。 好的做法是保持函数接口的清晰和简单,使代码易于理解和维护。

 

3.c++的多态是什么                                                                                                                          

C++ 中的多态(Polymorphism)是一种重要的面向对象编程概念,它允许不同类型的对象对相同的函数进行调用,但在运行时会执行适当的函数,以实现不同的行为。多态有助于实现代码的灵活性、可扩展性和可维护性。

 

4.malloc和new的区别是什么?                                                                                                   

malloc 是C语言中的标准库函数,而 new 是C++的操作符。

malloc 返回一个void*指针,需要显式地进行类型转换,以便将其用于特定类型的对象。

new 返回一个指向分配类型对象的指针,并不需要显式的类型转换。

malloc 分配的内存需要使用 free 函数进行手动释放。

new 分配的内存需要使用 delete 操作符进行释放。

5.c++内存泄漏                                                                                                                                 

 C++中的内存泄漏是指程序在分配内存后,没有释放该内存,导致程序在运行过程中持续占用内存,终可能导致内存耗尽或程序性能下降。

我们需要确保在每个 new 或 malloc 后都有相应的 delete 或 free。要养成良好的习惯。

6.for循环如何加快                                                                                                                          

 可以增加适当的剪枝操作,将不必要的情况直接跳过。

7.解释一下join函数的意义,如何使用?                                                                                           

join 函数通常是指用于将字符串数组中的元素连接成一个字符串的操作。

 

13.C与C++的区别?                                                                  

C与C++是两种编程语言,它们有许多相似之处,但也有一些重要的区别。以下是它们之间的一些主要区别:

  1. 设计目标:

C语言是一种过程式编程语言,它的主要设计目标是提供高效的系统编程和硬件控制。

C++语言是一种多范式编程语言,它在C的基础上增加了面向对象编程(OOP)的功能,旨在提高代码的可重用性和可维护性。

  1. 编程风格:

C语言主要侧重于过程式编程,强调函数和模块化编程。

C++语言可以同时支持过程式编程和面向对象编程,允许程序员使用类和对象来组织和管理代码。

  1. 语法差异:

C++在C的基础上引入了一些新的关键字和语法,如类、继承、多态等,以支持面向对象编程。

C++也支持函数重载,允许多个函数具有相同的名称但不同的参数列表。

  1. 标准库:

C标准库提供了一组用于C编程的函数和头文件,如stdio.h和stdlib.h。

C++标准库不仅包括C标准库,还包括一组用于支持面向对象编程的类和模板库,如iostream 和vector。

  1. 内存管理:

在C语言中,内存管理主要由程序员手动完成,包括分配和释放内存。

在C++中,引入了自动内存管理的概念,通过使用构造函数和析构函数,可以更容易地管理对象的生命周期。

  1. 兼容性:

   C++是C的超集,这意味着C代码通常可以在C++中编译和运行,但反之则不一定成立。换句话说,C++代码不一定是有效的C代码。

  1. 应用领域:

C语言通常用于操作系统、嵌入式系统、驱动程序和其他需要高度性能和底层控制的应用程序。C++语言广泛用于开发桌面应用程序、游戏开发、图形界面应用程序、服务器端应用程序等,特别是那些需要面向对象编程的项目。

总的来说,C和C++之间的主要区别在于C++引入了面向对象编程的功能,提供了更高级别的抽象和更丰富的标准库,使其适用于更广泛的应用领域,而C语言更适合于系统级编程和嵌入式编程等需要更接近硬件的场景。选择使用哪种语言取决于项目的需求和编程风格。

14.c与python的区别?                                                            

C语言和Python语言是两种非常不同的编程语言,它们在许多方面有着显著的区别。以下是它们之间的一些主要区别:

  1. 编程范式:

C语言是一种过程式编程语言,它侧重于使用函数和模块来组织代码。

Python语言支持多种编程范式,包括过程式、面向对象和函数式编程。Python也是一种脚本语言,更注重代码的可读性和简洁性。

  1. 语法:

C语言的语法相对严格,需要显式的类型声明和分号来结束语句。

Python语言的语法非常简洁,使用缩进来表示代码块,不需要显式的类型声明,并且不使用分号。

  1. 内存管理:

在C语言中,程序员需要手动管理内存,包括分配和释放内存,这可能导致内存泄漏和段错误等问题。

Python语言使用自动内存管理,包括垃圾回收机制,程序员不需要手动管理内存。

  1. 性能:

C语言通常比Python更快,因为它更接近底层硬件,没有Python的解释器开销。

Python虽然速度较慢,但更容易编写和维护,适合许多应用程序,特别是那些不需要极高性能的领域。

  1. 库和生态系统:

C语言有大量的库和框架,尤其在系统编程和嵌入式领域有广泛应用。

Python拥有丰富的标准库和第三方库,涵盖了各种领域,包括Web开发、数据科学、机器学习等,这使得Python成为广泛使用的通用编程语言。

  1. 学习曲线:

C语言通常被认为是相对较难学习的语言,因为它需要更多的编程细节和底层知识。

Python语言的学习曲线较平缓,适合初学者入门,因为它更注重代码的可读性和易用性。

  1. 应用领域:

C语言通常用于开发操作系统、嵌入式系统、驱动程序和需要高性能的应用程序。

Python语言广泛用于Web开发、数据分析、科学计算、人工智能和机器学习等领域,因为它提供了丰富的库和框架以支持这些应用。

总的来说,C语言和Python语言在设计哲学、语法、性能和适用领域等方面存在显著差异。选择使用哪种语言应根据具体的项目需求和编程任务而定。

15.c++与python的区别?                                                          

C++和Python是两种非常不同的编程语言,它们在许多方面有着显著的区别。以下是它们之间的一些主要区别:

  1. 类型系统: C++是一种静态类型语言,意味着在编译时必须明确定义变量的类型,并且类型检查在编译时进行。

Python是一种动态类型语言,变量的类型在运行时确定,不需要显式声明类型。

  1. 语法

C++的语法相对复杂,需要更多的代码来完成相同的任务,包括类型声明、内存管理和错误处理等。

Python的语法非常简洁和易读,使用缩进来表示代码块,不需要分号,更容易学习和编写。

  1. 内存管理

在C++中,程序员需要手动管理内存,包括分配和释放内存,这可能导致内存泄漏和段错误等问题。

Python使用自动内存管理,包括垃圾回收机制,程序员不需要手动管理内存。

  1. 性能

C++通常比Python更快,因为它更接近底层硬件,没有Python的解释器开销,并且可以更好地优化性能。

Python速度较慢,因为它是解释性语言,但通常足够快,特别是对于许多应用程序来说性能已经足够。

  1. 库和生态系统

C++拥有丰富的库,但相对于Python来说,它的标准库较小,需要更多的编写自定义代码来完成任务。

Python有大量的标准库和第三方库,涵盖了各种领域,使得开发更快捷,特别适合快速原型设计和开发。

  1. 学习曲线

C++通常被认为是相对较难学习的语言,因为它需要掌握更多的编程细节和底层知识。

Python语言的学习曲线较平缓,适合初学者入门,因为它更注重代码的可读性和易用性。

  1. 应用领域

C++通常用于开发高性能的系统软件、游戏引擎、嵌入式系统和需要底层硬件控制的应用程序。

Python广泛用于Web开发、数据科学、机器学习、自动化脚本、科学计算和网络爬虫等领域,因为它提供了丰富的库和框架以支持这些应用。

总的来说,C++和Python在设计哲学、语法、性能和适用领域等方面存在显著差异。选择使用哪种语言应根据具体的项目需求、性能要求和编程风格来决定。有时候,两者也可以结合使用,例如,使用

C++编写性能关键部分的库,然后在Python中调用这些库以实现更高层次的应用程序。

END~

夏0营~ 

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

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

相关文章

教你点出现安装错误 - 0x80070643的修复方法

错误代码 0x80070643 通常与 Windows 更新失败有关,但也可能出现在安装其他 Microsoft 软件(例如 Microsoft Office 或 Microsoft .NET Framework)时。这个错误可能由多种原因造成,比如权限问题、系统文件损坏、以前安装的残留或防…

thinksboard新建table表格

html文件 <div fxFlex fxLayoutAlign"left top" style"display: block"> <!-- <mat-card appearance"raised" style"max-height: 80vh; overflow-y: auto;">--><div><button mat-raised-button (click)&…

6个操作简单又好用的实用办公工具

分享6个操作简单又好用的实用办公工具&#xff0c;手机和电脑上的都有&#xff0c;好好使用可以让工作效率翻倍&#xff01; 1.方方格子 一个大型的的【Excel工具箱】&#xff0c;支持32位和64位Office&#xff0c;可直接作为插件使用&#xff0c;功能覆盖非常全面&#xff0c…

Jmeter 入门指南:从零开始学习

JMeter 是一个非常流行的开源工具&#xff0c;用于进行负载测试。它支持多种网络协议&#xff0c;包括 HTTP、FTP、SMTP、JMS、SOAP、JDBC 等&#xff0c;使其成为在多种应用环境中检测性能瓶颈的理想选择。本文将详细介绍如何利用 JMeter 进行高效的接口自动化测试。 创建和执…

黄金小程序开发的市场分析

在当今数字化时代&#xff0c;互联网技术与传统行业的深度融合正催生出一系列新兴商业模式和市场机遇。黄金行业&#xff0c;作为传统贵金属市场的代表&#xff0c;也在这场变革中迎来了新的发展机遇。黄金小程序的开发&#xff0c;正是这一趋势下的重要产物&#xff0c;它不仅…

Wireshark抓包工具使用

Wireshark抓包工具使用 1. Wireshark工具下载2. Wireshark工具基本配置3. Wireshark过滤语法3.1. 根据源IP过滤3.2. 针对特定的域名进行包过滤3.3. 针对特定的图片格式进行包过滤3.4. 针对特定的Host字段进行过滤4. Wireshark抓包文件保存1. Wireshark工具下载 Windows系统下载…

echarts用pictorialBar实现3D柱状图

先看下效果 实现思路 描绘一个普通的柱状图通过象形柱图&#xff08;pictorialBar&#xff09;在柱状图的顶部添加一个图形类型&#xff08;symbol&#xff09;菱形 代码实现 <template><div id"symbolBar"></div> </template> <scrip…

chunk-vendors.js 优化

问题背景 在 App.vue 加入 web-vitals 性能监控指标并打印 import {onLCP, onINP, onCLS, onTTFB} from web-vitals/attribution;// Measure and log LCP as soon as its available. onLCP(console.log); onINP(console.log); onCLS(console.log); onTTFB(console.log);网页的…

Redis 7.x 系列【14】数据类型之流(Stream)

有道无术&#xff0c;术尚可求&#xff0c;有术无道&#xff0c;止于术。 本系列Redis 版本 7.2.5 源码地址&#xff1a;https://gitee.com/pearl-organization/study-redis-demo 文章目录 1. 概述2. 常用命令2.1 XADD2.2 XRANGE2.3 XREVRANGE2.4 XDEL2.5 XLEN2.6 XREAD2.7 XG…

【自用】CentOS7.6 安装 node-RED 4.0.2 教程(各种坑都摆脱的版本)

步骤总览 1.下载安装 nodejs 2.安装并配置 node-RED 3.重启服务器&#xff0c;验证 node-RED 是否安装 and 配置成功 一、下载安装 nodejs 1.下载 nodejs 18 为什么要下载 nodejs 18 呢&#xff1f; 因为 node-RED 4.0.1 支持的最低 nodejs 版本就是 nodejs 18。 当然了&a…

实在智能对话钉钉:宜搭+实在Agent,AI时代的工作方式

比起一个需求需要等产品、技术排期&#xff0c;越来越多的人开始追求把自己武装成「全能战士」&#xff0c;通过低代码工具一搭&#xff0c;一个高效的工作平台便产生了。 宜搭是钉钉自研的低代码应用构建平台&#xff0c;无论是专业开发者还是没有代码基础的业务人员&#xf…

不知几DAY的Symfony---RCE复现

感谢红队大佬老流氓的供稿&#xff0c;此篇文章是针对Symfony框架的一个RCE漏洞复现 ​框架简介 Symfony是一个开源的PHP Web框架&#xff0c;它现在是许多知名 CMS 的核心组件&#xff0c;例如Drupal、Joomla!、eZPlatform&#xff08;以前称为 eZPublish&#xff09;或Bolt。…

和鲸“101”计划领航!和鲸科技携手北中医,共话医学+AI 实验室建设及创新人才培养

为进一步加强医学院校大数据管理与应用、信息管理与信息系统&#xff0c;医学信息工程等专业建设&#xff0c;交流实验室建设、专业发展与人才培养经验&#xff0c;6 月 22 日&#xff0c;由北京中医药大学&#xff08;简称“北中医”&#xff09;主办&#xff0c;上海和今信息…

短剧系统开发:如何让你的创意变成现实

短剧系统开发是一个将创意转化为现实的过程&#xff0c;它涉及多个方面&#xff0c;包括需求分析、系统设计、开发环境搭建、前后端开发、测试与发布等。 1. 需求分析 &#xff08;1&#xff09;明确目标&#xff1a;首先&#xff0c;明确短剧系统的目标和定位&#xff0c;包括…

APP逆向 day9 安卓开发基础1

一.前言 app逆向当然要学安卓基础啦&#xff01;今天我们来教安卓基础当然&#xff0c;安卓基础不会教的很多&#xff0c;比java还要少&#xff0c;还是那句话&#xff0c;了解就好。 二.安卓环境搭建 2.1 安卓介绍 如果做安卓开发 需要会java代码安卓SDK(安卓提供的内置…

Hack The Box-Blazorized

总体思路 Blazor JWT->SPN劫持->登录脚本劫持->DCSync 信息收集&端口利用 nmap -sSVC blazorized.htbStarting Nmap 7.94SVN ( https://nmap.org ) at 2024-07-01 02:37 EDT Nmap scan report for blazorized.htb (10.10.11.22) Host is up (0.30s latency). N…

编译调试swift5.7源码

环境&#xff1a; 电脑&#xff1a;apple m1 pro系统&#xff1a;macOS13Xcode: 14.2Cmake: 3.25.1Ninja: 1.11.1sccache: 0.3.3python: 3.10 (如果你的mac不是这个版本&#xff0c;可以通过 brew install python3.10下载&#xff0c;然后看这篇文章切换到该python版本)swift代…

RK3568驱动指南|第十五篇 I2C-第176章 通过逻辑分析仪认识I2C波形

瑞芯微RK3568芯片是一款定位中高端的通用型SOC&#xff0c;采用22nm制程工艺&#xff0c;搭载一颗四核Cortex-A55处理器和Mali G52 2EE 图形处理器。RK3568 支持4K 解码和 1080P 编码&#xff0c;支持SATA/PCIE/USB3.0 外围接口。RK3568内置独立NPU&#xff0c;可用于轻量级人工…

甄选版“论软件系统架构评估”,软考高级论文,系统架构设计师论文

论文真题 对于软件系统,尤其是大规模的复杂软件系统来说,软件的系统架构对于确保最终系统的质量具有十分重要的意义,不恰当的系统架构将给项目开发带来高昂的代价和难以避免的灾难。对一个系统架构进行评估,是为了:分析现有架构存在的潜在风险,检验设计中提出的质量需求,…

mac软件卸载后的残留文件删除 mac如何卸载应用程序

很多人都不知道&#xff0c;mac使用系统方式卸载后会有残留文件未被删除&#xff0c;久而久之就会占用大量的磁盘空间。今天小编就来教大家如何删除mac软件卸载后的残留文件&#xff0c;如果你想不留痕迹的删除&#xff0c;mac又该如何正确卸载应用程序&#xff0c;本文将一一为…