導航:首頁 > 源碼編譯 > 資源編譯和c碼編譯

資源編譯和c碼編譯

發布時間:2023-08-03 18:24:56

㈠ C語言編寫好代碼後,怎麼編譯,最後生成可執行文件

材料/工具:vc6.0

1、打開c語言編輯工具,在工具中寫入程序的源代碼。

㈡ 在VS2010的VC++中如何編譯、鏈接、運行、調試程序

在vc2010中看不到像VC6.0顯式的編譯、連接按鈕了。只有工具欄(啟動調試)和菜單欄(測試)

這些功能包含編譯、鏈接、運行(調試)所有步驟,都一鍵完成。

實際上這些功能是編譯器使用以下工具實現的:

編譯器CL.EXE,將.c/.cpp源代碼編譯成目標代碼.obj,

連接器LINK.EXE,將目標代碼和庫連接生成最終文件;

資源編譯器RC.EXE(.rc)將資源編譯,最終通過連接器存入最終文件.

注意編譯准備:VCVARS32.bat拷貝到當前的workspace下在cmd下執行之後就可以

直接使用這些編譯工具在cmd下編譯.

-----------------------------------------------------------

例子:記事本編輯hello.c,在按照上面要求拷貝到當前目錄下,打開cmd

CL.EXE /c hello.c只編譯不連接

LINK.EXE hello.obj 用到的庫文件,生成可執行文件.如:

LINK.EXE hello.obj user32.lib

RC.EXE Hello.rc

-----------------------------------------

CL.EXE,LINK.EXE,vcvars32.bat所在目錄:假定VS2010使用默認安裝路徑

C:Program FilesMicrosoft Visual Studio 10.0VCin

rc.exe所在路徑:

C:Program FilesMicrosoft SDKsWindowsv7.1ABin

注意:

(1)這些EXE文件在vs2010下可能存在多個不同路徑,但都是一樣的,可以通用

(2)如果電腦上安裝了不同的VS版本,這些文件會不同,注意區分。使用同一VS版本下的文件。

㈢ Lccwin32 C Compiler的Lccwin32 C Compiler使用介紹

聲明
本文沒有任何明確的或者含蓄的表達說明本文是完全正確的,對於應用本文內容所
產生的任何結果,本人概不負責。
請原諒本文在語言和語法的的運用上的錯誤,本人才疏學淺,這是不可避免的。
目錄
* 簡介
* 編譯器的安裝
* Lcc-Win32的一些基本概念
* 寫個小程序!
* 使用工程管理
* 第一個Windows程序
* 程序生成向導
* 使用WeditRes創建資源
* 添加其它類型的資源
* 使用非規格資源
* 靜態庫和動態庫
簡介
其實所謂的簡介這個部分的內容趨向取決於作者。但是我所讀過的一些指南都是由一個「簡介」開始的,這部分的內容通常都是在重復讀者會在下面看到的東西,但是也有的簡介只是作者的一些想法。仔細的想一下,其實這個介紹並不是一件簡單的事情。首先,如果你要是開門見山的直奔主題,這是不禮貌的,而且基於web的指南也不應該有超大個的簡介,不應該讓讀者在這個東西上浪費時間和金錢。看來我的廢話也夠多的了,讓我們切入正題。這個指南是單頁的,建議你等瀏覽器下載完畢後保存一份拷貝來離線閱讀。
編譯器的安裝
編譯器的安裝簡單極了,只要把您下載的文件運行一下就OK了,應該不會遇到什麼
問題。但是注意安裝的最後要編譯庫文件,可能要花點時間,要視你的機器速度而定。
Lcc-Win32的一些基本概念
Lcc-Win32編譯系統是由多個文件構成的。它們的共同的任務是把文本格式的源代
碼編譯位可以運行的二進制格式。優良個重要的文件分別是編譯器(lcc.exe)和連接
器(lcclnk.exe)。
編譯器是用來把你編寫的文本翻譯成處理器可以執行的格式的程序。連接器用來轉
換編譯器生成的二進制文件(通常叫做目標文件),並添加操作系統用來把程序調入內
存並執行所需要的信息它可以把多個目標文件鏈接為一個單獨的程可執行程序,這樣就
可以使你可以把一個程序的代碼文檔分割為幾個模塊,這個能力在你開發大型程序時是
很重要的。
雖然這些聽起來好像十分的簡單,但是實際上並不是這個樣子的。編輯器和鏈接器
需要你在命令行方式下鍵入你要建立的程序的所有信息,這將需要你記住大量的命令行
參數和各種各樣的開關,這時就需要IDE——集成開發環境(wedit.exe)來提供方便了。
IDE的基本功能是編輯文本,你可以在這個環境里編輯程序的源代碼,但是遠遠不
止有這個功能。它還給你提供了一個調用編譯器和鏈接器的簡單方法,這樣在編譯程序
的時候你就不用去記住那麼多的命令行參數了。
你可以簡單的把Wedit想像成你的控制台,在這里你可以控制所有的流程。
好吧!現在你可以用你的滑鼠點一下Windows的「開始」按鈕,在程序項的子菜單了
尋找「lcc-win32」,好了嗎?現在你已經准備好在Lcc-Win32中寫你的第一個程序了。
寫個小程序!
你知道嗎?自從第一個C編譯器產生以來(也許可能更早一些),有一個慣例就是
為這個編譯器寫的第一個程序是「Hello World」,我為我擁有的所有編譯器都寫過,
現在我們就來寫一個。
第一步是創建源碼文件。在「File」菜單中選擇「new」項,然後在出現的對話框
中輸入「hello.c」並點一下「OK」。
現在你看到的是一個標題為「hello.c」的空白窗口,輸入下面的代碼:
#include <stdio.h>
void main (void)
{
printf (Hello World from LCC-Win32! );
}
保存我們的小程序,在「File」菜單中選擇「Save」項。
現在我們可以編譯這個程序了。選擇「Compiler」菜單中的「Compile hello.c」
調用編譯器。這時一個新窗口會出現在IDE的底部,這是信息窗口,當編譯器處理完成,
在這個窗口中將會顯示「HELLO.exe build successfully.」,如果編譯出錯,出錯信
息也將會被顯示在這里。
如果編譯出錯了,在信息窗口處雙擊信息顯示所在行,在編輯窗口內將高亮度顯示
出錯代碼行,仔細的檢查一下你寫的程序和上面我寫的一樣,這里需要注意的是C語言
是大小寫敏感的程序語言,這意味著「printf」和「Printf」對編譯器是不相同。
現在你已經編譯好了這個程序,按[Ctrl]+[F5]鍵運行一下,結果對嗎?
使用工程管理
現在你已經編譯了你的第一個程序,你可能想知道——執行文件在哪裡?
回答是:我也不知道!這可能聽起來很傻(的確也是),但是這是看你在編譯程序
時的預設目錄是什麼,所以你應該在你的硬碟里搜索一個叫做「hello.exe」的文件。
你肯定不會想要每開發一個程序都要搜索一下硬碟的,這種情況下你就要使用工程。
工程是一些編譯器要知曉的建立程序所需要的信息。這包括程序源文件、編譯好的
文件的存放地點、要編譯為什麼類型的可執行文件,一個好的想法是為每一個程序建立
一個工程。
事實上,對於我們的「HelloWorld」程序還是有一個工程的,Lcc=Win32會為沒有
指明工程的程序建立一個預設的工程。選擇「Project」菜單的「Erase...」項,Wedit
會顯示一個工程列表,你會看到一個項目叫做「HELLO」,現在我們毫不留情的刪除它。
與其他的編譯器不同的是,Lcc-Win32的工程信息不是存儲在硬碟上的,而是存儲
在Windows的注冊表項里。這使得Wedit可以「記住」所有的工程,甚至於在不同的磁碟
上。但是優勢我們也需要清除我們不再使用的工程,在這種情況下,我們可以把工程信
息導出到磁碟上,然後在IDE中刪除它。看一下「Project」菜單的選項,你就會明白了。
現在你可以試著創建一個「HELLO」工程。
第一個Windows程序
你可能已經注意到了hello.exe看起來象是一個DOS程序,但是它不是的,它是一個
真正Windows程序,但是這種類型的程序被稱為Windows控制台程序,就是在文本模式下
運行的Windows程序。如果你不相信,可以試著在Windows的純DOS環境下運行一下,你
會得到一行信息:「This program cannot be run in DOS mode」。
寫一個真正的Windows版的「HelloWorld」程序並不比控制台的版本難多少。首先
創建一個新工程,選擇「Windows executable」代替「Console application」,點OK
後,Lcc-Win32會問你需要Wizard(生成向導)創建程序框架嗎,回答No。
#include <windows.h>
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
{
MessageBox (NULL, Hello world from Lcc-Win32!, Hello, MB_OK);
return 0;
}
編譯並運行這個程序,你會看到一個顯示hello信息的窗口,點ok關閉退出。
不幸的是,除了這樣的小之又小的Windows程序,一般情況下Windows程序是很復雜
的,現在你已經知道了如何創建工程和編譯程序,如果你是一個Windows編程新手,去
找一些有關的書來看看,取得必要的基礎,一些Windows編程知識在下面的部分是必須
的。
如果你是一個C語言的新手,那麼先好好的學一段時間再來看這個指南吧!
程序生成向導
Windows程序與文本狀態下的程序比起來要好的多,但是天上不會掉餡餅的,你想
要得到的Windows功能支持,比如:剪裁板、多任務等等要付出的是大量的復雜的代碼。
但是總還是有些辦法可以使事情變得簡單一些的。長時間以來,程序員們發現實際
上總是有些在每個程序中都相同的代碼段,所以Windows程序員通常使用模板來生成這
部分代碼。就是說源文件一般只要生成一次,就可以在任何一個新程序中使用了。只有
變化的部分才是每個程序不同的部分,顯然這些應該是可以自動的進行的。
這就是生成向導要完成的工作。你可以在它的幫助下快速的生成應用程序的框架。
這個框架事實上就是一個什麼功能也沒有的一個完整的程序,也許可能只是用來顯示一
個空窗體,因為使程序完成具體的功能是你的工作。
讓我們看一下使用向導建立最簡單的應用程序的處理。
通常,第一步是創建程序代碼,然後建立一個工程。在使用向導的模式下,你並不
需要寫一行代碼,向導將為你建立它,我們直接來看建立工程各個步驟。
在「Project」菜單下選擇「create」項,給出項目名稱和路徑,選擇工程類型為
「Windows executable」,當Wedit詢問你是否要使用向導(wizard),回答「yes」,
這樣就進入了向導模式。
向導將顯示一個對話框叫做:「Application characteristics」,這是向導將在
應用程序中包含的基本特點,你可以選擇以下情況的一種:單窗口、多窗口和DLL(動
態鏈接庫),現在我們要創建一個十分簡單的單窗口小應用程序,選擇單窗口類型並確
保所有的特性復選按紐都未被選中,點擊「OK」進行處理。
現在向導將要提示你輸入信息設置主窗口的「類」,這里所說的「類」和C++中的
類是不同的,它是Windows在內存中存儲的一個結構,用來存儲正確顯示窗口所需要的
信息。最重要的是「回叫函數」(下面將具體介紹)的名稱,現在只要簡單接受默認的
屬性值,點擊「NEXT」進行處理。
這個「Generate code for the main window creation」對話框用來設定相應窗口
的信息。當主窗體被創建的時候這些信息會被傳送到相應的窗口。在這里你可以改變窗
口的標題欄的顯示內容,然後點擊「Finish」。
向導的工作就要完成了,接下來的工程創建工作是通常的一些對編譯器、鏈接器、
調試器的一些設置,這里只要簡單的接受預設的選項就可以了。
經過上面的步驟,就完成了向導的所有的工作,你可以在IDE中看到兩個窗口,一
個是源程序編輯窗,另外的一個是用來定義應用程序的主菜單的腳本。
正象剛剛所說的那樣,這個程序框架是全功能的,可以通過編譯並運行,你可以看
到一個有菜單的窗口。唯一可以進行的操作是「File」菜單的「Exit」項,你可以使用
這個菜單項關閉這個簡單的窗口,也可以使用[Ctrl]+[Q]完成同樣的操作。
現在你可以看一下這個程序的源代碼,你會注意到這個程序比那個「Hello World!」
程序復雜了許多,我可以告訴你一個小竅門——從源代碼的結尾開始讀起,因為通常那
里才是一些功能函數的所在。
使用WeditRes創建資源
在Windows程序的開發中,資源是十分重要的部分,菜單、對話框和其它的一些用
戶介面部分都是可以象寫程序一樣的編寫的,可以簡單的作為資源包含進程序中。
如果Lcc-Win32沒有提供一個資源編輯器那麼Lcc-Win32將不是一個完整的Win32編
譯程序,Lcc-Win32提供的資源編輯器叫做WeditRes,是在「lccin」路徑下。
的確,WeditRes還是在不斷的完善的過程中,也就是說還沒有開發完成。不過它已
經可以編輯一些手工編輯難以完成的資源了,比如:菜單和對話框等等。在IDE下調用
WeditRes,在「Compiler」菜單下選擇「Resources」項。
如果你正在開發的程序是用向導生成的,那麼向導會產生一個資源文件,在這個文
件里至少包括菜單資源,WeditRes會打開這個資源文件,但是它不會找到相應的頭文件,
你應該為它指明頭文件的路徑。通常是在WeditRes當前工作路徑的上一級目錄。
WeditRes要找的文件通常叫做prjnamewiz.h,這里的prjname是你指定
的工程的名稱。經過這一步就可以修改工程所用的資源了。
如果你的程序不是由向導生成的,那麼WeditRes會提示你輸入資源文件的文件名,輸
入一個名稱後點擊「OK」,這時WeditRes會說不能打開這個資源文件,沒有關系,這是
因為這個目錄下的確是沒有資源文件的,還是在這個對話框中點擊「OK」,然後在
「File」菜單中選擇「New」項,這樣就會為你的工程創建一個新的資源工程,鍵入一
個工程名,一般情況是和應用程序的工程名相同,然後點擊「Validate」,現在你需要
手工在應用程序工程列表裡添加這個資源文件(一般以「RES」為擴展名)。
在這里試舉一例——我們來為我們上面創建的程序創建一個「關於」對話框資源。
運行WeditRes,輸入頭文件的路徑後選擇「Objects」菜單的「New dialog」項,
這時WeditRes會顯示一個對話框,標題欄為「Dialog box parameters」,改變對話框
的標題為「About this application」或者隨便其它的什麼東西,然後在「Identity」
(標識符)項鍵入一個你喜歡的東西,比如:「DLG_ABOUT」,在「standard buttons」
選單中選擇「Validate」選項並點擊「OK」關閉對話框。
你在這個時候應該可以看到一個新的對話框和一個浮動的工具條,在對話框中也應
該有一個按紐,你可以用滑鼠拖動它來重新指定它的位置,如果你還想改變按紐上顯示
的文字——雙擊它打開屬性對話框,或者先選定它,然後在浮動工具條下改變顯示文字。
下面我們添加一個靜態文本標簽,在工具條上選擇文本工具,游標形狀變成由一個
矩形包圍的指針,在對話框的窗體上點擊一下,一個包含文本——「Text」——的矩形
會出現在你點擊的地方,可以通過滑鼠拖動來改變這個文本框的大小,同樣也可以改變
顯示的文本和文本框的位置。
我們還可以在這個對話框中添加其它的裝置。空心方框、實心方框和組件盒等可以
對這個對話框進行一些簡單的裝飾。如果你想要刪除一個裝置,選定它然後按
[Ctrl] + [X],或者選擇「Edit」菜單的「Cut」項。還可以選擇「Options」菜單的
「Test」項測試這個對話框的外觀。在工具欄里有一個按紐的功能是相同的,就是看起
來象一個開關的那個,如果想要繼續編輯這個對話框,只要再次選擇上述選項一次即可。
編輯完成後在「File」菜單中選擇存檔,然後關閉WeditRes,為了顯示這個對話框
下面我們必須在程序中包含相應的代碼。
尋找「OnCommand」語句,在那裡肯定有一個switch語句的條件之一是菜單命令
「Exit」的(IDM_EXIT),現在我們為我們的新對話框添加一個新的case條件,輸入如
下代碼:
case IDM_ABOUT:
DialogBox (hInst, MAKEINTRESOURCE(DGL_ABOUT), hwnd, AboutDlgProc);
break;
我們還需要編寫對話框函數。
BOOL CALLBACK AboutDlgProc (HWND hwnd,UINT msg,WPARAM wParam,LPARAM lParam)
{
switch (msg)
{
case WM_COMMAND:
if (LOWORD(wParam) == IDOK)
{
EndDialog(hwnd,0);
return TRUE;
}
break;
}
return FALSE;
}
你應該已經明白了,由向導來生成代碼要簡單得多!現在編譯、鏈接這個程序,然
後運行它,選擇「Compiler」中的「Execute prj.exe」項,我們創建的對話框將顯示
在屏幕上了。
添加其它類型的資源
你還需要知道如何添加其它資源,如圖標等。
事實上WeditRes還不能編輯圖標文件,作者說正在做這方面的工作。所以你可能要
使用其它的工具來完成圖標編輯的工作。
在資源創建完後,你要把它添加到工程的資源描述文件裡面去。如果你是使用向導
創建的工程。你只須要打開與工程名相同的*.RC文件就可以了。
如果你沒有使用向導,那麼你只能新創建一個RC文件。如果你是使用WeditRes創建
的資源,在建立資源描述文件時有些事情是你必須知道的——必須包含WeditRes資源,
甚至於你並沒有使用任何由WeditRes創建的資源,你完全有可能在後續的工作中用到,
我建議無論什麼情況都應該象下面這樣做。
WeditRes一般要建立三個文件:一個*.DLG文件、一個*.H頭文件和一個*.RES二進
制資源文件。DLG文件描述了由WeditRes創建的資源的定義(如:資源串、菜單和對話
框等),H文件是所有資源的符號名的定義,RES文件是編譯後的二進制資源文件,這個
文件將被鏈接到工程最後生成的可執行程序中。
資源描述文件(*.RC)的文件名一定要和RES文件的文件名相同,當Lcc-Win32的資
源編譯器(lrc.exe)編譯資源時將覆蓋原來的RES文件。你可以在Wedit中創建資源描
述文件,如下:
#include <windows.h>
#include resources.h
#include resources.dlg
息。
第二行包含由WeditRes產生的資源的符號名的頭文件,我在這里假定你的資源工程
名為「resurces」,可以改為你所定義的名稱。第三行是WeditRes產生的資源描述文件,
這樣不會丟失你已經創建了的資源。
下面你可以向資源描述文件中增加資源,下面是一個例子:
IDI_MYICON ICON myiconfile.ico
這一行定義了圖標資源,在使用前,一定要定義圖標的符號名。比如在「prjwiz.h」
文件(或者「resource.h」,如果你沒有使用向導)中,如果你沒有定義這個符號名,
那麼編譯器將認為它是一個字元串名。
添加游標或者點陣圖資源的步驟是相同的,只要把關鍵字改為「BITMAP」或者
「CURSOR」。
下面要做的是把資源描述文件包含在工程文件列表中,當下一次你編譯工程,資源
編譯器也將編譯這個資源描述文件,並把產生的二進制資源鏈接到執行文件內。
這樣你可以添加圖標、游標和點陣圖資源,對於其它類型的資源可以使用RCDATA資源
方式添加到資源文件內,就是一系列的由逗號分隔的數值信息,這種方式可以使Lcc-Win32
的資源編譯器不支持的資源得以添加到資源文件中去,比如WAV文件等。
使用非規格資源
Lcc-win32的資源編譯器可以使用各種類型的資源,如對話框、菜單、圖標等,但
是它不能使用其它非規格的資源如多媒體文件(WAV,MID等等)。
你可能認為使用其它的資源編譯器如微軟在Win32 SDK中提供的資源編譯器,或者
其它的什麼東西。
但是這里的麻煩事是LCCLINK,因為它並不認識這些資源,因此也不可能把這些資
源鏈接到你的執行文件中去,這和真是個大問題,你可能不得不使用其它的鏈接器,這
意味著可能需要其它類性的入口庫。
我認為這樣做不是一個好的解決方案,主要的原因是Wedit不是設計成可以使用其
它的鏈接器的,你將不得不在命令行下編譯你的程序,放棄了Lcc-Win32 IDE提供的全
部優點。
但是這里還是有一個可供選擇的方案,——幸運的是LRC支持RCDATA資源類型,這
種資源類型用來包含二進制數據類型的資源,使用一系列的數字列表表示。
下面是具體的實現方法:
首先你需要轉換你要使用的二進制文件到有一系列的有逗號分割數值表示的文本文
件,LRC預設的認為這些數據是16位長的,它同時也支持32位長度的整數,只要在數值
後添加「L」字元就可以了。
你可以從這里下栽做這些工作的轉換器:
* Bin2Txt: 開發者:Josef Planeta. 十分的靈活方便;
* TextIt: 本文作者開發,可以一次轉換多個文件。
這兩個工具都帶有源碼,使用Lcc-Win32開發。
然後一定要在資源數據中包含這些整數列表,如果你的資源文件沒有使用資源描述
文件,如果你沒有使用向導生成工程,這是有很大可能的。你一定要建立一個資源描述
文件,一般是這個樣子的:
#include <windows.h> //basic Windows header file
#include resources.h //resource identifiers (generated by WeditRes)
#include resources.dlg //resource scripts (generated by WeditRes)
MySound RCDATA
BEGIN
#include mysound.txt
END
在這個例子中,我們包含了一個叫做「mysound.txt」的文件,這個文件是由一個
WAV文件轉換成的數據文件。
要注意當前版本的LRC(V981126)在RCDATA資源的大小上是有限制的,如果任何一
個數據文件大於70Kb,你有可能得到一個溢出信息(Overflow in resource data),
在未來的版本中可能會有所改進,但是在目前如果出現了這種情況可能只有使用其它的
資源編譯器了。
使用RCDATA類型定義資源意味著你不能直接的指定PlaySound來播放這些資源,因
為類型是不同的。
解決辦法是手工把這些數據讀入內存,下面的代碼說明了在PlaySound時要做的事情:
BOOL PlayRcSound (HINSTANCE hInst, LPCTSTR lpszSndName)
{
HRSRC hr;
HGLOBAL hg;
LPVOID lpSndData;
hr = FindResource (hInst, lpszSndName, RT_RCDATA);
if (hr != NULL)
{
hg = LoadResource (hInst, hr);
if (hg != NULL)
{
lpSndData = LockResource (hg);
if (lpSndData != NULL)
{
return PlaySound((LPCTSTR)lpSndData, NULL, SND_MEMORY);
/* We do not need to unlock or unload the resource, */
/* Windows will take care of this */
}
}
}
return FALSE;
}
如果你的資源在頭文件中定義有標識符,叫做:ID_MYSOUND,那麼調用函數的方式
應該是:
PlayRcSound (hInst, MAKEINTRESOURCE(ID_MYSOUND));
另外,如果你給出了一個字元串名,比如:MySound,函數調用如下所示:
PlayRcSound (hInst, MySound);
靜態庫和動態庫
也許程序員就是喜歡比喻以類的修辭的,庫的概念就是一個例子,它是用來存儲可
能在許多的程序中使用的代碼,或者一部分十分專業的代碼,只要寫一次就可以了,甚
至是由其他的人為你寫的代碼,這樣使用這些代碼而完全不用關心具體的實現細節。
和其它的Windows編譯器一樣,LCC-Win32也支持兩種庫——動態庫和靜態庫。
靜態庫包含的代碼在編譯鏈接時將被添加在可執行文件中,它被稱為「靜態」庫是
因為一旦它鏈接到可執行文件中,就將不可改變(除非重新編譯整個程序)。
而動態鏈接庫不會由編譯器鏈接到可執行文件中,而是在運行時由操作系統鏈接的,
這樣即使你改變了這個庫,也不會使整個可執行程序重新編譯。
靜態庫的編寫要簡單些,只要創建一個類型為「Static library (lib)」的新工程,
添加你要在這個靜態庫中使用的原始資料——函數、數據等等,編譯後就會得到一個
LIB文件,這個文件裡麵包括了所有你指定的函數和數據。如果你要使用這些函數或者
數據,在「Configuration」對話框中的「Linker」表裡的「Additional libraries」
項中指定靜態庫名稱,通知編譯器把這個靜態庫鏈接到工程里去,但是千萬不要忘了把
你的靜態庫放到鏈接器能夠找到的地方,比如:「lcclib」路徑下。
動態鏈接庫就有些麻煩了,你要使用兩個文件而不是一個文件:動態庫本身——DLL
文件和關聯入口庫——LIB文件。入口庫是給鏈接器使用的,簡單的說它使用來哄騙
鏈接器的,同時它也包含了使Windows正確的調用相應動態庫中的函數的信息。
而且,動態庫的功能可以更加的強大,它有一個LibMain()函數,在程序每一次
調用它時都要通過它來進行初始化的工作。
要創建一個動態鏈接庫,你要創建一個DLL工程,然後你可以使用向導生成LibMain()
函數。添加你要使用的函數和數據,在編譯這個工程後,你就可以得到DLL庫和介面庫
文件。
如果要使用動態鏈接庫,象使用靜態庫一樣,要將介面庫放在「lcclib」路徑下,
在「Options」對話框中添加這個介面庫。同時也要把DLL文件放置在Windows能夠搜索
到的路徑下,Windows搜索動態鏈接庫的預設目錄是「windowssystem」和應用程序
的起始目錄,將動態鏈接庫放置在這兩個目錄下都是可以的

㈣ c語言中的編輯,編譯,連接,運行分別是什麼意思

1、編輯:編寫代碼,製作C語言的源文件。

2、編譯:是由編譯程序將C語言源文件轉換成二進制中間文件,對文件內部的語法語義做處理,如果編譯出錯,無法進行後續動作。

3、鏈接:將編譯中生成的中間文件組合成二進制可執知行文件,這一步會對文件之間的關聯做檢查,如果出錯,將不會生成可執行文件,也就無法執行。

4、執行:運行可執行文件,這一步道是編寫代碼的最終目的。

(4)資源編譯和c碼編譯擴展閱讀:

DOS命令通常分為三類:內部命令、外部命令和批處理命令。

1、內部命令:

其包含在命令解釋程序COMMAND.COM中,一旦啟動DOS,這些命令就被調入內存,只要在DOS系統提示符下輸入這些命令,就可立即執行。

2、外部命令:

其以文件的形式存儲在系統盤上,所帶擴展名為COM和EXE。DOS啟動時,它們並沒有被調入內存,執行前必須從系統盤讀進內存。因此輸入外部命令時,要了解該命令是否在當前盤上,不然DOS無法找到它們。

3、批處理命令:

實際上是個文件,該文件包含多條命令,當用戶鍵入批處理文件名時,DOS將順序執行其中的各條命令。注意,批處理命令必須用「.BAT」作為擴展名。

C語言的運算非常靈活,功能十分豐富,運算種類遠多於其它程序設計語言。在表達式方面較其它程序語言更為簡潔,如自加、自減、逗號運算和三目運算使表達式更為簡單。

當多種不同運算組成一個運算表達式,即一個運算式中出現多種運算符時,運算的優先順序和結合規則就會顯得十分重要。

網路-運行命令

網路-C語言

㈤ vc2010怎麼進行c語言編譯

1,在windows桌面中Visual Studio打開軟體並新建項目。

㈥ 關於c++編譯生成文件

APS:存放二進制資源的中間文件,VC把當前資源文件轉換成二進制格式,並存放在APS文件中,以加快資源裝載速度。資源輔助文件。

.BMP:點陣圖資源文件。

.BSC:瀏覽信息文件,由瀏覽信息維護工具(BSCMAKE)從原始瀏覽信息文件(.SBR)中生成,BSC文件可以用來在源代碼編輯窗口中進行快速定位。用於瀏覽項目信息的,如果用source brower的話就必須有這個文件。可以在project options里去掉Generate Browse Info File,這樣可以加快編譯進度。

.C:用C語言編寫的源代碼文件。

.CLW:ClassWizard生成的用來存放類信息的文件。classwizard信息文件,ini文件的格式。

.CNT:用來定義幫助文件中「Contents」的結構。

.CPP或.CXX:用C++語言編寫的源代碼文件。

.CUR:游標資源文件。

.DEF:模塊定義文件,供生成動態鏈接庫時使用。

.DLG:定義對話框資源的獨立文件。這種文件對於VC工程來說並非必需,因為VC一般把對話框資源放在.RC資源定義文件中。

.DSP:VC開發環境生成的工程文件,VC4及以前版本使用MAK文件來定義工程。項目文件,文本格式。

.DSW:VC開發環境生成的WorkSpace文件,用來把多個工程組織到一個WorkSpace中。工作區文件,與.dsp差不多。

.EXP:由LIB工具從DEF文件生成的輸出文件,其中包含了函數和數據項目的輸出信息,LINK工具將使用EXP文件來創建動態鏈接庫。只有在編譯DLL時才會生成,記錄了DLL文件中的一些信息。

.H、.HPP或.HXX:用C/C++語言編寫的頭文件,通常用來定義數據類型,聲明變數、函數、結構和類。

.HLP:Windows幫助文件。

.HM:在Help工程中,該文件定義了幫助文件與對話框、菜單或其它資源之間ID值的對應關系。

.HPJ:由Help Workshop生成的Help工程文件,用來控制Help文件的生成過程。

.HPG,生成幫助的文件的工程。

.ICO:圖標資源文件。

.ILK:連接過程中生成的一種中間文件,只供LINK工具使用。

.INI:配置文件。

.LIB:庫文件,LINK工具將使用它來連接各種輸入庫,以便最終生成EXE文件。

.LIC:用戶許可證書文件,使用某些ActiveX控制項時需要該文件。

.MAK:即MAKE文件,VC4及以前版本使用的工程文件,用來指定如何建立一個工程,VC6把MAK文件轉換成DSP文件來處理。

.MAP:由LINK工具生成的一種文本文件,其中包含有被連接的程序的某些信息,例如程序中的組信息和公共符號信息等。執行文件的映像信息記錄文件。

.MDP:舊版本的項目文件,相當於.dsp

.NCB:NCB是「No Compile Browser」的縮寫,其中存放了供ClassView、WizardBar和Component Gallery使用的信息,由VC開發環境自動生成。無編譯瀏覽文件。當自動完成功能出問題時可以刪除此文件。編譯工程後會自動生成。

.OBJ:由編譯器或匯編工具生成的目標文件,是模塊的二進制中間文件。

.ODL:用對象描述語言編寫的源代碼文件,VC用它來生成TLB文件。

.OLB:帶有類型庫資源的一種特殊的動態鏈接庫,也叫對象庫文件。

.OPT:VC開發環境自動生成的用來存放WorkSpace中各種選項的文件。工程關於開發環境的參數文件。如工具條位置信息等。

.PBI、.PBO和.PBT:由VC的性能分析工具PROFILE生成並使用的三種文件。

.PCH:預編譯頭文件,比較大,由編譯器在建立工程時自動生成,其中存放有工程中已經編譯的部分代碼,在以後建立工程時不再重新編譯這些代碼,以便加快整個編譯過程的速度。

.PDB:程序資料庫文件,在建立工程時自動生成,其中存放程序的各種信息,用來加快調試過程的速度。記錄了程序有關的一些數據和調試信息。

.PLG:編譯信息文件,編譯時的error和warning信息文件。

.RC:資源定義文件。

.RC2:資源定義文件,供一些特殊情況下使用。

.REG:注冊表信息文件。

.RES:二進制資源文件,資源編譯器編譯資源定義文件後即生成RES文件。

.RTF:Rich Text Format(豐富文本格式)文檔,可由Word或寫字板來創建,常被用來生成Help文件。

.SBR:VC編譯器為每個OBJ文件生成的原始瀏覽信息文件,瀏覽信息維護工具(BSCMAKE)將利用SBR文件來生成BSC文件。

.TLB:OLE庫文件,其中存放了OLE自動化對象的數據類型、模塊和介面定義,自動化伺服器通過TLB文件就能了解自動化對象的使用方法。

debug 包裡面有生成的可執行文件,及有關鏈接庫的一些信息,調試信息等

㈦ 在網上下載了一個c語言源代碼,裡面很多.c.h文件,請問我要怎麼編譯才能運行起來

首先讀一下readme文件,看一下這個游戲的編譯環境是怎麼樣的,是運行在win下還是linux,然後在正確的環境下使用游戲代碼中的Makefile文件來編譯這個游戲。我假設它是vc6編寫的,那麼可以這么做。我的vc6文件目錄位於C:\Program Files (x86)\Microsoft Visual Studio\VC98\Bin。在命令提示符下進入這個目錄後,運行目錄下的vars32.bat設置環境,再用cd命令轉到游戲代碼目錄,執行nmake /f makefile,看一下編譯結果,如果正確的話,就會生成可執行文件了。如果不對,要麼適當修改游戲代碼,要麼調整一下Makefile文件的內容,這是細活,得慢慢琢磨。

閱讀全文

與資源編譯和c碼編譯相關的資料

熱點內容
伺服器無影響是怎麼回事 瀏覽:950
比德電子采購平台加密 瀏覽:200
加密貨幣400億 瀏覽:524
植發2次加密 瀏覽:44
vc6查看編譯的錯誤 瀏覽:595
心理大全pdf 瀏覽:1002
區域鏈加密幣怎麼樣 瀏覽:343
查找命令符 瀏覽:95
壓縮工具zar 瀏覽:735
白盤怎麼解壓 瀏覽:474
辰語程序員學習筆記 瀏覽:47
程序員被公司勸退 瀏覽:523
java三子棋 瀏覽:692
加密空間怎麼強制進入 瀏覽:345
ug分割曲線命令 瀏覽:209
學碼思程序員 瀏覽:609
自考雲學習app為什麼登不上 瀏覽:410
domcer伺服器晝夜更替怎麼搞 瀏覽:436
plc和單片機哪個好 瀏覽:535
帝國神話組建雲伺服器 瀏覽:827