『壹』 怎樣把C#文件編譯成DLL文件
動態鏈接庫 (DLL) 在運行時鏈接到程序。為說明如何生成和使用 DLL,請看以下方案:
MathLibrary.DLL:為庫文件,其中包含運行時要調用的方法。此例中,DLL 包含兩個方法:Add 和 Multiply。
Add.cs:為源文件,其中包含 Add(long i, long j) 方法。該方法返回參數之和。包含 Add 方法的 AddClass 類是命名空間 UtilityMethods 的成員。
Mult.cs:為源文件,其中包含 Multiply(long x, long y) 方法。該方法返回參數之積。包含 Multiply 方法的 MultiplyClass 類也是命名空間 UtilityMethods 的成員。
TestCode.cs:包含 Main 方法的文件。它使用 DLL 文件中的方法來計算運行時參數的和與積。
示例
// File: Add.cs
namespace UtilityMethods
{
public class AddClass
{
public static long Add(long i, long j)
{
return (i + j);
}
}
}
// File: Mult.cs
namespace UtilityMethods
{
public class MultiplyClass
{
public static long Multiply(long x, long y)
{
return (x * y);
}
}
}
// File: TestCode.cs
using UtilityMethods;
class TestCode
{
static void Main(string[] args)
{
System.Console.WriteLine("Calling methods from MathLibrary.DLL:");
if (args.Length != 2)
{
System.Console.WriteLine("Usage: TestCode <num1> <num2>");
return;
}
long num1 = long.Parse(args[0]);
long num2 = long.Parse(args[1]);
long sum = AddClass.Add(num1, num2);
long proct = MultiplyClass.Multiply(num1, num2);
System.Console.WriteLine("{0} + {1} = {2}", num1, num2, sum);
System.Console.WriteLine("{0} * {1} = {2}", num1, num2, proct);
}
}
/* Output (assuming 1234 and 5678 are entered as command line args):
Calling methods from MathLibrary.DLL:
1234 + 5678 = 6912
1234 * 5678 = 7006652
*/
此文件包含使用 DLL 方法 Add 和 Multiply 的演算法。它首先分析從命令行輸入的參數 num1 和 num2。然後使用 AddClass 類中的 Add 方法計算和,使用 MultiplyClass 類中的 Multiply 方法計算積。
請注意,文件開頭的 using 指令使您得以在編譯時使用未限定的類名來引用 DLL 方法,如下所示:
MultiplyClass.Multiply(num1, num2);
否則,必須使用完全限定名,如下所示:
UtilityMethods.MultiplyClass.Multiply(num1, num2);
執行
若要運行程序,請輸入 EXE 文件的名稱,文件名的後面跟兩個數字,如下所示:
TestCode 1234 5678
編譯代碼
若要生成文件 MathLibrary.DLL,請使用以下命令行編譯文件 Add.cs 和文件 Mult.cs:
csc /target:library /out:MathLibrary.DLL Add.cs Mult.cs
/target:library 編譯器選項通知編譯器輸出 DLL 文件而不是 EXE 文件。後跟文件名的 /out 編譯器選項用於指定 DLL 文件名。否則,編譯器使用第一個文件 (Add.cs) 作為 DLL 文件名。
若要生成可執行文件 TestCode.exe,請使用以下命令行:
csc /out:TestCode.exe /reference:MathLibrary.DLL TestCode.cs
/out 編譯器選項通知編譯器輸出 EXE 文件並且指定輸出文件名 (TestCode.exe)。此編譯器選項是可選的。/引用編譯器選項指定該程序使用的 DLL 文件。
『貳』 將A.cs文件編譯成.dll文件
我不知道啊,你加油。。。解決了告訴我\(^o^)/~哎呀,好麻煩無法載入 DLL「MasterRD.dll」: 找不到指定的模塊。 (異常來自 HRESULT:0x8007007E)。
『叄』 在怎樣情況下把代碼編譯成dll文件
如果使用的是VS,可以進行如下操作:
打開VS, 文件-新建-新建項目-其他語言-Visual C++ - Win32 控制台應用程序。
單擊確定後,彈出對話框,按照對話框「下一步」提示進行操作。
將要編譯的C文件拷貝到CreateDLL項目中,.h文件就放到頭文件夾的目錄下,.c文件放到源文件目錄下,注意後綴名為.c的文件都要改成.cpp,否則編譯會出錯。
注意:申明函數時必須參照上圖紅框標示出來的規則,在Function.cpp文件中必須要引入對應的#include CreateDLL.h。
選中所有需要編譯成dll的cpp文件,右鍵-屬性-預編譯頭-不使用預編譯頭,然後選擇 「生成」即可,這樣在項目的Debug文件夾下面便可找到CreateDLL.dll文件
『肆』 swmm怎麼編譯生成dll文件
如果需要改寫SWMM模型的源代碼,通常需要重新編譯生成新的動態鏈接庫,也就是常說的DLL,將SWMM 5源碼編譯為DLL的主要步驟如下:
1. 下載SWMM模型計算引擎源代碼後解壓,裡麵包含了模型代碼源文件。在對代碼進行必要的個性化修改後(如果不需要修改代碼,就完全沒有必要自己重新編譯了,安裝SWMM軟體後,安裝文件下就有計算引擎的DLL文件)就可以進行接下來的工作了。
2. 新建工程:以VC6.0為例,點擊文件/新建→工程;選擇」win32 dynmaic-link library」,輸入工程名字,如SWMM 5,在「位置」下輸入新工程存儲的路徑,點擊下方的「確定」;
3. 選擇「一個空的工程」,點擊「完成」;在彈出的對話框中點擊「確定」;
4. 「工程」菜單中選擇「添加到菜單」→文件,然後把文件夾中的包括頭文件在內的SWMM源文件(均以.c,.h後綴)全部添加到工程。
5. 在swmm5.c中取消define DLL前的注釋,使代碼為如下形式:
//#define CLE
//#define SOL
#define DLL
6. 選擇「組建」中的「編譯 SWMM5 」,在出現的對話框選擇「是」,然後再選擇」build」中的」execute swmm5″就完成了整個文件的編譯和執行。生成的debug文件夾中有swmm5.DLL。
7. 最後,把swmm5.def文件添加到工程中重新編譯一次。
『伍』 有沒有將exe文件編譯成dll文件的工具
不用工具.
打開"我的電腦",在窗口的工具欄上面"工具"-->"文件夾選項"-->"查看"-->
找到"隱藏已知文件類型的擴展名",把前面的"囗"設置為空白,也就是不選,-->確定.
然後,就在你想要改的那個EXE文件重名名,後面加上」.DLL」就行啦.
但此法只是冶標不冶本.
『陸』 cs怎麼編譯成dll
dll是人物模型,必須用專門的人物模型編輯器,可以編輯。
『柒』 如何把dll文件反編譯修改之後的文件編譯成dll
你在你的solution中新建一個工程,然後把a.cs,b.cs,c.cs添加到這個工程裡面(我建議你新建類,然後把類的代碼過去,這樣即使命名空間不同也不會造成混亂)
然後再你引用的工程里addreference->project->你新建的這個工程,就可以調用了.
這樣如果你需要修改的話直接在ide里修改,可以實時看到效果
『捌』 如何編譯生成dll文件以及如何調用dll文件
1.vs2015下生成DLL文件
文件->新建->項目
點擊確定選擇dll選項和空項目選項
點擊完成
為項目添加c++源文件mydll.cpp
[cpp] view plain
在CODE上查看代碼片派生到我的代碼片
extern "C" // 此處extern "c" 為解決c/c++兼容問題
{
_declspec(dllexport)int add(int a, int b)
{
return a + b;
}
extern "C"
{
_declspec(dllexport)int sub(int a, int b)
{
return a - b;
}
}
編譯生成 成功後會在工程根目錄生成Win32Project1.dll文件
2.對dll文件的調用
顯示調用動態鏈接庫
新建C++工程
把生成的 Win32Project1.dll 文件拷貝到 剛才新建的工程目錄下
在工程中新建源文件寫入代碼為
[cpp] view plain
在CODE上查看代碼片派生到我的代碼片
#include<iostream>
#include<windows.h>
void main()
{
HINSTANCE mydll = LoadLibrary("Win32Project1.dll"); //載入dll文件
if (mydll == NULL)
{
return;
}
int(*add)(int, int) =( int (*)(int ,int )) GetProcAddress(mydll, "add");//獲取函數指針
/*
等價於
typedef int(*myadd)(int, int); //給 函數指針int (*)(int, int ) 取別名 myadd
myadd a = (myadd) GetProcAddress(mydll,"add"); //獲取函數地址
*/
if (add == NULL)
{
return;
}
std::cout << add(1, 2);
std::cin.get();
}
編譯並運行即可。
『玖』 C++如何編譯出DLL文件
如果使用的是VS,可以進行如下操作:
打開VS, 文件-新建-新建項目-其他語言-Visual C++ -Win32 控制台應用程序。
單擊確定後,彈出對話框,按照對話框「下一步」提示進行操作。
將要編譯的C文件拷貝到CreateDLL項目中,.h文件就放到頭文件夾的目錄下,.c文件放到源文件目錄下,注意後綴名為.c的文件都要改成.cpp,否則編譯會出錯。
注意:申明函數時必須參照上圖紅框標示出來的規則,在Function.cpp文件中必須要引入對應的#include CreateDLL.h。
選中所有需要編譯成dll的cpp文件,右鍵-屬性-預編譯頭-不使用預編譯頭,然後選擇 「生成」即可,這樣在項目的Debug文件夾下面便可找到CreateDLL.dll文件
『拾』 怎樣把.cs文件編譯成DLL文件
開始--程序--Microsoft Visual Studio.NET 2005--Visual Studio.NET工具,點擊其中的「Visual Studio.NET2005命令提示」,就會進入Microsoft Visual Studio.NET 2005命令提示窗口,然後我們用dos命令(cd)進入要編譯成dll的cs文件所在的目錄,然後輸入命令:
csc /out: bin\index.dll /t:library index.cs
回車,就會在bin目錄下生成與cs文件同名的dll文件
但是如果這個cs文件引用了bin目錄下的另外一個dll文件如comman.dll,則應該這樣輸入命令:
csc /out: bin\index.dll /r: bin\comman.dll /t:library index.cs