前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >01-C语言进阶篇与常见面试题笔记

01-C语言进阶篇与常见面试题笔记

作者头像
CtrlX
发布2022-10-04 17:10:24
2890
发布2022-10-04 17:10:24
举报
文章被收录于专栏:C++核心编程C++核心编程

01.工具原理及C语言语法基础

1.1 - 计算机指令概述及C语言如何学

计算机工作方式简介

可以把内存暂且人认为是存储指令的仓库,cpu从仓库中取出指令一条条执行,cpu需要通过地址找到内容,所以需要一个地址线

,通过地址线的选择选到仓库中的某一个位置,cpu向仓库发出读写的命令,内存就会通过一条数据线与cpu进行相应的读写操作。

image
image

内存成本高,速度快 外存成本低,速度慢,但是容量大

image
image

问题:CPU里的指令长什么样?

ARM处理器的指令,以-32bit的指令为例

对于32位的理解:可以理解为有32个盒子,每个盒子有两种选择,2^32个选择

image
image
image
image

汇编语言不便于阅读

image
image

1.2 - 编译器介绍及系统环境变量

翻译官有哪些?

  • 微软阵营(闭源):MSVC(vs编译器内部标准)
  • 开源组织阵营GNU:gcc
image
image

为了偏向于底层的开发所以选择WinGW进行学习。

minGW

安装教程参考:https://blog.csdn.net/wxh0000mm/article/details/100666329

MinGW 的全称是:Minimalist GNU on Windows 。它实际上是将经典的开源 C语言 编译器 GCC 移植到了 Windows 平台下,并且包含了 Win32API 和 MSYS,因此可以将源代码编译生成 Windows 下的可执行程序,又能如同在 Linux 平台下时,使用一些 Windows 不具备的开发工具。一句话来概括:MinGW 就是 GCC 的 Windows 版本 。

在wingw中include的头文件在哪里?

image
image

注意:WinGW的工具链有时可能不是放在根目录的include文件中,而是放在下面的工具目录中,有的版本可能放在根目录。

image
image
真正的头文件存放处
真正的头文件存放处
image
image

注意要将bin文件路径添加到环境变量,里面包含gcc.exe

1.3 - 编译器工作流程介绍

在要编译的a.c文件目录下命令行输入gcc a.c -o b.exe -v,其中加上-v的作用是查看编译器的工作流程。

PS:gcc a.c -o b.exe -v之间各个命令的顺序可以调换,比如写成gcc -v -o b.exe a.c

image
image
image
image

终端反馈分析:

前面的部分代码是gcc的版本信息,可以忽略

image
image

首先gcc通过cc1.exe程序生成了ccfJngfc.s汇编文件(注意与第一节课的arm汇编体系不是一个体系)

image
image

下一步gcc做了个头文件的处理,详情见后面章节

image
image

之后gcc使用了as.exe程序将ccfJngfc.s汇编文件生成了ccYI261D.o文件,最后转换成exe文件。

image
image

翻译官的工作流程

image
image

02.C语言空间操作篇

2.1 - 数字进制表示法01

03.C语言函数设计篇

04.C语言常见面试题篇

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

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 01.工具原理及C语言语法基础
    • 1.1 - 计算机指令概述及C语言如何学
      • 1.2 - 编译器介绍及系统环境变量
        • 1.3 - 编译器工作流程介绍
        • 02.C语言空间操作篇
          • 2.1 - 数字进制表示法01
          • 03.C语言函数设计篇
          • 04.C语言常见面试题篇
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档