当前位置:网站首页>【精通高并发】深入理解C语言基础与汇编下的C语言
【精通高并发】深入理解C语言基础与汇编下的C语言
2022-06-25 15:57:00 【华为云】
作者简介:小明的Java问道之路,某大型金融互联网公司后端研发高级工程师,擅长订单/交易领域的高安全/可用/并发/性能的架构设计与落地,专注于研究计算机底层与金融科技领域技术
如果此文还不错的话,还请关注、点赞、收藏三连支持一下博主
本文导读:C语言基础部分不过多赘述,主要讲解结构体、指针和数组原理,并分析汇编下的C语言。Liunx内核和JNI都是通过C编写,这部分主要讲解通过操作指针和内存执行程序的思想,对后续Hotspot和java的api的理解有很重要的作用。
二、C语言基础
1.结构体应用
必须使用struct语句,struct语句定义了一个包含多个成员的数据类型
2.从汇编的角度看结构体
从此段简单的代码分析,name和age地址相差8个字节,整好是一个整形4个字节+4个字节填充,我们将其反汇编,看下汇编代码的实现。
每个变量都会有一个内存地址,每个内存地址都可以使用&访问,他表示在内存中的地址。首先明确一个概念,指针就是一个变量,其值就是另一个变量的地址(内存位置的直接地址),所有使用的时候必须先声明。
将上述代码反汇编之后的代码,作者为64位系统
5.一些指针的基础应用
通过指针访问数组,数组是连续的空间,指针中保存的是对应数据的地址,声明数组的时候就是默认新开辟连续的地址空间的第一个元素的地址,使用var[index] 等价于我们直接操作指针 * 引用获取元素;
指针数组就是保存元素地址(指针)的数组
边栏推荐
- 根据先序遍历和中序遍历生成后序遍历
- Collection overview, array encapsulation
- 10 Super VIM plug-ins, I can't put them down
- Stop "outsourcing" Ai models! The latest research finds that some "back doors" that undermine the security of machine learning models cannot be detected
- Bypass technology to talk about 'cross end'
- 数字经济时代文化消费新特征
- What can one line of code do?
- Activation and value transfer of activity
- Flutter textfield setting can input multiple lines
- Nsurlsession learning notes (III) download task
猜你喜欢

Helsinki traffic safety improvement project deploys velodyne lidar Intelligent Infrastructure Solution

cmd。。。。。。

Navicat premium 15 for MAC (database development tool) Chinese version

炮打司令部,别让一个UI框架把你毁了

Stop "outsourcing" Ai models! The latest research finds that some "back doors" that undermine the security of machine learning models cannot be detected

The paid video at station B caused the up master to lose more than ten thousand fans

The third day of mysql45

Resolve the format conflict between formatted document and eslint

Understand the execution sequence of try catch finally in one diagram

Day_ 18 hash table, generic
随机推荐
Android修行手册之Kotlin - 自定义View的几种写法
Day_ eleven
普通人的2022春招总结(阿里、腾讯offer)
Bugly hot update usage
什么是骨干网
[Third Party framework] retrofit2 (1) of network request framework -- Getting Started Guide
Function and implementation of closures
Servlet详解
一行代码可以做什么?
DINO: DETR with Improved DeNoising Anchor Boxes for End-to-End Object Detection翻译
Read mysql45 the next day
flutter
【 apprentissage automatique】 cas de prévision et d'analyse de l'examen d'entrée à l'Université basé sur des séries chronologiques multiples
论文笔记:LBCF: A Large-Scale Budget-Constrained Causal Forest Algorithm
iVX低代码平台系列详解 -- 概述篇(一)
Mysql database multi table query
八种button的hover效果
Navicat premium 15 for MAC (database development tool) Chinese version
20省市公布元宇宙路线图
[Third Party framework] retrofit2 (2) - add point configuration of network access framework