1. 程式人生 > >VC2010 利用 def 文件生成 dll 文件的方法 轉載

VC2010 利用 def 文件生成 dll 文件的方法 轉載

gravity nts lib toc -m fontsize _stdcall string tool

最近有個需求,要生成一個dll 文件,文件中的函數都是采用 stdcall 函數調用約定,但是不希望函數名被修飾(add 被修飾成 add@8)。這時就要用def 文件了。

比如我有下面兩個函數:

[cpp] view plain copy
  1. extern "C" int _stdcall add(int a, int b)
  2. {
  3. return a + b;
  4. }
  5. extern "C" int _stdcall sub(int a, int b)
  6. {
  7. return a - b;
  8. }

def 文件(我命名為dll.def)可以這樣寫:

[plain] view plain copy
  1. LIBRARY add_sub
  2. EXPORTS
  3. add
  4. sub

VC6 來編譯的話很簡單,只要把 dll.def 文件加入到工程裏就可以了,可是到了vs2010 ,發現這樣做竟然沒用,生成的 dll 依然是啥都沒導出來。百度了一下,發現需要自己指定

Module Definition file。

技術分享

VC2010 利用 def 文件生成 dll 文件的方法 轉載