assemble如何連結C

Assemble程式如何與c一起連結?

有方法連結成dos 16bit的程式嗎?

我用的是windows xp平台

已更新項目:

我目前遇到的問題就是:

我用的ASM編譯器、C編譯器及連結器只支援32位元,而且連結出來是在Windows平台下執行的.exe檔,可是我想聯結出dos 16bit的程式,而且最好沒有檔頭資訊。

1 個解答

評分
  • 阿信
    Lv 5
    1 0 年前
    最佳解答

      如果你有寫 Assembly 與 C 的環境,應該就會有二個程式語言的組譯器(assembler)、編譯器(compiler)與連結器(linker)。

      你可以先用組譯器將 Assembly 程式轉成 *.obj 或 *.o,然後把 C 用編譯器轉成 *.obj,最後用連結器(linker)連結在一起,這些動作可以靠 makefile 檔來達成。Makefile 的撰寫方式如下:

    http://www.study-area.org/cyril/opentools/opentool...

      最後 makefile 看起來會像是這樣:

    project.exe : main.obj io.o

     tlink main.obj io.o      <─ 使用 tlink 來連結 main.obj 與 io.o

    main.obj : main.c

     bcc –ms –c main.c     <─使用 bcc 來編譯 main.c

    io.o : io.asm

     masm io.asm       <─使用 masm 來組譯 io.asm

    2007-02-14 10:50:18 補充:

    在 組合語言 程式中,加入以下試試看:

    .386

    option segment:use16

    2007-02-14 10:57:10 補充:

    在 C 程式上,使用有 16-bit 的 compiler,例如:Open Source Watcom,這個是 free 的。

    http://www.thefreecountry.com/compilers/cpp.shtml

還有問題?馬上發問,尋求解答。