前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >编译器初识

编译器初识

作者头像
sofu456
发布2020-07-30 22:37:51
6290
发布2020-07-30 22:37:51
举报
文章被收录于专栏:sofu456sofu456

汇编语言

汇编语言对应cpu指令集(二进制机械码),兼容性不好,不能跨平台,arm的汇编和x86汇编差别很大

处理器指令集:https://cloud.tencent.com/developer/article/1671396

  • 并发,当有多个线程在操作时,如果系统只有一个CPU,则它根本不可能真正同时进行一个以上的线程,它只能把CPU运行时间划分成若干个时间段,再将时间 段分配给各个线程执行,在一个时间段的线程代码运行时,其它线程处于挂起状。.这种方式我们称之为并发(Concurrent)
  • 并行,当系统有一个以上CPU时,则线程的操作有可能非并发。当一个CPU执行一个线程时,另一个CPU可以执行另一个线程,两个线程互不抢占CPU资源,可以同时进行,这种方式我们称之为并行(Parallel)

多核cpu和多cpu:https://www.zhihu.com/question/271821176

汇编中没有线程概念,进程是操作系统为了实现并发组织的集合结构

编译器

编译目标:X86(gcc)、arm(arm-linux-gcc编译)等处理器架构

汇编直译的代码可以可以绕过内核(写入内核的汇编代码),没有系统函数之间的层级调用(汇编没有c语言那样的头文件定义) https://www.zhihu.com/question/43575404?sort=created

  • crt是c语言用户层系统封装,c依赖头文件
  • 内核头文件代码定义硬件地址等信息

编译原理

  • 词法分析
  • 语法分析,生成AST

coff/elf文件

cof(编译obj),Common Object File Format

–>扩展cof文件,结构和elf、pe基本相同

elf(linux),Executable And Linkable

pe(windows),Portable Executable

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2020-07-29 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 汇编语言
  • 编译器
  • 编译原理
  • coff/elf文件
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档