首页 > 其他分享 >学习笔记1

学习笔记1

时间:2023-09-10 17:45:45浏览次数:34  
标签:longjmp 函数 笔记 学习 内核 https 跳转 main

ChatGpt的苏格拉底挑战:

有关内核:

linux系统的核心是内核。内核控制着计算机系统的所有硬件和软件,在必要时分配硬件,并根据需要执行软件。

内核主要负责以下4种功能。
·系统内存管理
·软件程序管理
·硬件设备管理
·文件系统管理

 

 有关GCC:

GNU Compiler Collection,编译器集合,能够将源代码转换成机器码

 三个步骤:t1.c—>编译器——>t1.s——>汇编器———>t1.0———>链接器———>a.out

               C源文件              汇编代码文件     目标代码文件/二进制机器码          二进制可执行文件

苏格拉底挑战2:

gcc运行时堆栈的使用情况要点总结:

  • 每个函数都会被分配栈帧,用FP(BP)来表示指向当前激活函数的栈帧
  • 为什么采用栈?先进后出,主函数开始读取压栈,再读取指向所调用的函数,执行时从调用的函数开始出栈

 

在下载emacs时使用书上apt-get install命令没用,得用sudo apt install猜测是sudo能获取更高权限的原因,询问gpt后得知结果:

 

两模块链接方式:

  1. gcc main.c hello.c -o main
  2. gcc *.c -o main

long jump

longjmp是一个函数,用于实现非局部跳转。它与setjmp函数一起使用,可以在应用程序中实现跳转到事先设置的位置。

longjmp函数的原型如下:

#include <setjmp.h>
void longjmp(jmp_buf env, int val);

其参数包括一个jmp_buf类型的环境变量(通常为数组类型),用于保存跳转位置的上下文信息,以及一个整数值val,用于指定跳转后setjmp函数的返回值。

要使用longjmp实现跳转,首先需要在要跳转到位置的函数中调用setjmp函数,将当前的上下文信息保存到jmp_buf变量中。然后,在需要跳转到该位置的地方使用longjmp函数完成跳转操作。

 

遇到的问题:

virtualbox虚拟机创建后无法启动,报错:Erorr in supR3HardenedWinReSpawn

链接:https://blog.csdn.net/qq_45730349/article/details/121470304

解决无法启动问题

虚拟光盘下载:

https://ubuntu.com/

https://openeuler.org/zh/

 

学习linux系统中的一些笔记(持续更新)

标签:longjmp,函数,笔记,学习,内核,https,跳转,main
From: https://www.cnblogs.com/dkyzhouyikai/p/17691025.html

相关文章

  • Node.js+Express+Koa2开发接口学习笔记(二)
    搭建开发环境从0开始搭建,不适用任何框架使用nodemon监测文件变化,自动重启node使用cross-env设置环境变量,兼容maxlinux和windows创建项目文件夹blog-1,在终端输入命令npminit-y在根目录下创建bin=>www.js文件,将初次运行的文件www.js存放在bin目录下。同时需要修改pack......
  • 20211314王艺达信息安全系统设计与实现学习笔记(1)
    作业要求链接https://www.mosoteach.cn/web/index.php?c=interaction_homework&m=s_write&clazz_course_id=97072AE7-2C45-11EE-8539-1C34DA7B3F7C&id=F3080EAA-E3B7-414E-B311-938F0B8988F0&order_item=group&status=IN_PRGRS第一章学习总结及自测知识点归纳什么是Unix/Linux......
  • 【学习笔记】折半搜索 Meet In The Middle
    点击查看目录目录算法实现杂题乱写[CEOI2015Day2]世界冰球锦标赛题单oi-wiki算法实现我们正常的搜索应该是一个指数级的:\(2^n\)。然而我们可以把这个搜索拆成两半,设小于整张图的限制\(limit\)为合法:对于上半搜索,我们有若干符合限制的答案\(sum_1\),对于下半搜索,我......
  • swift5笔记(五):字典
    swift5笔记(五):字典Harry__Li关注IP属地:陕西2022.10.3115:48:06字数31阅读176初始化swift中需要指出字典中的类型//初始化字典varmdict:[String:Any]=[:]varmdict1=[String:Any]()letdict:[String:Any]=["name":"lhr","age":"100"]增加......
  • Java基础学习——字符串
    目录1String概述 2String构造方法代码实现和内存分析2.1创建方式2.2内存区1.StringTable(串池)2.直接赋值创建字符串方式内存图3.通过new创建字符串方式内存图 3字符串比较3.1“==”号比较的内容    1String概述总结:1.String是Java定义好......
  • 《信息安全系统设计与实现》第一周学习笔记
    第一章引言关于本书本书是一部研究Unix/Linux系统编程的专注系统编程的作用系统编程是计算机科学和计算机工程教育不可或缺的一部分本书目标强化学生变成背景知识动态数据结构的应用进程概念和进程管理并发编程定时器和定时功能信号、信号处理......
  • 【学习笔记】折半搜索 Meet In The Middle
    点击查看目录目录算法实现杂题乱写[CEOI2015Day2]世界冰球锦标赛题单oi-wiki算法实现我们正常的搜索应该是一个指数级的:\(2^n\)。然而我们可以把这个搜索拆成两半,设小于整张图的限制\(limit\)为合法:对于上半搜索,我们有若干符合限制的答案\(sum_1\),对于下半搜索,我......
  • Unix/Linux 系统编程学习记录
    Unix/Linux系统编程学习记录不定期更新学习笔记、心得与操作过程chapter1引言第一章学习笔记博客链接安装Linux操作系统,学习Linux基础chapter2编程背景第二章学习笔记博客链接课程来源:2021-2022-1信息安全系统设计与实现(上)的平行课程推荐好友20211120destiny......
  • 《信息安全系统设计与实现》第一周学习笔记
    《信息安全系统设计与实现》第一周学习笔记第一章关于本书介绍Unix/Linux的功能,着重探讨了编程实践,让学生通过实践来练习系统编程,涵盖Unix/Linux的所有基本组件,包括进程管理、并发编程、定时器和时钟服务、文件系统、网络编程和MySQL数据库系统。系统编程的作用系统编......
  • Vue学习一:vue2的基本指令
    Vue是一个构建用户界面的渐进式框架。官网:https://cn.vuejs.org/。Vue可以用网上的CDN,也可以下载到本地(下载的话就是进入官网打开学习文档,点击基础里面的安装,点击里面的开发版本这几个字,建议下载开发版本,里面包含完整的警告和调试模式)1、创建Vue2实例首先将下载的vue.js引入到h......