首页 > 其他分享 >2023-2024-1 20211306 密码系统设计与实现课程学习笔记1

2023-2024-1 20211306 密码系统设计与实现课程学习笔记1

时间:2023-09-10 19:22:53浏览次数:47  
标签:文件 gcc 初始化 源文件 2024 20211306 2023 GPT out

20211306 密码系统设计与实现课程学习笔记1

学习任务详情

自学教材第1,2章,提交学习笔记

  1. 知识点归纳以及自己最有收获的内容,选择至少2个知识点利用chatgpt等工具进行苏格拉底挑战,并提交过程截图,提示过程参考下面内容

“我在学***X知识点,请你以苏格拉底的方式对我进行提问,一次一个问题”
核心是要求GPT:“请你以苏格拉底的方式对我进行提问”
然后GPT就会给你提问,如果不知道问题的答案,可以反问AI:“你的理解(回答)是什么?
如果你觉得差不多了,可以先问问GPT:“针对我XXX知识点,我理解了吗?”
GPT会给出它的判断,如果你也觉得自己想清楚了,可以最后问GPT:“我的回答结束了,请对我的回答进行评价总结”,让它帮你总结一下

  1. 问题与解决思路,遇到问题最先使用chatgpt等AI工具解决,并提供过程截图
  2. 实践过程截图,代码链接
  3. 其他(知识的结构化,知识的完整性等,提交markdown文档,使用openeuler系统等)

一、1、2章学习总结

  • Unix/Linux命令

ls 列出cwd或目录的内容
cd 更改目录
pwd 打印cwd的绝对路径名
find 搜索文件
ssh 登录到远程主机
.
.
.

  • 文本编辑器

vim是Linux的标准内置编辑器,有三种不同的操作模式,分别是

  • 命令模式:用于输入命令
  • vim启动时默认是命令模式
  • h:光标向左移一个
  • l:光标向右移一个
  • j:光标向下移一个
  • k:光标向上移一个
  • 插入模式:用于输入和编辑文本

输入i或者a命令切换到插入模式

  • i:插入文本
  • a:追加文本
  • esc一次或多次:推出插入模式
  • 末行模式:用于保存文件并退出

输入":"进入末行模式

  • w:写入文件
  • q:退出vim
  • wq:退出并保存
  • q!:不保存更改,强制退出



    以上是我在与chatgpt聊天时学到的一些知识

gedit
gedit是GNome桌面环境默认的文本编辑器,它是ubuntu及其他使用gnome GUI用户界面的Linux默认编辑器

emacs
可在不同平台运行,GNU Emacs可在大多数Linux发行版中使用

  • 使用文本编辑器

emacs

输入 emacs【FILENAME】 使用一个可选文件名调用emacs编辑器
创建源文件后,按下meta键序列“CTRL+X+C”保存文件并退出,输入“y”保存文件并退出emacs

  • 程序开发

gcc

gcc是一个程序,步骤如下

gcc将源文件装换位二进制可执行文件

  • gcc t1.c t2.c
    生成一个二进制可执行文件 a.out

a.out

文件头

  • tsize:代码段大小
  • dsize:包含初始化全局变量和初始化静态局部变量的数据段大小
  • bsize:包含未初始化全局变量和未初始化静态局部变量的bss段的大小
  • total_siaze:加载的a.out文件的总大小
    代码段,也叫正文段,包含程序的可执行代码
    数据段:包含初始化全局变量和初始化静态数据
    符号表:可选,仅为运行调试所需

执行

在sh命令行 a.out one two three
执行a.out文件,sh创建一个子进程并等待其终止,子进程运行时,sh使用a。out文件,按照以下不愁创建新的执行映像

  • 读取a.out文件头
  • makefile

格式

目标项、依赖项、规则

make程序
假设我们有一个c语言程序包含三个源文件

  • 用sh指令 gcc -o myt main.c mysum.c
  • make -f mk1 :使用mk1作为makefile运行make
  • gcc -o myt t.c mysum.c make将构建目标文件myt

makefile变量

  • $@:当前目标名
  • $<:第一个依赖项名
  • $^:所有依赖项名
  • $*:不包含扩展名的当前依赖项名
  • $?:比当前目标更新的依赖项列表

PMTX系统makefile

PMTX是一个类Unix操作系统,其源文件放在三个子目录中

  • Kernel:PMTX内核文件;一些GCC汇编文件,用于C语言编写
  • Fs:文件系统源文件;均用C语言编写
  • Driver:设备驱动源文件;均用C语言编写
  • GDB调试工具

GDB是一个交互式调试工具,可以调用C、C++和其它几种语言的程序

在emacsIDE中使用GDB

makefile

  • gcc -g -o t t.c
    启动GDB
  • gdb -i=mi t

二、苏格拉底提问GPT













刚开始我在写学习总结时,想让gpt帮我写,但是他写不出来

三、linux代码运行


写一个简单的c语言代码

对他进行gcc编译,但是在生成hello.o的时候出现问题,应该是hello.s文件出错了


于是我先进行了查看二进制文件的操作

下面开始问gpt怎么解决,以下都是问的一些相关问题


但是都没有解决,然后在csdn上找到了答案,文章名叫《计算机系统学习笔记一————gcc分布编译,汇编报错》才发现是写代码的时候,大小写区分错误,"esc"的-E和-S都是大写,-c是小写,这样就解决了问题

然后进行下一个实践
这里也出现了一个问题,就是编译出"main"文件时,在进行"gcc./src/*.c -Iinclude -o bin/main"操作之后,"main"文件就会消失,我也问了gpt,但也没有得到实际解决


但最后还是自己调试成功了


本次任务到此就基本结束了,老师在课上讲,不自己操作是不会使用代码的,我深深体会到了这句话的含义,老师在课上轻松的操作,我在课下却耗费了一整个下午!

标签:文件,gcc,初始化,源文件,2024,20211306,2023,GPT,out
From: https://www.cnblogs.com/20211306dwb/p/17689688.html

相关文章

  • 2023-09-10:用go语言编写。作为项目经理,你规划了一份需求的技能清单 req_skills, 并打算
    2023-09-10:用go语言编写。作为项目经理,你规划了一份需求的技能清单req_skills,并打算从备选人员名单people中选出些人组成一个「必要团队」(编号为i的备选人员people[i]含有一份该备选人员掌握的技能列表)。所谓「必要团队」,就是在这个团队中,对于所需求的技能列表req_skills......
  • 2023-09-10:用go语言编写。作为项目经理,你规划了一份需求的技能清单 req_skills, 并打算
    2023-09-10:用go语言编写。作为项目经理,你规划了一份需求的技能清单req_skills,并打算从备选人员名单people中选出些人组成一个「必要团队」(编号为i的备选人员people[i]含有一份该备选人员掌握的技能列表)。所谓「必要团队」,就是在这个团队中,对于所需求的技能列表req_sk......
  • SICTF2023 #Round 2 wp
    Reverse[签到]PYC电脑上的pycdc出问题了,就找个在线的https://www.lddgo.net/string/pyc-compile-decompileprint('SICTF{07e278e7-9d66-4d90-88fc-8bd61e490616}')Myobjectrc4加解密,写个脚本defrc4(key,plaintext):S=list(range(256))j=0foriinran......
  • 2023“钉耙编程”中国大学生算法设计超级联赛(5)
    1001Typhoon题意:给你台风的轨迹坐标以及避难所的坐标,台风的半径不可预测,求让每个避难所不安全的最小台风半径是多少。分析:枚举每个点到所有“线段”的距离取个min。代码:附上队友的代码(懒):#include<bits/stdc++.h>#include<math.h>#definerep(i,a,b)for(inti=a;i<......
  • 2023.36 腾讯混元大模型
    9月7日,在2023腾讯全球数字生态大会上,腾讯混元大模型正式亮相。腾讯集团副总裁蒋杰介绍,混元大模型参数量超千亿,具备多轮对话能力,内容创作能力,逻辑推理能力,搜索增强和知识图谱。训练数据更新至今年7月份,未来会不断更新迭代。目前,腾讯已有超过50个自有产品和业务接入混元大模型测试。......
  • 2023年全国大学生数学建模竞赛赛题思路分析
    今年的数模难度和去年差不多,只是赛题的类型有所调整,粗略扫了一眼每个赛题,简单讲一下C题的思路吧。C题问题1:这道题其实考察的是最基础的数学知识,这道题可以拆解成两个小问。1.1求解蔬菜各品类及单品销售量的分布规律1)采用Excel等绘制品类销售量的直方图,利用Minitab等分析分布规律。......
  • 2023最新总结,Mac下使用Homebrew完全指南!
    2023最新总结,Mac下使用Homebrew完全指南!滚石前端成长之路  45人赞同了该文章1.介绍Homebrew是一款包管理工具,目前支持macOS和Linux系统。主要有四个部分组成:brew、homebrew-core、homebrew-cask、homebrew-bottles。 2.安装2.1执行安装脚本执行......
  • Matlab 2023a图文安装教程及下载
    MATLAB是由美国MathWorks公司出品的专业数学软件,用于算法开发,数据可视化,数据分析以及数值计算的高级技术计算语言和交互式环境,MATLAB是矩阵和实验室两个词的组合,意为矩阵工厂(矩阵实验室),主要包括MATLAB和Simulink两大部分。它将数值分析,矩阵计算,科学数据可视化以及非线性动态系统的......
  • nodejs采集淘宝、天猫网商品详情数据以及解决_m_h5_tk令牌及sign签名验证(2023-09-09)
    一、淘宝、天猫sign加密算法淘宝、天猫对于h5的访问采用了和APP客户端不同的方式,由于在h5的js代码中保存appsercret具有较高的风险,mtop采用了随机分配令牌的方式,为每个访问端分配一个token,保存在用户的cookie中,通过cookie带回服务端分配的token,客户端利用分配的token对请求的URL......
  • JOISC 2023 纪录
    记录一下JOISC2023的做题记录Day1T1TwoCurrencies给定一棵树,在边上有总计\(m\)个检查站,经过一个检查站需要叫\(1\)枚金币或者若干枚银币。\(Q\)次询问,问一个人有\(X\)枚金币和\(Y\)枚银币,能否从\(u\)走到\(v\),同时回答最多可以留下多少枚金币。发现一定是......