当前位置:  技术问答>linux和unix

关于C语言的问题

    来源: 互联网  发布时间:2017-03-17

    本文导语:  这些天,一直在看操作系统方面的书籍,包括《Linux0.11内核完全注释》和《自己动手写操作系统》。自己写了一点代码,目前用汇编写引导扇区和进入保护模式都通过了,现在准备用C语言继续写些代码做些实验。本...

这些天,一直在看操作系统方面的书籍,包括《Linux0.11内核完全注释》和《自己动手写操作系统》。自己写了一点代码,目前用汇编写引导扇区和进入保护模式都通过了,现在准备用C语言继续写些代码做些实验。本以为可以高高兴兴步入C,结果问题来了..用gcc编译C程序得到的是ELF格式的,今天研究了下ELF格式,弄了个半懂。说实话,现在就想快速用C做些开发, 真的不大想花大精力研究其他文件格式,所以特来问下,用C写的程序一定先被编译成ELF格式的吗,或其他经过加工的二进制? 有没有办法直接生成对应的二进制代码?不知道当时linux0.11的映像文件是如何编译得到的

|
@max_godlike,
通过GCC编译输出的是ELF文件格式,但是toolchain里面有一个工具objcopy将elf转化为可以直接运行的binary文件。参考命令如下(具体自己查看对应的man 手册吧):
# objcopy -O binary -R .note -R .comment -S output.elf output.bin

下面再说下ELF与binary的区别:
ELF要运行一般是需要加载器来复杂加载运行的,加载器要负责处理重定位表,符号等。而binary格式是可以直接从入口地址运行的。bootloader(uboot)与kernel的映像文件(image)你就可以理解为是先用gcc编译为elf文件,然后在用objcopy工具转化binary的。所以他们可以直接烧到flash上运行,不需要要加载器。

    
 
 

您可能感兴趣的文章:

  • 一个小问题。Linux下编程语言的问题。
  • 请教UNIX下编程语言的选择问题
  • freeBSD下语言的选型问题的请教
  • 初装RedHat9.0,关于语言安装的问题请教
  • SuSE 9.3语言问题
  • 关于以English默认语言登录的 中文输入法的问题
  • 请问在UNIX系统下C语言中的数据类型转换的问题
  • 请教C语言问题
  • c语言的.c和.h问题
  • redhat的语言安装的问题
  • !关于计算机及语言发展的问题
  • 安装linux9我选择系统语言一直为English,上网后不能显示中文的问题!
  • expect语言大批量非交互修改密码问题
  • 安装了red hat的系统语言问题
  • C语言 float问题
  • 现在我用c语言在linux下写一个服务端程序现发现了内存泄漏问题
  • C语言中函数声明与调用问题
  • 关于sql查询语言的一个问题!
  • 菜鸟问题——其他语言怎样使用Java编写的程序(明确地说,使Class)
  • 请问在linux下的c语言中如何删除由tmpfile()函数创建的临时问题
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 2013年7月和2013年8月编程语言排行榜
  • 如何在GTK2.0下实现国际化(语言选择根据自己设置的语言,不用系统的语言)
  • 2017 年热门编程语言排行榜出炉,你的语言上榜没?
  • C语言中有指针,因此C语言可以创建链表,那么Java语言没有指针,那Java是否可以创建链表呢?
  • 苹果OS X和IOS下最新编程语言swift介绍
  • 求助,在linux下,c语言和汇编语言的接口是什么?
  • c语言判断某一年是否为闰年的各种实现程序代码
  • C语言中间语言 CIL
  • PHP编程语言介绍及安装测试方法
  • 最近学JSP,苦于HTML语言和JAVA语言太差,请教推荐几本书,thanks.
  • Linux下C语言strstr()查找子字符串位置函数详细介绍(strstr原型、实现及用法)
  • 动态编程语言 LIME编程语言
  • c语言实现MD5算法完整代码示例
  • C语言如何改变当前语言环境
  • 以NetBeans IDE为例介绍如何使用XML中Schema语言
  • 如何在VIM中使汇编语言和C语言自动缩进?
  • c语言基于libpcap实现一个抓包程序过程
  • 我安装的linux时默认语言选择的是中文,又乱码,怎么可以解决?怎么更改默认语言成英文?
  • HTML超文本标记语言教程及实例
  • Redhat9安装时语言只选择了中文,现在还能再增加其它语言的支持吗?如英文
  • MD5算法的C语言实现
  • 请问哪里有ubuntu 9.0版本的中文语言包和KDE的中文语言包下载,我用Google搜索了很多地方都没有!


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,