跳转至内容
  • C 0x01(C语言是如何进行函数调用的)

    pinkie_ctfer's Blog
    2
    1 赞同
    2 帖子
    38 浏览
    sunrisepeakS

    PC寄存器基本都是有限制的, 一般可以通过间接的方式修改。而且它一般指一个逻辑上的寄存器, 可能每个架构下实现和名字有所不同。总之, 感觉记住它是存储CPU下一条要执行的指令(在机器语言中)的内存地址就可以了

    架构 PC 名称 可否直接读取 可否直接写入 位数 x86 EIP 间接 ❌ 32 x86_64 RIP 间接 ❌ 64 ARM32 R15 / PC ✅ ✅ 32 ARM64 PC ✅ ⚠️ 限制 64 RISC-V pc ✅(模拟器) ⚠️ 部分支持 32/64 MIPS PC ❌ ❌ 32 PowerPC NIP ✅ ✅(特权) 32/64

    https://en.wikipedia.org/wiki/Program_counter

  • 2 赞同
    2 帖子
    229 浏览
    sunrisepeakS

    感觉关于项目相关的工程 (软件工程) 方面的东西是挺重要的

    目录结构 单元测试 文档 构建 ...

    了解这些后。要自己开发项目或要去使用/阅读一些其他项目, 就能很快上手并理解很多项目的结构以及他们为什么那么做

    (有时间感觉可以尝试把文章的一些内容 录成视频分享到视频平台, 应该会有不少人感兴趣)

  • C 0x00(C语言是如何进行函数调用的)

    pinkie_ctfer's Blog
    4
    2 赞同
    4 帖子
    110 浏览
    kxb520K
    太 强 了 👍
  • 0 赞同
    7 帖子
    103 浏览
    FrozenLemonTeeF

    已完成。
    最终解决方案是,通过cloneable接口的clone方法,实现具体类对象的动态创建:
    https://github.com/FrozenLemonTee/original/commit/fe14776ccc411790084dcd4ea1a002d3ee22eaa7
    https://github.com/FrozenLemonTee/original/commit/cdd94d92c29c09bb58ca4d6f4b9eadb8272e7e27

  • Hello d2ds

    已固定 d2ds | 动手学数据结构
    1
    0 赞同
    1 帖子
    71 浏览
    尚无回复