网页资讯视频图片知道文库贴吧地图采购
进入贴吧全吧搜索

 
 
 
日一二三四五六
       
       
       
       
       
       

签到排名:今日本吧第个签到,

本吧因你更精彩,明天继续来努力!

本吧签到人数:0

一键签到
成为超级会员,使用一键签到
一键签到
本月漏签0次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行补签。
连续签到:天  累计签到:天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
01月30日漏签0天
c++吧 关注:651,289贴子:2,117,868
  • 看贴

  • 图片

  • 吧主推荐

  • 游戏

  • 27回复贴,共1页
<<返回c++吧
>0< 加载中...

gcc编译器编译.bin文件出问题

  • 只看楼主
  • 收藏

  • 回复
  • xym5366
  • <
    11
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
Offset 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
00000000 47 43 43 3A 20 28 74 64 6D 2D 31 29 20 34 2E 39 GCC: (tdm-1) 4.9
00000016 2E 32 00 00 5D C3 55 89 E5 83 E4 F0 E8 00 00 00 .2 ]肬夊冧痂
00000032 00 E8 DA FF FF FF B8 00 00 00 00 C9 C3 90 90 90 柃? 擅
只想要可执行机器指令集
”GCC: (tdm-1) 4.9.2“ 这些字符串是什么鬼。
怎么能编译成纯二进制机器指令文件
打算用gcc写操作系统内核,需要纯.bin文件。


  • xym5366
  • <
    11
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
bin\gcc -c test.c
bin\objcopy -O binary test.o binfile


2026-01-30 09:23:22
广告
不感兴趣
开通SVIP免广告
  • xym5366
  • <
    11
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
其实我知道你们也不懂。
发发牢骚


  • xym5366
  • <
    11
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
The linker always uses a linker script. If you do not supply one yourself, the linker will use a default script that is compiled into the linker executable. You can use the ‘--verbose’ command line option to display the default linker script. Certain command line options, such as ‘-r’ or ‘-N’, will affect the default linker script.
You may supply your own linker script by using the ‘-T’ command line option. When you do this, your linker script will replace the default linker script.


  • xym5366
  • <
    11
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
文件名:aaa.lds
SECTIONS {
. = 0x00000000;
.text : { * (.text); }
. = 0x00000400;
.data : { * (.data); }
}
文件名:Assembler.s
.data # 数据段声明
msg : .string "Hello, world!//n" # 要输出的字符串
len = . - msg # 字串长度
.text # 代码段声明
.global _start # 指定入口函数
_start: # 在屏幕上显示一个字符串
movl $len, %edx # 参数三:字符串长度
movl $msg, %ecx # 参数二:要显示的字符串
movl $1, %ebx # 参数一:文件描述符(stdout)
movl $4, %eax # 系统调用号(sys_write)
int $0x80 # 调用内核功能
# 退出程序
movl $0,%ebx # 参数一:退出代码
movl $1,%eax # 系统调用号(sys_exit)
int $0x80 # 调用内核功能
dos mingw命令行:
as -o Assembler.o Assembler.s
ld -T aaa.lds -o sum-data.elf Assembler.o
objcopy -O binary data.elf binfile.bin
成功生成纯机器指令


  • Sidome
  • ->*
    15
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
我记得我当时写操作系统的时候也没有怎么额外处理,直接编译然后到二进制文件就ok的


  • xym5366
  • <
    11
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
又系统删贴。XXX


登录百度账号

扫二维码下载贴吧客户端

下载贴吧APP
看高清直播、视频!
  • 贴吧页面意见反馈
  • 违规贴吧举报反馈通道
  • 贴吧违规信息处理公示
  • 27回复贴,共1页
<<返回c++吧
分享到:
©2026 Baidu贴吧协议|隐私政策|吧主制度|意见反馈|网络谣言警示