My Love

I will be stronger


  • 主页

  • 关于我

  • 标签

  • 分类

  • 归档

编译那些事儿2-编译、汇编、链接(完结)

发表于 2018-06-30
字数统计: 841 | 阅读时长 ≈ 2
之前介绍了计算机编译静态语言的过程,以及编译过程四个阶段中的第一个阶段预编译。 预编译就是编译前将程序内头文件相关以及条件编译相关的内容加入到程序文件中,去掉注释等对程序执行无用的相关信息。 预编译完成后就是编译阶段,这时编译器会将预编译产生的文件翻译成汇编代码。 编译阶段编译器在编译阶段会根据编译器的语法规则对待编译文件(预处理阶段产生的*.i文件)进行语法和词法分析,然后将其转换为汇编语言,通过在编译选项中加入-S命令产生汇编文件。这不同于高级语言中的解释程序,解释程序是边解释边执行,一 ...
阅读全文 »

编译那些事儿1-预编译

发表于 2018-06-21 | 分类于 linux
字数统计: 989 | 阅读时长 ≈ 3
最近要深入了解一下计算机的内部结构了,准备看一下《深入理解计算机系统》这本书,这就当是自己的学习笔记吧。 这里都是以Unix或类Unix操作系统为基础做的工作。 编译包括什么编译一般分为四个阶段:预处理、编译、汇编、链接。这里就认真了解一下预编译的事儿。 生成预处理文件比如我们有一个c语言编写的”hello.c”文件如下: 123456#include <stdio.h>void main(){ printf("Hello world\n");} gcc ...
阅读全文 »

ipython使用笔记

发表于 2018-06-20 | 分类于 python
字数统计: 666 | 阅读时长 ≈ 2
ipython中可以使用edit命令编辑文件内容,edit打开文件的方式根据系统已安装编辑器决定,也可以通过执行ipython前使用1export EDITOR=vim 自己指定编辑器类型。 比如:1edit t.py 输入:1l = range(10) 通过run命令可以执行python脚本: 123456run t.py--------------------In [8]: lOut[8]: range(0, 10) 可以看到,执行完t.py这个脚本后,l就可以被识别到了。 使用 ...
阅读全文 »

各种printf总结

发表于 2018-06-13 | 分类于 linux
字数统计: 2.2k | 阅读时长 ≈ 8
编程中printf是每个人都很熟悉的,但是与printf相关的那些函数你了解过吗?这里总结一下。 printf功能:很常用的printf函数,用于将数据以特定的格式输出到标准输出设备stdout(通常就是我们的终端界面)。 函数声明: 1int printf(const char *format, ...) 返回值:int类型数据。看到没,其实printf是有返回值的,而且是int类型,这个以前还真没有注意过。 参数: format:格式说明。 …:变长参数列表 dprintf功能:将数据写 ...
阅读全文 »

指针数组、数组指针和指针函数、函数指针

发表于 2018-06-06 | 分类于 linux
字数统计: 1.7k | 阅读时长 ≈ 5
今天总结一下指针与函数和数组结合时产生的一些容易让人混淆的数据类型。 其实认清指针、函数、数组的本质这也就不是问题了,之前每太搞清楚,这里总结一下。 概念指针是什么?指针就是用于存放一块内存区域的头地址的变量(注意头地址),通常称为该指针指向该内存空间。只不过这个变量有类型之分,比如int类型的指针指向的是存放int型数据的内存地址,char型指针指向的是存放char类型数据的内存地址。 数组是什么?数据就是程序预先开辟出固定空间大小的内存区域,用于存放特定书类型数据的一块内存空间,通常用数组名 ...
阅读全文 »
1…111213…17
Jony Chiao

Jony Chiao

bulabula

84 日志
12 分类
22 标签
GitHub E-Mail
© 2017 — 2022 Jony Chiao
访问人数 访问总量 次