Nmake入門(一)

來源:互聯網
上載者:User

    今天IDE已經滿天飛了,功能也越來越強,對於程式員來說,這確實是好事,不言而喻可以提高工作效率。
但對於初學者來說,直接使用IDE或許並不是好事,原因是IDE為你做了很多事情,而你卻並不瞭解。引侯捷的
一句話:“勿在浮沙築高台”。下面就讓我們看一下,如何在命令列進行程式的編譯和連結。要知道,這可是IDE
的主要功能之一啊。

     在Windows平台下,命令列的編譯主要採用nmake,關於nmake的使用,MSDN中有很詳細的說明,不過本文是
針對nmake初學者的,不講那麼複雜。

     首先,要使用nmake,你必須為你的程式編寫一個makefile檔案來描述如果編譯和連結你的程式。一個常見的
makefile檔案如下:

!include <win32.mak>

all  = hello.exe

objs = hello.obj draw.obj

.c.obj :
    $(cc) $(cflags) $(cvars) $*.c

hello.exe : $(objs)
    $(link) $(guiflags) -out:hello.exe $(guilibs) $(objs)

clean :
    del *.obj

     第一行的!include<win32.mak>,將引入一些常用的宏定義,如: $(cc) $(link)等。主要是方便使用。
makefile的格式為:要產生的東西 : 產生前面東西是需要的東西(呵呵,寫得比較“通俗”啊)。比如下面
的語句:
    hello.exe : $(objs)
 表示,產生hello.exe 需要 $(objs),而$(objs)是什麼呢?這就引出了makefile中的第二種定義方式:
 名稱 = 要代表的東西,比如  objs = hello.obj ,就表示 objs 代表的是hello.obj和draw.obj,以後
 要引用objs,必須使用$(objs)這種方式,這樣nmake才能識別。

     下面著重介紹一下,win32.mak所引入的宏定義。(待續)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.