不可否认,这次的标题有点长.之所以把标题写得这么详细,主要是为了搜索引擎能够准确地把确实需要了解 GCC 生成 16 位实模式代码方法的朋友带到我的博客.先说一下背景,编写能在 x86 实模式下运行的 16 位代码,这个话题确实有点复古,所以能找到的资料也相应较少.要运行 x86 实模式的程序,目前我知道的只有两种方式,一种是使用 DOS 系统,另一种是把它写成引导扇区的代码,在系统启动时直接运行.很显然,许多讲自己实现操作系统的书籍都会讲到 x86 实模式,也只有自己实现操作系统引导的朋友需要…
特别说明:要在我的随笔后写评论的小伙伴们请注意了,我的博客开启了 MathJax 数学公式支持,MathJax 使用$标记数学公式的开始和结束.如果某条评论中出现了两个$,MathJax 会将两个$之间的内容按照数学公式进行排版,从而导致评论区格式混乱.如果大家的评论中用到了$,但是又不是为了使用数学公式,就请使用\$转义一下,谢谢. 想从头阅读该系列吗?下面是传送门: Linux 桌面玩家指南:01. 玩转 Linux 系统的方法论 Linux 桌面玩家指南:02. 以最简洁的方式打造实用的…
参考<程序员的自我修养---连接.装载与库> 以下内容转贴自 http://www.cnblogs.com/xuxm2007/archive/2013/02/21/2920890.html GNU Binutils工具 http://www.gnu.org/software/binutils/ http://sourceware.org/binutils/docs-2.23.1/ http://sourceware.org/binutils/docs-2.23.1/binutils/index…
[时间:2017-06] [状态:Open] [关键词:GNU, binutils, as, ld, ar, 基础工具,linux,链接器,汇编器] 0 简介 GNU Binary Utilities或binutils是一整套的编程语言工具程序,用来处理许多格式的目标文件.当前的版本原本由在Cygnus Solutions的程序员以Binary File Descriptor library(libbfd)所撰写.这个工具程序通常搭配GCC.make.和GDB这些程序来使用. 刚开始时,这个包内…
总览 (SYNOPSIS) gcc [ option | filename ]... g++ [ option | filename ]... 警告 (WARNING) 本手册页 内容 摘自 GNU C 编译器 的 完整文档, 仅限于 解释 选项 的 含义. 除非 有人 自愿 维护, 否则 本手册页 不再 更新. 如果 发现 手册页 和 软件之间 有所矛盾, 请 查对 Info 文件, Info 文件 是 权威 文档. 如果 我们 发觉 本手册页 的 内容 由于 过时 而 导致 明显 的 混乱…
概述 从事 Linux 开发的朋友们都不可避免地用到一些工具,比如 objcopy.nm.objdump.readelf 等等.其实这一系列的工具,就是所谓的 Binutils,当然 GNU 就表示它们都是可以自由地使用的 GNU 软件. GNU Binutils,是 GNU Binary Utilities 的简写,一般简称为 Binutils.中文可以翻译为 GNU 的二进制工具集.显然,Binutils 是一组二进制工具的集合.也就是说,Binutils 不是指某一个工具,而是指一组工具,…
centos  LNMP第一部分环境搭建 LAMP安装先后顺序  LNMP安装先后顺序 php安装 安装nginx  编写nginx启动脚本   懒汉模式  mv   /usr/local/php/{p.conf.default,p.conf}  php运行方式SAPI介绍  第二十三节课 推荐搜狐下载地址:http://mirrors.sohu.com/nginx/ LAMP安装先后顺序:mysql->apache->php LNMP安装先后顺序:mysql->php->ngin…
一些约定 主引导扇区代码(0面0道1扇区)加载至0x07c00处 用户程序头部代码需包含以下信息:程序总长度.程序入口.重定位表等信息 用户程序 当虚拟机启动时,在屏幕上显示以下两句话: This is user program,it just to display basic information.This contents is written in 2014-06-01. 定义各程序段 ;用户程序头部信息 SECTION header align= vstart= ;代码段1 SECTI…
原文地址:http://www.vcerror.com/?p=1483 问题描述: 用VC2013编译了一个程序,在Windows 8.Windows 7(64位.32位)下都能正常运行.但在Win XP,Win2003下运行时,却报错不能运行,具体错误信息为"指定的可执行文件不是有效的 Win32 应用程序". 用VS2012或VS2013在win7下编写的程序在XP下运行就出现"不是有效的win32应用程序 问题分析: 用eXeScope打开该exe,发现操作系统需求为&…
Win32主程序需要以下设置 第一步:在工程属性General设置 第二步:在C/C++ Code Generation 设置 第三步:SubSystem 和  Minimum Required Version 设置 如果Win32依赖一些额外的库,那些库也设置一下,防止程序运行失败 如何让VS2013编写的程序在XP下运行 作者:Dr Yao链接:http://www.zhihu.com/question/25415940/answer/30803949来源:知乎著作权归作者所有.商业转载请联…