查看“Tool Comparison”的源代码
←
Tool Comparison
跳到导航
跳到搜索
因为以下原因,您没有权限编辑本页:
您请求的操作仅限属于该用户组的用户执行:
用户
您可以查看和复制此页面的源代码。
这里是各种操作系统开发工具的比较。 == x86汇编程序 = = {| {{wikitable}} |- ! ! colspan="2" | Syntax ! colspan="4" | Output Format ! colspan="3" | Instruction Set |- ! ! [[Assembly#AT&T Syntax|AT&T]] ! [[Assembly#Intel Syntax|Intel]] ! [[ELF]] ! [[a.out]] ! [[COFF]] ! flat ! 16 bit ! 32 bit ! 64 bit |- ! [[GAS]] | {{Yes}} | {{Yes}}{{ref|1}} | {{Yes}} | {{Yes}} | {{Yes}} | {{Yes}} | {{Yes}}{{ref|2}} | {{Yes}} | {{Yes}}{{ref|3}} |- ! [[NASM]] | {{No}} | {{Yes}} | {{Yes}} | {{Yes}} | {{Yes}} | {{Yes}} | {{Yes}} | {{Yes}} | {{Yes}}{{ref|4}} |- ! [[YASM]] | {{Yes}} | {{Yes}} | {{Yes}} | {{No}} | {{Yes}} | {{Yes}} | {{Yes}} | {{Yes}} | {{Yes}} |- ! [[FASM]] | {{No}} | {{Yes}} | {{Yes}} | {{No}} | {{Yes}} | {{Yes}} | {{Yes}} | {{Yes}} | {{Yes}} |- ! [[JWASM]] | {{No}} | {{Yes}} | {{Yes}} | {{No}} | {{Yes}} | {{Yes}} | {{Yes}} | {{Yes}} | {{Yes}} |- ! [[MASM]]{{ref|5}} | {{No}} | {{Yes}} | {{No}} | {{No}} | {{Yes}} | {{Yes}} | {{Yes}} | {{Yes}} | {{Yes}}{{ref|6}} |- ! [[Sol_asm]] | {{No}} | {{Yes}}{{ref|7}} | {{Yes}} | {{No}} | n/a | {{Yes}} | {{Yes}} | {{Yes}} | {{Yes}} |- ! [[AS86]] | {{No}} | {{Yes}} | {{No}} | {{No}} | {{No}} | {{Yes}} | {{Yes}} | {{Yes}} | {{No}} |- ! [[LLVM|llvm-mc]] | {{Yes}} | {{Yes}} | {{Yes}} | {{Yes}} | {{Yes}} | {{No}} | {{No}} | {{Yes}} | {{Yes}} |} * {{note|1}} 使用<code>.intel_syntax</code> 指令。 几个操作码仍将使用AT&T的名称。 * {{note|2}} 虽然GAS通常只编写 “纯” 32位i386代码,但它具有 [http://sourceware.org/binutils/docs/as/i386_002d16bit.html 有限支持],用于编写以实际模式或16位受保护模式代码段运行的代码。 * {{note|3}} 你必须在 (汇编器的) 编译时选择指令集。 GAS不能一次汇编多个操作模式,即如果你想混合两个模式,你需要一个GAS 32bit和一个GAS 64bit。 * {{note|4}} 64位支持仅在NASM 2.X中可用。 * {{note|5}} 64位支持仅在名为ml64的单独可执行文件中可用。 * {{note|6}} Sol_Asm使用自己的语法,它看起来像Intel语法。 == 编译器 == {| {{wikitable}} |- ! ! Extensions ! colspan=8 | Output format |- ! ! Inline Assembly ! [[ELF]] ! [[a.out]] ! flat ! [[PE]] ! COFF ! 16-bit code segments ! 32-bit code segments ! 64-bit code segments |- ! [[GCC]] | {{Yes}} | {{Yes}} | {{Yes}} | {{Yes}} | {{Yes}} | {{Yes}} | ? | {{Yes}} | {{Yes}} |- ! [[LLVM|Clang]] | {{Yes}} | {{Yes}} | {{Yes}} | {{No}} | {{Yes}} | {{Yes}} | {{No}} | {{Yes}} | {{Yes}} |- ! msvc | {{Yes}} | {{No}} | {{No}} | {{No}}{{Ref|4}} | {{Yes}} | {{Yes}} | Version 4.X | {{Yes}} | {{Yes}} |- ! icl | {{Yes}} | {{No}} | {{No}} | {{No}} | {{Yes}} | {{Yes}} | {{No}} | {{Yes}} | {{Yes}} |- ! [[Watcom]] | {{Yes}} | {{No}} | {{No}} | {{No}} | {{Yes}} | {{Yes}} | {{Yes}} | {{Yes}} | {{Yes}} |- ! [[Smaller C]] | {{Yes}} | {{Yes}} | {{Yes}} | {{Yes}} | {{Yes}} | {{No}} | {{Yes}} (incl. huge & unreal mode(l)s){{Ref|5}} | {{Yes}} | {{No}} |} * {{Note|4}} Visual Studio可以生产 <code>.COM</code> 文件。 * {{Note|5}} Smaller C [https://github.com/alexfru/SmallerC/pull/25#issuecomment-516694067| 并不是真正为支持16位和64位cpu而设计的]。 ==链接器== {| {{wikitable}} |- ! rowspan=2 | Name ! colspan=5 | Input ! colspan=5 | Output ! rowspan=2 | Flat Binary Images ! rowspan=2 | Set Code Address ! rowspan=2 | Library Support ! rowspan=2 | Supports Debug Info ! rowspan=2 | 32bit Code |- ! OMF/ OBJ ! Win32/ COFF ! ELF ! A.OUT ! Others ! Win32/ PE ! Win32/ DLL ! ELF ! A.OUT ! Others |- ! [[JLoc]] | {{Yes}} | | | | | {{No}} | {{No}} | {{No}} | {{No}} | DOS/COM | {{Yes}} | {{Yes}} | {{No}} | OMF/OBJ | {{Yes}} |- ! [[ALink]] | {{Yes}} | {{Yes}} | {{No}} | {{No}} | DJGPP/COFF | {{Yes}} | {{Yes}} | {{No}} | {{No}} | DOS/COM DOS/EXE | {{No}} | {{Yes}} | {{Yes}} | {{No}} | {{Yes}} |- ! [[LD]] | {{Yes}} | {{Yes}} | {{Yes}} | {{Yes}} | DJGPP/COFF OMF/COFF | {{Yes}} | {{Yes}} | {{Yes}} | {{Yes}} | various | {{Yes}} | {{Yes}} | {{Yes}} | ECOFF DWARF STABS | {{Yes}} |- ! [[TLink]] | {{Yes}} | {{Yes}} | {{No}} | {{No}} | | {{Yes}} | {{Yes}} | {{No}} | {{No}} | DOS/EXE DOS/COM | {{No}} | {{Yes}} | {{Yes}} | OMF/OBJ | {{Yes}} |- ! [[Link]] | {{Yes}} | {{Yes}} | {{No}} | {{No}} | | {{Yes}} | {{Yes}} | {{No}} | {{No}} | DOS/EXE DOS/COM LE | {{No}} | {{Yes}} | {{Yes}} | CODEVIEW DWARF | {{Yes}} |- ! [[VAL]] | {{Yes}} | | | | | {{No}} | {{No}} | {{No}} | {{No}} | DOS/EXE | {{No}} | {{No}} | {{No}} | {{Yes}} | {{No}} |- ! [[WLink]] | {{Yes}} | {{Yes}} | {{Yes}} | {{No}} | | {{Yes}} | {{Yes}} | {{Yes}} | {{No}} | DOS/EXE DOS/COM LE Pharlap Novell_NLM Causeway QNX | {{Yes}} | {{Yes}} | {{Yes}} | WATCOM CODEVIEW DWARF | {{Yes}} |- ! [[smlrl]] | {{No}} | {{No}} | {{Yes}} | {{No}} | | {{Yes}} | {{No}} | {{Yes}} | {{Yes}} | DOS/COM DOS/EXE MACH-O | {{Yes}} | {{Yes}} | {{Yes}} | {{No}} | {{Yes}} |- ! [[LLVM|LLD]] | | {{Yes}} | {{Yes}} | | | | | | | | | | {{Yes}} | | {{Yes}} |} [[Category:Tools]]
本页使用的模板:
模板:No
(
查看源代码
)
模板:Note
(
查看源代码
)
模板:Ref
(
查看源代码
)
模板:Wikitable
(
查看源代码
)
模板:Yes
(
查看源代码
)
返回至“
Tool Comparison
”。
导航菜单
个人工具
登录
命名空间
页面
讨论
变体
已展开
已折叠
查看
阅读
查看源代码
查看历史
更多
已展开
已折叠
搜索
导航
首页
最近更改
随机页面
MediaWiki帮助
工具
链入页面
相关更改
特殊页面
页面信息