在讲解大型项目如何被构建之前,我们首先来讨论一个问题,有句话说的很好,梦想总是要有的,万一实现了呢,那么问题来了,要怎么实现呢,这里就涉及到了如何实现目标,
目标是如何实现的
其实很简单,本质上只有两
码农的荒岛求生 订阅号
底层的任何疑惑都能在这找到答案
全部文章
-
-
我们继续来讲解链接器的重定位。 程序的运行过程就是CPU不断的从内存中取出指令然后执行执行的过程,对于函数调用来说比如我们在C/C++语言中调用简单的加法函数add,其对应的汇编指令可能是这样的: -
我们继续来看动态链接。 我们知道静态库在编译链接期间就被打包copy到了可执行文件,也就是说静态库其实是在编译期间(Compile time)链接使用的,那么动态库又是在什么时候才链接使用的呢,动态链 -
在链接器可操作的元素这一节中我们提到,链接器可以操作的最小单元为目标文件,也就是说我们见到的无论是静态库、动态库、可执行文件,都是基于目标文件构建出来的。目标文件就好比乐高积木中最小的零部件。 给定目 -
在链接器可操作的元素一节中我们提到,所有的应用程序都是链接器将所需要的一个个简单的目标文件汇集起来形成的。你可以将这个过程想象成拼图游戏,每个拼块就是一个简单的目标文件: 1,拼图游戏当中的每个拼块都 -
在介绍本章的主题之前,我们先来看几个问题: 问题一 写C/C++的同学应该经常遇到这样的一个Error: "undefined reference to ABC" 在遇到这样的问题时你知道这背后到底
-
目录 库(Library)的定义 为什么需要库 库是如何生成 库里面有什么 库的分类 如何创建库 什么是标准库 标准库的优点 这是承接上一篇文章《不简单的hell -
目录 库(Library)的定义 为什么需要库 库是如何生成 库里面有什么 库的分类 如何创建库 什么是标准库 标准库的优点 在上一篇文章当中我们分析了hello -
今天我们就来说说在程序界里无人不知无人不晓大名鼎鼎的Hello World,好比数学界里大名鼎鼎1+1=2,无数码农入坑正是从写这样一段代码开始的,从此踏入了万劫不复的深渊一发不可收拾。。。这段代码是 -
你是一名C++大牛,正在开发公司的核心业务系统,这个系统里有一套统一的日志接口: class ILogger { public: virtual void log(const std::str
-
你是一名1980年代初的C语言程序员,正在开发图形界面库,今天你需要处理圆形、矩形、三角形,每种图形都要实现两个操作:绘制和计算面积。 你喝了口咖啡,开始敲代码。 你的第一版代码是这样的: void
-
1965年,你是一名操作系统工程师,计算机刚刚从单任务时代进入多任务时代——现在一台计算机可以同时运行多个程序了。 但你面临一个棘手的问题:只有一个CPU,10个程序都想运行,该让谁先执行? 这是个看
-
"线上服务崩了!但日志里什么都没有,程序还没进main函数就挂了!"运维工程师的声音里带着慌张。 这个数据库服务已经稳定运行了三个月,为什么发布新版本突然崩溃?更诡异的是,今天的发布只是加了一个无关紧
-
出于对Linux操作系统的兴趣,以及对底层知识的强烈欲望,因此整理了这篇文章。本文也可以作为检验基础知识的指标,另外文章涵盖了一个系统的方方面面。如果没有完善的计算机系统知识,网络知识和操作系统知识, -
你是一名C++程序员,负责开发公司的核心的股票交易系统,老板见到你都得喊一声哥,系统的核心是一个Stock类,存储股票的实时价格: class Stock { private: std::st
-
通知:很多同学和我反馈经常看不到发布的文章,现在公众号已经不按照发送时间推荐了,而是根据一些规则乱序推送,所以可能关注了「码农的荒岛求生」也一直看不到文章,可以把「码农的荒岛求生」设置星标,设置星标