自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(77)
  • 资源 (1)
  • 收藏
  • 关注

原创 单例模式 总结

是的,你完全可以将直接定义在private部分,而不是在函数内部。提高可读性: 将instance直接定义在private部分可以更清晰地表明这是单例对象的声明,使代码更易于理解。延迟初始化: 将instance定义在private部分可以在需要时延迟初始化单例对象,而不是在每次调用时都创建新对象。更好的控制: 将instance定义在private部分可以更好地控制单例对象的创建和访问,避免了在函数内部进行对象的创建。

2024-06-22 11:39:59 1004

原创 ftruncate 函数的定义和用法

函数来设置文件的大小时,它会将文件的大小截断为指定的大小。如果新的文件大小比原来的文件大小要大,那么文件的内容将保持不变,并且在原有内容之后的部分会被填充为 0。在文件被截断后,如果你对文件进行写入操作,写入操作将会从文件的开头(偏移量为 0 的地方)开始,这不受文件被截断的影响。因此,即使文件被截断,写入操作仍然会从文件的开头进行,并且会覆盖原有内容或者填充新的内容。只影响文件的大小,不会影响文件的内容。会将文件截断为指定的大小,如果将文件截断为 0,那么文件的内容也会被清空。:要设置的文件的新大小。

2024-06-20 10:27:36 1354

原创 Redis内存数据库

总的来说,Redis 在鸿蒙系统上可以作为一个高性能、灵活的数据存储和缓存解决方案,为系统提供更好的性能和扩展性。:Redis 可以作为缓存服务器在鸿蒙系统中使用,通过将频繁访问的数据缓存到 Redis 中,可以提高数据访问速度并减轻后端数据库的负载。:Redis支持多种数据结构,如字符串、哈希表、列表、集合、有序集合等,每种数据结构都有丰富的操作命令,使得Redis非常灵活。:通过 Redis 的数据结构和高性能特性,可以实现实时数据分析和处理,为鸿蒙系统提供实时的数据支持。

2024-06-18 11:29:22 495

原创 public std::enable_shared_from_this 类的继承中作用以及 return shared_from_this();

是一个模板类,用于帮助类(通常是继承它的类)在类内部获取指向自身的。当一个类需要在成员函数中返回一个指向自身的。管理对象的情况下,避免出现悬空指针的问题。成员函数,该函数将返回一个指向自身的。以下是一个简单的示例,展示了如何使用。,类可以安全地获取指向自身的。函数获取了指向同一对象的。,而不会导致对象被提前销毁。

2024-06-14 23:50:22 332

原创 c++ 中 namespace包的 全局变量 c++ 中 static 全局变量 会给初值吗

在 C++ 中,命名空间(namespace)中的全局变量会被自动初始化为零值(zero-initialized),除非显式地为其指定初始值。与静态全局变量类似,命名空间中的全局变量在程序启动时会被初始化,其初始化顺序是在所有函数执行之前。在 C++ 中,静态全局变量(static global variables)会被自动初始化为零值(zero-initialized),除非显式地为其指定初始值。总的来说,命名空间中的全局变量会默认被初始化为零值,但你也可以显式地为其指定初始值。

2024-06-14 19:24:57 484

原创 c++ 类里面一个 private 的static 函数 ,是否可以调用 类 里面public 函数

在 C++ 中,一个私有的静态成员函数可以调用类中的公有函数。静态成员函数是独立于任何特定对象的函数,因此它们可以直接调用公有函数,私有函数或受保护函数,而无需通过类的实例来访问。因此,私有的静态成员函数是可以调用类中的公有函数的。希望这个示例能够帮助你理解这个概念。如果你有任何其他问题,请随时告诉我!,一个公有成员函数。通过创建类的实例并调用公有函数。是一个私有的静态成员函数,它在内部调用了。,间接触发了私有静态函数的调用。

2024-06-14 19:21:51 378

原创 panic 、asset、crash 的含义和区别

在编程中,“panic” 和 “assert” 都是用于处理错误和异常情况的机制,但在不同的编程语言和框架中有一些区别。

2024-06-01 11:05:41 1736

原创 `thread_local` 是 C++11 标准引入的关键字,用于指示变量具有线程局部存储(TLS)的特性

可以解决多线程程序中全局变量可能引发的竞态条件(race condition)问题,使得每个线程可以拥有自己的变量实例,避免了线程间的数据冲突。变量在声明的线程中具有静态存储期,即在整个线程的生命周期内存在,其生命周期与线程的生命周期相同。每个线程都有自己独立的变量实例,各个线程之间互不干扰。时,每个线程都会拥有该变量的一个单独的实例,而不是所有线程共享同一个变量。变量在不同线程中是独立的,线程对该变量的修改不会影响其他线程中的同名变量。中对其进行自增操作,每个线程修改的是自己的变量实例,不会互相影响。

2024-06-01 10:46:38 254

原创 ipc共享内存

其中,共享内存是一种 IPC 的方式,允许多个进程访问同一块内存区域,从而实现数据共享。这段代码创建了一个共享内存对象,将其映射到进程地址空间,然后在共享内存中写入数据,并从中读取数据。总的来说,IPC 共享内存是一种高效的进程间通信方式,适用于需要频繁交换大量数据的场景,但需要注意同步、互斥和安全性等方面的考虑。请注意,这只是一个简单的示例,实际应用中可能需要更复杂的同步和互斥机制来确保数据的完整性和一致性。:共享内存的访问需要考虑安全性,确保只有授权的进程可以访问和修改共享内存中的数据。

2024-05-30 14:55:53 374

原创 `TCP_KEEPIDLE`、`TCP_KEEPINTVL` 和 `TCP_KEEPCNT` 是 TCP 套接字选项,用于控制 TCP 连接的保活机制

指定开始发送 TCP KeepAlive 消息之前,连接可以保持空闲的时间(单位为秒)。在发送第一次 KeepAlive 消息后,如果没有收到响应,将在指定的时间间隔后再次发送。是 TCP 套接字选项,用于控制 TCP 连接的保活机制。这些选项通常用于在长时间空闲的连接中检测对端是否存活,并在必要时终止连接。通过设置这些选项,可以调整 TCP 连接的保活机制,以确保连接在长时间空闲后能够及时检测到对端的存活状态,从而避免僵死连接。:指定在没有收到对端响应的情况下,发送 KeepAlive 消息的次数。

2024-05-22 23:42:24 1576

原创 static int g_loop = 1; c 语言中 静态的全局 变量 需要初始化吗

在 C 语言中,静态的全局变量如果没有显式地初始化,会被默认初始化为 0。这意味着如果你声明一个静态的全局变量,但没有给它赋初值,它将自动被初始化为 0。没有被显式地初始化,但由于是静态的全局变量,它会被默认初始化为 0。总的来说,在 C 语言中,静态的全局变量如果没有显式初始化,会被默认初始化为 0。的值时,会打印出默认初始化的值 0。在这个例子中,静态的全局变量。

2024-05-21 23:03:34 245

原创 std::unique_lock<std::mutex> lock(g_currentDeviceConfig->mtx);缩小锁定范围

这种方法可以避免在整个函数范围内持有锁,从而提高程序的性能和减少潜在的锁竞争。是一个 RAII(资源获取即初始化)风格的类,用于管理互斥量的锁定和解锁。虽然可以手动释放和重新获取锁,但建议在可能的情况下遵循 RAII 原则,让。对象,可以有效地缩小锁定的范围,提高程序的性能并减少潜在的锁竞争。对象自动管理锁的生命周期,从而避免忘记释放锁而导致的死锁等问题。的析构函数会自动释放锁,从而避免在整个函数范围内持有锁。要缩小锁定的范围,可以在需要锁定的代码块内创建。然而,如果需要手动控制锁的释放,可以通过。

2024-05-12 10:24:11 431

原创 网络中sta 和 ap含义

在无线局域网(WLAN)或其他网络环境中,"STA"通常用来表示无线设备或终端设备,如笔记本电脑、智能手机、平板电脑等连接到无线网络的终端设备。在IEEE 802.11标准中,"STA"指的是无线局域网中的一个终端设备,可以是一个无线客户端或一个无线接入点(AP)。在一个典型的无线局域网中,多个"STA"可以连接到一个或多个"AP”,通过这种方式实现设备之间的通信和接入网络。总之,"STA"在网络中代表终端设备或站点,与"AP"一起构成了无线网络中的基本组成部分。

2024-04-30 16:46:19 2085

原创 socket connect 阻塞 的原因

防火墙、路由器或其他网络设备的设置可能会导致连接阻塞。这些设备可能会对连接进行筛选、限制或延迟,从而导致连接阻塞。函数阻塞的情况时,可以考虑设置连接超时时间、处理网络异常、优化网络通信等方法来减少阻塞时间,提高程序的健壮性和性能。函数会一直等待连接结果,导致阻塞。在这种情况下,连接会一直处于等待状态,直到目标主机端口开始监听连接。函数可能会一直阻塞等待连接结果。函数阻塞等待连接成功。特别是在连接远程服务器时,网络延迟可能会增加连接的等待时间。在这种情况下,服务器无法接受新的连接请求,导致客户端的。

2024-04-25 14:21:08 827

原创 `std::ref`的作用是将一个对象包装成一个引用包装器

用于创建一个引用包装器,将一个对象包装成一个引用,而不是对对象进行拷贝。这在函数对象的传递和使用中非常有用,特别是在需要传递可变状态的情况下。的作用是将一个对象包装成一个引用包装器,使得在函数对象的传递中能够以引用的方式传递对象,而不是进行对象的拷贝。的实际值,而不是拷贝的副本。是C++标准库中的一个函数模板,位于。包装成一个引用,然后在函数对象中对。以引用方式传递,函数对象修改的是。的值被修改为原来的两倍,这得益于。这边再写个 demo。

2024-04-04 16:00:31 429

原创 移动构造函数(Move Constructor)和移动赋值运算符(Move Assignment Operator)

移动构造函数(Move Constructor)和移动赋值运算符(Move Assignment Operator)是C++11引入的特性,用于实现移动语义。它们的出现主要是为了提高程序的性能,避免不必要的资源拷贝和提高内存管理效率。

2024-04-03 16:40:14 474

原创 linux 中的syslog的含义和用法

在Linux系统中,syslog是一种系统日志服务,用于收集、存储和管理系统和应用程序生成的日志消息。syslog服务负责记录系统的运行状态、错误信息、警告、调试信息等,以便系统管理员可以监控系统的健康状况、故障排查和性能优化。

2024-03-31 16:35:22 978

原创 CANopen 协议简介

https://github.com/CANopenNode/CANopenNode/blob/master/README.mdconsists of three logical parts

2024-03-21 22:44:10 1911

原创 NETLINK_ROUTE 与 NETLINK_SOCK_DIAG 的区别与用法

在 Linux 中,Netlink 是一种用于内核与用户空间之间通信的机制,通过不同的 Netlink 协议族(family)可以实现不同类型的通信。其中,NETLINK_ROUTE 和 NETLINK_SOCK_DIAG 是两种常用的 Netlink 协议族,它们具有不同的功能和用途。

2024-03-18 00:59:00 835

原创 `sig_atomic_t` 是C语言中的一个数据类型,它通常用于在信号处理程序中声明变量

是C语言中的一个数据类型,它通常用于在信号处理程序中声明变量。这个类型的变量保证可以在信号处理程序中原子地(atomic)访问,这意味着在多线程或信号处理上下文中,对这个变量的读取和写入操作是原子的,不会被中断。在信号处理程序中,通常需要使用一些标记来指示某些事件的发生或状态的改变。由于信号处理程序可能随时被中断,因此需要确保对这些标记的访问是原子的,以避免数据不一致性或竞争条件。类型提供了一种在信号处理程序中处理共享数据的基本手段,确保对该类型变量的操作是原子的,从而避免由并发访问引起的问题。

2024-03-16 10:55:24 842

原创 `PF_NETLINK` 是用于与内核通信的Socket族之一

Socket族则用于创建与Netlink通信相关的Socket。通过Netlink Socket,用户空间程序可以与内核进行双向通信,从而实现对内核状态的查询、配置和控制。实际应用中,可以根据具体需求构建不同类型的消息,与内核进行通信,实现各种网络配置和管理操作。是用于与内核通信的Socket族之一。在Linux系统中,Netlink是一种用于内核与用户空间进程之间通信的机制,而。提供了一种结构化的消息传递机制,支持多种消息类型和多个不同的协议族。允许用户空间程序向内核发送命令请求和接收内核的响应。

2024-03-12 22:13:11 1117

原创 关于candump 命令中 filter 过滤的解释

only SFF and non-RTR frames” 表示只包括标准帧(Standard Frame Format,SFF)和非远程帧(non-RTR frames)。(match only for extended CAN ID 12345678) 只支持扩展帧,且can id 是 12345678。的虚拟 CAN 接口,并只捕获 CAN ID 为 123 的消息,包括扩展帧(EFF)和远程帧(RTR)消息。标准帧(Standard Frame Format,SFF)7、数据过滤的公式 是。

2024-03-08 16:40:45 1311

原创 BSD-3-Clause是一种开源软件许可协议

需要注意的是,尽管BSD-3-Clause许可证允许在闭源软件中使用和分发,但仍需要遵守许可证的规定,包括保留原始版权声明和许可声明。如果你使用了采用BSD-3-Clause许可证的软件,建议仔细阅读许可证的具体条款,以确保你的使用符合许可证规定。它是BSD许可证家族中的一种,是一种宽松的许可证,允许软件自由使用、修改和重新分发,同时也保留了一些版权和责任方面的规定。:允许用户修改软件的源代码,但修改后的软件必须以原始软件的许可条件进行再分发。在广告和其他宣传材料中,需要包含对原始软件的引用。

2024-03-06 23:21:36 8312

原创 调用GPL 开源库的法律问题

调用 GPL(General Public License)开源库通常是合法的,但是需要遵守 GPL 协议的规定。总的来说,调用 GPL 开源库本身并没有问题,但需要遵守 GPL 协议的规定。如果你有任何疑问或担忧,建议咨询律师或深入了解 GPL 协议的具体要求。

2024-03-06 23:10:31 1210

原创 “ERROR Resource temporarily unavailable“ 和 “ERROR Connection reset by peer“ 是两种常见的网络错误

这两种错误都涉及到网络通信中的问题,可能由各种原因引起,包括系统资源限制、网络问题、服务器配置等。:连接可能由于超时而被重置,这可能是因为连接长时间没有活动或处理数据,导致服务器端关闭连接。:这个错误表示与远程服务器的连接被对端(peer)重置,通常由服务器端关闭连接导致。:这个错误表示请求的资源暂时不可用,通常是由于资源短缺或系统资源达到上限而导致的。:例如,系统中的文件描述符、内存或其他资源已经达到了限制,导致无法分配更多资源。:连接可能由于网络问题而中断,比如网络延迟、丢包或连接中断。

2024-03-05 17:13:19 1807

转载 2.Modbus通信协议-软件调试4个工具软件(推荐)

在这里可以选择通过Virtual Serial Port Driver仿真出来的端口或者真实的端口,然后设置需要的波特率、数据位、奇偶校验和停止位。Connection选择Serial Port,Mode选择RTU,点击OK后则会仿真出一个ModbusRTU的从站。Modbus Poll的使用与Slave相似,都是打开Connection进行配置,成功后则上方的消息窗口则不会出现红色的错误提示。在这里可以设置该从站的站地址、寄存器或线圈的起始地址和数量,以及寄存器或线圈的类型。

2024-03-05 14:04:53 629

原创 sscanf 函数的用法

在这个示例中,我们从字符串 “John 25” 中读取名字和年龄,并将它们存储到。中读取数据,并将读取到的数据存储到额外的参数中。中的一个函数,用于按照指定的格式从一个字符串中读取输入。从字符串中读取输入,而不是从标准输入(键盘)中读取输入。:额外的参数,用于存储从输入字符串中读取的数据。函数,我们可以方便地从字符串中提取需要的数据。函数的格式字符串类似,可以包含格式说明符(如。等),用于指定要读取的数据类型和格式。:指定了输入的格式,类似于。函数根据指定的格式字符串。:要读取的输入字符串。

2024-03-04 10:56:18 702

原创 struct fd_set FD_ZERO FD_SET 文件描述符集合的用法

等系统调用一起使用,用于实现I/O多路复用,监视多个文件描述符的状态变化。结构体和相关宏提供了一种方便的方式来管理文件描述符集合,用于实现高效的I/O多路复用机制。结构体通常包含一个位数组,每个位代表一个文件描述符,用于标记该文件描述符是否在集合中。是用于文件描述符集合的数据结构,通常用于在实现I/O多路复用时管理文件描述符。结构体清空,即将所有文件描述符从集合中删除。结构体来管理要监视的文件描述符集合,并通过。定义了文件描述符集合的最大大小。宏用于将指定的文件描述符添加到。等宏来操作文件描述符集合。

2024-02-22 14:33:31 661

原创 SIGSEGV 段错误

SIGSEGV是在Unix/Linux系统中表示"Segmentation Fault"(分段错误)的信号。当一个进程访问未分配给它的内存、访问超出其内存边界或者访问不允许的内存区域时,就会产生SIGSEGV信号,导致进程被操作系统终止。

2024-02-21 22:02:05 2556

原创 linux 中date 命令的用法

在Linux系统中,date命令用于显示或设置系统的日期和时间。date命令可以显示当前日期时间、设置系统时间、格式化日期时间等。以下是date。

2024-02-18 17:57:42 1051

原创 `basename()` 函数用于从一个路径字符串中提取文件名部分

函数用于从一个路径字符串中提取文件名部分(不包括目录路径),并返回提取的文件名。函数非常有用,可以方便地从路径字符串中提取文件名部分,用于文件操作和路径处理。字符串,将路径名截断为文件名。因此,如果你需要保留原始路径字符串,请在调用。函数将提取文件名部分,并返回一个指向该文件名的指针。我们将返回的指针存储在。函数返回一个指向提取的文件名的指针,该指针指向。希望这个解释对你有所帮助!,其中包含完整的文件路径。在上述示例中,我们定义了一个路径字符串。函数的问题,请随时提问。变量中,并打印出来。

2024-02-04 16:17:43 3467

原创 linux 中 atexit(free_onexit); 函数的定义和作用

函数通常用于在程序退出时执行一些清理操作,例如关闭文件、释放资源等。它提供了一种简单的方式来确保在程序终止时执行特定的操作,而无需在每个可能的退出点手动调用相应的函数。函数的作用是在程序正常退出时执行注册的函数。当程序终止时,会按照注册函数的相反顺序调用这些函数。是一个函数,用于在程序退出时注册一个函数,这个函数会在程序正常终止时被调用。函数会被调用,执行相应的操作,例如释放动态分配的内存。希望这个解释对你有所帮助!在这个示例中,我们定义了一个名为。的函数,用于释放内存。函数或其他相关问题,请随时提问。

2024-02-04 11:53:08 563

原创 offsetof 判断结构体中成员的偏移

宏在编写一些底层代码、处理二进制数据或进行内存操作时非常有用。它可以帮助我们在结构体中定位特定成员的位置,并进行相应的操作。宏可以获得结构体中成员的偏移量,即成员相对于结构体起始地址的字节偏移量。是一个C语言宏,用于计算结构体中成员的偏移量。,它是一个无符号整数类型,用于表示字节偏移量。希望这个解释对你有所帮助!相对于结构体起始地址的字节偏移量。函数打印出来,结果会显示成员。或其他相关问题,请随时提问。在这个示例中,我们使用。是结构体中的成员名。

2024-02-04 10:54:14 465

原创 基类的析构函数为什么要申明为virtual的

在C++中,如果一个类被用作基类,并且该类有一个非虚析构函数,那么当通过基类指针删除派生类对象时,只会调用基类的析构函数,而不会调用派生类的析构函数。当通过基类指针删除派生类对象时,如果基类的析构函数是虚函数,那么将会调用派生类的析构函数,确保正确地析构派生类对象。因此,为了正确地析构派生类对象并释放相关资源,基类的析构函数通常被声明为虚函数。这样可以确保在通过基类指针删除派生类对象时,正确调用派生类的析构函数。删除派生类对象时,如果基类的析构函数不是虚函数,那么只会调用。类的析构函数被声明为虚函数,

2024-02-02 10:33:12 486

原创 typedef std::function<void(void *event)> FunInputEvent; 这种方式定义回调函数的好处

可以在不更改回调函数签名的情况下,为回调函数添加更多的逻辑和功能。提供了一种机制,可以将不同类型的可调用对象(函数指针、函数对象、Lambda 表达式等)赋值给同一类型的变量。,可以将回调函数及其相关的上下文(例如捕获的变量)打包成一个对象。这使得回调函数可以方便地传递、存储和传递给其他函数,而无需显式传递额外的参数。这种方式定义回调函数可以提供更灵活、可替代、封装和可扩展的设计,使得回调函数在不同的上下文和应用中更易于使用和维护。,可以定义接受不同类型参数和返回不同类型的回调函数。,并且不返回任何值(

2024-02-01 15:22:38 439

原创 类里面的私有类 的作用和用法

私有类只能在外部类的成员函数中使用,对于外部类的用户来说是不可见的。通过将一些相关的功能和数据封装在私有类中,可以隐藏实现细节,只暴露外部类的公共接口给用户,提高代码的可维护性和安全性。通过将复杂性封装在私有类中,可以使外部类的接口更简洁、易于使用,并且用户不需要了解私有类的内部实现。限制访问权限:私有类只能在外部类的成员函数中使用,对于外部类的用户来说是不可见的。实现内部辅助功能:私有类可以用于实现外部类的内部辅助功能。它可以访问外部类的私有成员,并提供一些辅助函数或数据结构,用于支持外部类的实现。

2024-01-29 14:35:00 998

原创 c++ 中 什么是转交函数

转交函数可以在类的接口中提供一种简单的方式来调用其他函数,实现代码的重用和简化。转交函数通常用于将派生类的函数调用转发给基类的函数,或者在类内部将函数调用转发给其他成员函数。转交函数允许在类的接口中提供一种简单的方式来调用其他函数,从而实现代码的重用和简化。将派生类的函数调用转发给基类的函数:当派生类需要重写基类中的某个函数时,可以在派生类中定义转交函数,将函数调用转发给基类的函数。将类内部的函数调用转发给其他成员函数:当一个成员函数需要调用另一个成员函数时,可以使用转交函数来简化代码。

2024-01-24 10:57:09 569

原创 c++ 类继承中 using的作用

关键字,可以将基类中的成员函数引入到派生类的作用域中,使得这些成员函数可以在派生类中直接调用。关键字引入基类的成员时,基类成员的访问权限不会改变,即如果基类成员是私有的,那么在派生类中仍然无法直接访问。关键字可以将基类中的同名成员引入派生类的作用域中,以解决命名冲突。关键字用于引入基类中的成员函数或成员变量到派生类中,实现成员函数的重用和解决命名冲突。关键字,可以在派生类中直接调用基类的成员函数,并明确指定使用基类中的成员。关键字用于引入基类中的成员函数或成员变量到派生类中。这样,在派生类中可以直接调用。

2024-01-24 10:48:56 665

原创 uboot 中的bootargs 如何 修改 内核的 cmdline和 linux 内核如何生成 /proc/cmdline

总结:在U-Boot中,可以通过修改环境变量 “bootargs” 来修改内核的启动参数(cmdline)。因此,/proc/cmdline文件中的内容是由引导加载程序或启动参数配置文件传递给内核的命令行参数生成的。在Linux内核启动时,内核会根据引导加载程序(如GRUB)或启动参数配置文件(如U-Boot中的环境变量)等信息生成/proc/cmdline文件。在<新的启动参数>中,可以指定要传递给内核的任何启动参数,如rootfs的位置、调试选项、内核参数等。找到名为 “bootargs” 的变量。

2024-01-19 11:43:47 2429

原创 内核的 defconfig 和 Kconfig 的区别于作用

"defconfig"是指Linux内核的默认配置文件,它是一种预定义的内核配置。"defconfig"的作用是提供一种快速开始构建内核的方式,同时也是为特定平台提供默认配置的参考。Kconfig是Linux内核的配置系统,用于管理内核的配置选项。Kconfig文件的主要作用是提供灵活的内核配置机制。Kconfig是Linux内核的配置系统,用于管理内核的配置选项,提供灵活的内核定制和配置机制。"defconfig"是一种预定义的内核默认配置文件,用作构建特定平台内核的起点和参考。

2024-01-19 10:46:49 747

openharmony 上 ndk编译

openharmony 上 ndk编译

2023-06-16

c语言面试宝典

C语言面试常问的题目,华为,中兴常出的题目,希望对大家有所帮助。

2013-03-08

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除