当前位置: 首页 > news >正文

政府网站建设长沙网络营销的营销理念

政府网站建设长沙,网络营销的营销理念,网络广告营销策略,响应式网站源码.net敲黑板:课程用的是 GNU 汇编器,macOS 和 Linux 已内置,本文的汇编语言的写法是 GNU 汇编器规定的写法。Windows 系统可安装 MinGW 或 Linux 虚拟机。 对于静态编译型语言,比如 C 语言和 Go 语言,编译器后端的任务就是生成汇编代码,然后再由汇编器生成机器码,生成的文件叫…

敲黑板:课程用的是 GNU 汇编器,macOS 和 Linux 已内置,本文的汇编语言的写法是 GNU 汇编器规定的写法。Windows 系统可安装 MinGW 或 Linux 虚拟机。

对于静态编译型语言,比如 C 语言和 Go 语言,编译器后端的任务就是生成汇编代码,然后再由汇编器生成机器码,生成的文件叫目标文件,最后再使用链接器就能生成可执行文件或库文件了。

就算像 JavaScript 这样的解释执行的语言,也要在运行时利用类似的机制生成机器码,以便调高执行的速度。Java 的字节码,在运行时通常也会通过 JIT 机制编译成机器码。而汇编语言是完成这些工作的基础。

对你来说,掌握汇编语言是十分有益的,因为哪怕掌握一小点儿汇编技能,就能应用到某项工作中,比如,在 C 语言里嵌入汇编,实现某个特殊功能;或者读懂某些底层类库或驱动程序的代码,因为它可能是用汇编写的。

本节先带你了解一下汇编语言,来个破冰之旅。然后在接下来的课程中再带你基于 AST 手工生成汇编代码,破除你对汇编代码的恐惧,了解编译期后端生成汇编代码的原理。

以后,当你看到高级语言的代码,以及 IR 时,就可以想象出来它对应的汇编代码是什么样子,实现从上层到底层认知的贯通。

了解汇编语言

机器语言都是 0101 的二进制的数据,不适合我们阅读。而汇编语言,简单来说,是可读性更好的机器语言,基本上每条指令都可以直接翻译成一条机器码。

跟你日常使用的高级语言相比,汇编语言的语法特别简单,但它要跟硬件(CPU 和内存)打交道,我们来体会一下。

计算机的处理器有很多不同的架构,比如 x86-64、ARM、Power 等,每种处理器的指令集都不相同,那也就意味着汇编语言不同。我们目前用的电脑,CPU 一般是 x86-64 架构,是 64 位机。(如不做特别说明,本课程都是以 x86-64 架构作为例子的)。

说了半天,汇编代码长什么样子呢?用 C 语言写的例子来生成一下汇编代码。

#include <stdio.h>
int main(int argc, char* argv[]){printf("Hello %s!\n", "Richard");return 0;
}

在 macOS 中输入下面的命令,其中的 -S 参数就是告诉编译器把源代码编译成汇编代码,而 -O2 参数告诉编译器进行 2 级优化,这样生成的汇编代码会短一些:

clang -S -O2 hello.c -o hello.s
或者:
gcc -S -O2 hello.c -o hello.s

生成的汇编代码是下面的样子:

 .section    __TEXT,__text,regular,pure_instructions.build_version macos, 10, 14    sdk_version 10, 14.globl  _main                   ## -- Begin function main.p2align    4, 0x90
_main:                                  ## @main.cfi_startproc
## %bb.0:pushq   %rbp.cfi_def_cfa_offset 16.cfi_offset %rbp, -16movq    %rsp, %rbp.cfi_def_cfa_register %rbpleaq    L_.str(%rip), %rdileaq    L_.str.1(%rip), %rsixorl    %eax, %eaxcallq   _printfxorl    %eax, %eaxpopq    %rbpretq.cfi_endproc## -- End function .section    _
http://www.ds6.com.cn/news/43220.html

相关文章:

  • 做包子网站9 1短视频安装
  • 在线音乐制作网站sem竞价推广代运营收费
  • 创建网站的注意事项如何做个网站推广自己产品
  • 广东深圳是一个城市吗seo外包公司费用
  • 网站备案接入服务商友情链接检测工具
  • 上海静安网站制作口碑营销是什么
  • 东莞网站建设基础郑州网站设计
  • 新闻网站排行榜b站推广网站2024mmm
  • wordpress搭建的网站邀请推广app
  • 建设银行网站官方网站纯注册app拉新平台
  • 做电影网站赚钱seo俱乐部
  • 东莞网站建设服务商谷歌paypal下载
  • 安阳流调报告关键词排名优化提升培训
  • 网站开发前端和后端用什么语言免费的网页制作软件
  • 山西城乡建设部网站首页双11销售数据
  • 上海网站建设要多少钱灰色行业推广渠道
  • 北京网站代理备案谷歌搜索引擎香港入口
  • 上海专业做网站服务商长沙网络科技有限公司
  • 培训怎么样网页设计上海网站关键词排名优化报价
  • 2023吉林疫情最新消息今天北京seo推广系统
  • 设计logo免费图片嘉兴seo网络推广
  • 哪些网站可以做招商广告网络营销文案实例
  • 培训机构网站模板百度广告投放电话
  • 怎么做网站像淘宝这样的优化网站收费标准
  • 免费下载公司宣传册设计样本seo查询系统源码
  • 家用机能否做网站服务器seo诊断的网络问题
  • 网站开发参考文献格式网站宣传和推广的方法有哪些
  • 网站维护预算steam交易链接在哪
  • 沈阳做网站的企业自助建站系统开发
  • 自助建站最好的平台谷歌seo零基础教程