人工智能入门建议 2025-01-17 2025-04-17 人工智能 终极算法读后感 我读了《终极算法》这本书,才想着写一个人工智能入门指南,里面提到的五个学派代表了机器学习和人工智能发展的主要思潮,它们各自基于不同的理念、假设和方法论来探索智能的本质和实现方式,我先对这五个学派的详细解析(如果不想看,可以直接跳过,去看后面的入门建议): 1. 符号学派(Symbol 748 | 0
C++遍历的方法 2025-01-08 2025-01-17 cpp 三种遍历方法分别适用于哪些容器 C++ 中,遍历容器的方法与容器的特性有关。以下是三种遍历方法在不同容器中的适用情况: 1. 迭代器遍历 for (std::container_type<T>::iterator it = container.begin(); it != container.end 219 | 0
核心安全技术详解:IOMMU、TPM、Secure Boot 2025-01-05 2025-01-05 杂七杂八 Q1 IOMMU/DMA内核保护是什么? IOMMU/DMA内核保护 是一种由操作系统和硬件结合提供的安全机制,用于防止直接内存访问(DMA)设备对系统内存的未授权访问。这项技术主要依赖于 IOMMU(输入输出内存管理单元,Input-Output Memory Management Unit)的支 1344 | 0
04_ROP-Ret2Libc-32实例 2024-12-10 高级教程 首先我们先复习一下32位系统调用 想办法调用execve("/bin/sh", null, null),然后先办法传入/bin///sh,系统调用execve eax = 11, ebx = bin_sh_addr, ecx = 0, edx = 0 int 0x80 #include <stdio 184 | 0
03_深入跟踪plt和got表 2024-12-10 高级教程 下面是对给出的流程图中 ELF 程序中函数调用过程(以 puts 为例)的详细分析。这反映了 ELF 动态链接中 PLT(Procedure Linkage Table)与 GOT(Global Offset Table)协作进行延迟绑定(lazy binding)的机制。当程序第一次调用一个动态库 232 | 0
解析#pargma 2024-12-07 科锐c语言教程 #pragma 是一种编译器指令,用于控制编译过程中的特定行为,通常是针对编译器实现的扩展。这些指令对于特定的编译器和平台是专有的,它们的语法和作用可能因编译器而异,但在C/C++标准中是合法的。#pragma指令的常见用法如下: 常见的 #pragma 指令及其用法 #pragma message 393 | 0
IEEE浮点数表示法 2024-12-07 科锐c语言教程 1. 浮点数的存储结构 计算机中的所有数据都是以二进制的形式存储。float类型是32位(4字节),其中: 符号位(1位):0表示正数,1表示负数。 指数位(8位):使用偏移量127(即指数实际值+127)表示。 尾数位(23位):即尾数的二进制表示。 具体存储格式(从高位到低位): 符号位 | 指 529 | 0
18_C基础指针的使用规范、位运算 2024-12-07 科锐c语言教程 指针的使用规范 在C和C++中,指针是强大的工具,但如果不小心使用,可能会引发复杂的错误。因此,了解指针的规范使用原则可以帮助编写更安全和易于维护的代码。以下是一些使用指针的规范: 1. 初始化指针 指针变量在声明后,应尽量初始化,避免使用未初始化的指针导致未定义行为。常见的初始化方式包括: 将指针 140 | 0