頭條 世界首款微处理器MP944被复活 7月27日,嵌入式系统专家亚当·泰勒使用FPGA(现场可编程门阵列)复刻F-14雄猫战斗机的中央大气数据计算机,将其装入3D打印的F-14模型中,成功控制后者的可变后掠翼系统。 该系统核心为MP944微处理器,1970年6月随F-14服役,比1971年11月问世的英特尔4004早近一年半,此前因军事保密1998年才解密,是世界首款微处理器,性能较英特尔4004快约8倍。亚当·泰勒基于Spartan 7的SoM模块复现了MP944全部六块芯片,目前该项目的全部代码和文档已公开在GitHub,供全球开发者查阅。 最新資訊 简要介绍编译器工作过程的11步 源码要运行,必须先转成二进制的机器码。这是编译器的任务。 比如,下面这段源码(假定文件名叫做test.c)。 發表于:2015/9/18 为什么按照书上的代码,编译老是出错? 老是又小伙伴在群里说我的代码是按照书上的代码敲的,就是编译不过?想不通呀!目前市面上的一些书都是十来年以前编写的了,你不幸看的还是这些书,错误原因就在这里。 發表于:2015/9/18 编译器后门与防御 Shawn the R0ck 写道 "PoC||GTFO是最近几年深受0ld sch00l黑客喜爱的电子杂志,最近的一期(第8期)里有一篇名为Deniable Backdoors Using Compiler Bugs(利用编译器Bug的可抵赖后门)的文章,作者向我们展示了一种可能的威胁,这个威胁模型是需要两个条件:1)一个可利用的编译器miscompilation bug; 2) 向目标的开源社区提交看起来不怎么像后门的patch。作者修改了Sudo 1.8.13的少量代码去利用Clang/LLVM 3.3的一个bug,最终导致提权。相比传统的编译器后门和传统软件后门(比如疑似NSA对Linux内核代码的植入),这种方式更加的隐蔽,因为它是针对特定版本的编译器下手。 發表于:2015/9/18 为什么每个程序员都应学习代码编译器知识 所有优秀的计算机科学学院都提供了编译器课程,但是相对比较少的学校把它作为本科课程的必修部分。这篇文章回答了这个问题:为什么需要学习编译器知识?即使你从没打算过编写编译器。 發表于:2015/9/18 编译器的工作过程 源码要运行,必须先转成二进制的机器码。这是编译器的任务。 比如,下面这段源码(假定文件名叫做test.c)。 發表于:2015/9/18 DSP编程技巧之:详解cmd文件 cmd文件是编译完成之后链接各个目标文件时,用来指示各个数据、符号等是如何划分到各个段,以及每个段所使用的存储空间的。许多筒子对cmd文件有畏难情绪,不容易理解各个段的含义,特别是在程序编译没有问题。 發表于:2015/9/18 DSP编程技巧之:不得不看的编译指示 编译指示(Pragma Directives)可能是所有的预处理指令中最复杂的了,它的作用是设定编译器的状态或者是指示编译器完成一些特定的动作。 發表于:2015/9/18 DSP编程技巧之:非常“关键”的关键字 什么是“关键字”?关键字就是已被C语言本身使用,不能作其它用途使用的字,例如关键字不能用作变量名、函数名等。那“关键字”到底有多关键?简单得说,就是如果不掌握它们的使用方法,程序就不能按照我们的设计产生预期的结果。 發表于:2015/9/18 DSP编程技巧之:使用代码优化时必须考虑的五大问题 前面我们提到了使用编译器的优化选项进行不同级别的代码优化的方法。俗话说“好马配好鞍”,即使我们有了强大的代码优化工具,使得我们书写的符合ANSI/ISO C/C++的代码能被高效执行,我们在写代码时也要考虑到一些必要的原则,从而既能实现代码的优化。 發表于:2015/9/18 DSP编程技巧之:数据类型 DSP的C/C++编程时有多少种数据类型?float,double和long double,long和long long这些绕口的名字究竟有什么区别?数据类型使用不正确又会有什么后果?如果你感觉说不清楚,那我们来看看这些到底都是何方神圣吧。 發表于:2015/9/18 <…185186187188189190191192193194…>