小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

C語言如何生成DLL

 qilong 2012-10-30

用  vc  6.0  下的cl.exe  和  link.exe工具,請讀下文:
聲明:下面這篇文章不是我寫的,源自:一個(gè)叫,有容乃大  的博客 
 
                                                    如何手工編寫動(dòng)態(tài)鏈接庫(windows  dll)

        1.本例介紹在命令行(Console)環(huán)境下制作dll的方法
        2.讀者動(dòng)手前,請確保在windows中安裝有編譯、鏈接工具和必要的函數(shù)庫文件。
        3.本例使用C語言實(shí)現(xiàn).
        4.本例中使用路徑均為我機(jī)器上的絕對(duì)路徑,讀者需根據(jù)實(shí)際情況調(diào)整。

        工具要求:

        Microsoft的編譯器cl.exe 
         MIcrosoft鏈接器link.exe


dll制作步驟:
1.編寫dll函數(shù)實(shí)現(xiàn)源代碼hello.c


#include 
 
int  say_hello(char*  name)
{
printf( "hello  %s\n ",  name);
return  1;
}


2.編寫dll函數(shù)輸出定義文件hello.def.

LIBRARY  hello
EXPORTS
say_hello  @1


3.編譯dll源碼,生成dll,lib文件.

3.1  新建命令行窗口
3.2  設(shè)置PATH  |  INCLUDE  |  LIB  3個(gè)環(huán)境變量.

SET  PATH=K:\vcnet\vc7\bin;%PATH%
SET  INCLUDE=K:\vcnet\vc7\include;%INCLUDE%
SET  LIB=K:\vsnet\Vc7\lib;%LIB%

3.3  編譯hello.c

cd  K:\Source\dllsample  (hello.c和hello.def所在目錄)
cl  /c  hello.c 
 
3.4  鏈接hello.obj,生成hello.dll,hello.lib兩個(gè)文件.

link  /def:hello.def  /dll  hello.obj

4.測試dll函數(shù).

4.1  編寫測試代碼  test.c

extern  int  say_hello(char*  name);
int  main(int  argc,char**  argv)
{
say_hello( "robbie ");
return  0;
}

4.2  編譯測試代碼test.c

cl  /c  test.c

4.3  鏈接test.obj和  hello.lib,生成可執(zhí)行文件test.exe

link  test.obj  hello.lib

4.4  運(yùn)行test.exe,屏幕輸出:

hello  robbie

至此,一個(gè)dll構(gòu)造完畢.


下面是我自己的一點(diǎn)補(bǔ)充:
      如果要在C++下,或者win32    MFC下使用標(biāo)準(zhǔn)c寫的dll,必須把上面的聲明
extern  int  say_hello(char*  name);改成:extern  "C "  int  say_hello(char*  name);
本文摘自: 編程十萬個(gè)為什么(http://www.) 詳細(xì)出處請參考:http://www./thread-12994-11-1.html

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請遵守用戶 評(píng)論公約

    類似文章 更多