vs編譯dll
A. vs2010怎麼編譯生成dll文件
可以在開始建立新項目的時候選擇DLL類型進行編寫
一般情況下有四種可選的類型:windows應用程序,控制台應用程序,DLL,靜態庫。
當完成DLL的編寫之後,點擊菜單欄【生成】->【生成解決方案】然後進入該解決方案源文件夾下找到bin->Debug會發現DLL文件已經生成。
B. 用VS 如何由源代碼生成DLL文件
1:創建DLL工程
文件->新建->項目->visual c++->win32->win32控制台應用程序(win32項目也可以)
填寫項目名稱MyDLL->確定->下一步->DLL(附加選項 對空項目打鉤)->完成。
到這里DLL工程就創建完畢了,下面新建兩個文件MyDLL.cpp和MyDLL.h。
MyDLL.cpp內容如下:
testMyDLL.h內容如下
#pragmaonce
extern"C"_declspec(dllexport)intAdd(int&a,int&b);
現在可以編譯通過了,但是程序運行就報錯,還需要將MyDLL.dll復制到當前項目生成的可執行文件所在的目錄。(這一點非常重要)
這里需要注意testMyDLL.cpp文件中調用lib的這句話:
#pragmacomment(lib,"..\debug\MyDLL.lib")
這里需要指明lib所在的文件夾,當然我們也可以在生成dll的MyDLL工程中,指定lib和dll文件的輸出路徑,直接到testMyDLL工程下。
注意:如果只有dll文件,那麼必須在程序裡面調用LoadLibrary()函數才能使用,如果有lib文件,那麼有兩種方式可以馬上進行調用
C. vs2010編譯c的dll,在c++中調用問題
樓上說的很對,我在用java NDK 開發也是這樣的問題,但是一樣是用extern "C" 搞定,
貼段代碼給你看看
#include<jni.h>
#include<stdio.h>
#include<pthread.h>
#include<unistd.h>
#include<android/log.h>
extern"C"
{
voidJava_com_example_jniopengl_MainActivity_go(JNIEnv*env,jobjectthiz);
}
void*run_by_thread(void*num)
{
int*nums=(int*)num;
intstatus=0;
for(inti=0;i<3;i++)
{
::sleep(1);
::__android_log_print(1,"go++","thread%d:_%d",*nums,i);
}
if(*nums==1)
{status=100;
return(void*)&status;
}
elseif(*nums==2)
{
status=200;
::pthread_exit((void*)&status);
}}
voidstart_threads()
{
pthread_tth1,th2;
intthreadNum1=1;
intthreadNum2=2;
intret=-1;
intre=::pthread_create(&th1,NULL,run_by_thread,(void*)&threadNum1);
re=::pthread_create(&th2,NULL,run_by_thread,(void*)&threadNum2);
void*status;
re=::pthread_join(th1,&status);
int*code=(int*)status;
__android_log_print(1,"code","code:%d ",*code);
re=::pthread_join(th2,&status);
int*code2=(int*)status;
__android_log_print(1,"code","code:%d ",*code2);
}
voidJava_com_example_jniopengl_MainActivity_go(JNIEnv*env,jobjectthiz)
{
start_threads();
}
D. 我在VS2017裡面用C#在.net framework上編寫了一個dll,我想編譯,怎麼解決
您的編譯已經完成了。在debug或者release文件夾下可以看到.dll文件(也可能會有xml文件),但是這是一個類庫,本身是不能直接運行的,所以在VS中使用「運行」(F5)會彈出這樣的提示。如果您想要調試這個類庫,請在解決方案下添加一個新的項目,引用這個類庫項目,然後進行測試。
E. 如何用VS2010編寫動態鏈接庫DLL
騰訊電腦管家可以幫助修復
a進入管家的首頁後,點擊右上角的「工具箱」按鈕,點擊「電腦診所」
b進入「電腦診所」找到「軟體硬體」點擊「丟失dll文件」最後「一鍵修復」界面
可以根據自己彈出的對話框中顯示的無法啟動程序是丟失的何種dll文件,找到對應的後,滑鼠輕輕放在該項上,當出現了「立即修復」按鈕後點擊「立即修復」按鈕。
完成以上步驟後,系統便自行修復了dll文件丟失的故障了,完成了修復
F. vs2012怎麼生成dll文件
這里簡單說一下:
1)MD4
MD4(RFC1320)是MIT的RonaldL.Rivest在1990年設計的,MD是MessageDigest的縮寫。它適用在32位字長的處理器上用高速軟體實現--它是基於32位操作數的位操作來實現的。
2)MD5
MD5(RFC1321)是Rivest於1991年對MD4的改進版本。它對輸入仍以512位分組,其輸出是4個32位字的級聯,與MD4相同。MD5比MD4來得復雜,並且速度較之要慢一點,但更安全,在抗分析和抗差分方面表現更好。
MD5是一種不可逆的加密演算法,目前是最牢靠的加密演算法之一,尚沒有能夠逆運算的程序被開發出來,它對應任何字元串都可以加密成一段唯一的固定長度的代碼。
G. vs中編譯生成的.dll文件有什麼用處
要安裝編譯器。 否則沒有辦法。 VS2010 是一個平台裡面附帶了很多編譯器,例如VC10的編譯器。 如果你要生成dll,就需要編譯器。 可以單獨下載。 也可以用 GCC 的編譯器。
H. 如何在vs中安裝dll反編譯工具
網路搜索下載Reflector綠色版,解壓,可找到文件Reflector,
雙擊Reflector,即可運行Reflector,可看到如下界面;左上角工作欄,File->Open Assembly;打開你所需要打開的dll文件
在軟體左邊工作區域我們就可以看到你所打開的dll文件,點擊展開,在所選擇的.dll文件下面可以看到dll中所有的編寫的類,
4
點擊類名我們就可以看到裡面編寫的內容了
I. 如何用VS編輯dll文件(組件)
反編譯之後進行代碼重組,工具推薦使用Reflecter,然後編譯
J. vs2013 c++ 怎麼生成dll
1.建立一個C++的Win32DLL,這里要注意選擇"Export symbols"導出符號。點擊完成。如下圖所示: