Tag: coff

如何组装GAS组件并将其与Open Watcom C库链接?

我试图生成16位DOS可执行文件,但使用gcc编译器。 所以我使用古老的gcc-4.3 ia16端口。 我创建了我的构建的Docker镜像: https : //registry.hub.docker.com/u/ysangkok/ia16-gcc-rask 这是我正在尝试的: host $ mkdir results host $ docker run -v $PWD/results:/results -it ysangkok/ia16-gcc-rask container $ cd results 我没有包含头文件,导致gcc无法使用OpenWatcom的libc头文件。 container $ echo ‘main() { printf(“lol”); }’ > test.c 我没有链接因为我没有16位binutils可用。 如果我构建一个目标文件,它没有正确标记为16位。 container $ /trunk/build-ia16-master/prefix/bin/ia16-unknown-elf-gcc -S test.c 现在我有这个汇编文件: .arch i8086,jumps .code16 .att_syntax prefix #NO_APP .section .rodata .LC0: .string “lol” .text .p2align […]

反汇编Microsoft Visual Studio 2003编译器输出

我看到我认为Microsoft Visual Studio 2003工具输出的目标文件的奇怪行为。 file实用程序告诉我: asmfile.obj: 80386 COFF executable not stripped – version 30821 对于汇编程序创建的对象,但对于来自C文件的对象,我得到: cfile.obj: data 使用Microsoft的dumpbin实用程序和我从cygwin获得的objdump ,我可以反汇编程序集生成的文件,但是我从C-built文件的任一实用程序中都得不到有用的结果。 我有几个与这种差异有关的问题: MSVC2003编译器生成的目标文件格式是什么? 我该如何反汇编该目标文件? 我对使用AT&T语法进行反汇编特别感兴趣 – 我正在使用一个大型源代码库的端口来使其与GCC一起工作,我想使用此方法作为一些内联汇编例程的快捷方式。项目。 编辑:添加更多信息。 当我在其中一个文件上运行dumpbin时没有给出任何结果: C:\> dumpbin /disasm Func.obj Microsoft (R) COFF/PE Dumper Version 7.10.6030 Copyright (C) Microsoft Corporation. All rights reserved. Dump of file Func.obj FileType: ANONYMOUS OBJECT 使用objdump ,它给出: $ objdump […]