随笔分类 -  编译原理

区块链入门教程
摘要:区块链(blockchain)是眼下的大热门,新闻媒体大量报道,宣称它将创造未来。 可是,简单易懂的入门文章却很少。区块链到底是什么,有何特别之处,很少有解释。 下面,我就来尝试,写一篇最好懂的区块链教程。毕竟它也不是很难的东西,核心概念非常简单,几句话就能说清楚。我希望读完本文,你不仅可以理解区块 阅读全文

posted @ 2018-03-08 14:25 AlanTu 阅读(3760) 评论(1) 推荐(0) 编辑

汇编语言入门教程
摘要:学习编程其实就是学高级语言,即那些为人类设计的计算机语言。 但是,计算机不理解高级语言,必须通过编译器转成二进制代码,才能运行。学会高级语言,并不等于理解计算机实际的运行步骤。 计算机真正能够理解的是低级语言,它专门用来控制硬件。汇编语言就是低级语言,直接描述/控制 CPU 的运行。如果你想了解 C 阅读全文

posted @ 2018-03-08 14:23 AlanTu 阅读(4149) 评论(0) 推荐(0) 编辑

ldd 的一个安全问题
摘要:我们知道“ldd”这个命令主要是被程序员或是管理员用来查看可执行文件所依赖的动态链接库的。是的,这就是这个命令的用处。可是,这个命令比你想像的要危险得多,也许很多黑客通过ldd的安全问题来攻击你的服务器。其实,ldd的安全问题存在很长的时间了,但居然没有被官方文档所记录来下,这听上去更加难以理解了。 阅读全文

posted @ 2018-03-03 22:50 AlanTu 阅读(477) 评论(0) 推荐(0) 编辑

windows下LIB和DLL的区别与使用
摘要:共有两种库: 一种是LIB包含了函数所在的DLL文件和文件中函数位置的信息(入口),代码由运行时加载在进程空间中的DLL提供,称为动态链接库dynamic link library。 一种是LIB包含函数代码本身,在编译时直接将代码加入程序当中,称为静态链接库static link library。 阅读全文

posted @ 2018-02-25 22:34 AlanTu 阅读(9785) 评论(1) 推荐(2) 编辑

预处理、编译和运行的区别
摘要:相信很多人懂这个问题,也很多人没想过,包括我,今天看书想到了就写下来。先看程序(抱歉在linux下没有找到舒服的可以复制terminal的工具,只好截图了,将就着看看) 注释的就先不看了,看那几行没有注释的enum coordinate_type 表示一个枚举(Enumeration)类型。枚举类型 阅读全文

posted @ 2018-02-25 22:23 AlanTu 阅读(2355) 评论(0) 推荐(0) 编辑

采用dlopen、dlsym、dlclose加载动态链接库
摘要:1、前言 为了使程序方便扩展,具备通用性,可以采用插件形式。采用异步事件驱动模型,保证主程序逻辑不变,将各个业务已动态链接库的形式加载进来,这就是所谓的插件。linux提供了加载和处理动态链接库的系统调用,非常方便。本文先从使用上进行总结,涉及到基本的操作方法,关于动态链接库的本质及如何加载进来,需 阅读全文

posted @ 2018-02-25 10:56 AlanTu 阅读(2537) 评论(0) 推荐(0) 编辑

多个文件目录下Makefile的写法
摘要:1、前言 目前从事于linux下程序开发,涉及到多个文件,多个目录,这时候编译文件的任务量比较大,需要写Makefile。关于Makefile的详细内容可以参考网上流传非常广泛的《跟我一起写Makefile》http://blog.csdn.net/haoel/article/details/288 阅读全文

posted @ 2018-02-25 09:48 AlanTu 阅读(3019) 评论(0) 推荐(0) 编辑

计算机科学基础知识(六)理解栈帧
摘要:一、前言 本文以一个简单的例子来描述ARM linux下的stack frame。 本文也是对tigger网友问题的回复。 二、源代码 #include <stdio.h> static int static_interface_leaf( int x, int y ) { int tmp0 = 0 阅读全文

posted @ 2018-02-21 22:15 AlanTu 阅读(1883) 评论(0) 推荐(0) 编辑

傅立叶级数(Fourier Series)和周期现象
摘要:一、前言 如果你仔细观察,工作和生活中充满了周期现象:旁边linux driver工程师在调试audio driver的时候播放的1kHz的正弦信号,周末去公园游玩,游船推开水面的波纹,硬件工程师调试硬件电路的时候,示波器显示出来的晶振方波信号…… 所谓周期现象具体包括时间上的周期现象和空间上的周期 阅读全文

posted @ 2018-02-21 22:07 AlanTu 阅读(2401) 评论(0) 推荐(0) 编辑

计算机科学基础知识(一)The Memory Hierarchy
摘要:一、前言 最近一个问题经常萦绕在我的脑海:一个学习电子工程的机械师如何称为优秀的程序员?(注:本文作者本科学习机械设计,研究生转到电子工程系学习,毕业后却选择了系统程序员这样的职业)。经过思考,我认为阻挡我称为一个优秀程序员的障碍是计算机科学的理论知识。自然辩证法告诉我们:理论源于实践,又指导实践, 阅读全文

posted @ 2018-02-21 22:06 AlanTu 阅读(894) 评论(0) 推荐(0) 编辑

基本电路概念(二)什么是电容?
摘要:一、前言 我儿子对电路板有一种近乎疯狂的痴迷,每次周末加班的时候,他总是恳求我带他一起到公司,就是为了能够看一看电路板、看一看电路焊接过程。为了不影响工作,我只能是找一些废旧的电路板,加上从蜗窝同学那里搜刮来的电烙铁给小朋友进行电路焊接演示。废旧电路板上有不少的器件,于是问题少年的问题就来了,芯片里 阅读全文

posted @ 2018-02-21 22:05 AlanTu 阅读(3394) 评论(0) 推荐(0) 编辑

基本电路概念(一)什么是电压?
摘要:基本电路概念之(一):什么是电压? 作者:linuxer 发布于:2014-5-16 10:40 分类:基础学科 一、前言 我有一个奇葩儿子(4岁),经常问一些奇葩的问题。比如:为什么电子带负电?什么是电压?电路板是怎么生产的?发动机的内部结构是什么?……总之,各种问题层出不穷。有一天回家,他正和他 阅读全文

posted @ 2018-02-21 22:04 AlanTu 阅读(1236) 评论(0) 推荐(0) 编辑

导航