![動態(tài)鏈接庫的導(dǎo)出與導(dǎo)入實例_第1頁](http://file3.renrendoc.com/fileroot_temp3/2022-5/4/7872f57f-14b7-4742-ac03-03141faf592b/7872f57f-14b7-4742-ac03-03141faf592b1.gif)
![動態(tài)鏈接庫的導(dǎo)出與導(dǎo)入實例_第2頁](http://file3.renrendoc.com/fileroot_temp3/2022-5/4/7872f57f-14b7-4742-ac03-03141faf592b/7872f57f-14b7-4742-ac03-03141faf592b2.gif)
![動態(tài)鏈接庫的導(dǎo)出與導(dǎo)入實例_第3頁](http://file3.renrendoc.com/fileroot_temp3/2022-5/4/7872f57f-14b7-4742-ac03-03141faf592b/7872f57f-14b7-4742-ac03-03141faf592b3.gif)
![動態(tài)鏈接庫的導(dǎo)出與導(dǎo)入實例_第4頁](http://file3.renrendoc.com/fileroot_temp3/2022-5/4/7872f57f-14b7-4742-ac03-03141faf592b/7872f57f-14b7-4742-ac03-03141faf592b4.gif)
![動態(tài)鏈接庫的導(dǎo)出與導(dǎo)入實例_第5頁](http://file3.renrendoc.com/fileroot_temp3/2022-5/4/7872f57f-14b7-4742-ac03-03141faf592b/7872f57f-14b7-4742-ac03-03141faf592b5.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、XXXX大學(xué)實驗報告成績第頁(共頁)課程:軟件開發(fā)技術(shù)實驗日期年月日專業(yè)班號XXXX組別交報告日期年月日姓名XXXXXXXXX學(xué)號XXXXXXXXX報告退發(fā)(修正、重做)同組者教師審批簽字實驗報告格式一、預(yù)習準備:實驗?zāi)康暮鸵?,實驗儀器和設(shè)備等;二、實驗過程:實驗步驟和實驗數(shù)據(jù)記錄;三、實驗總結(jié):實驗數(shù)據(jù)處理和實驗結(jié)果討論。實驗名稱動態(tài)鏈接庫的導(dǎo)出與導(dǎo)入一、實驗?zāi)康? .動態(tài)鏈接庫程序設(shè)計;2 .動態(tài)鏈接庫應(yīng)用程序設(shè)計;二、實驗內(nèi)容1 .導(dǎo)出DLL動態(tài)鏈接庫2 .導(dǎo)入DLL動態(tài)鏈接庫3 .函數(shù)尋址三、源碼:導(dǎo)出DLL:/DLL.h#ifdefDLL_EXPORTS#defineDLL_API
2、_declspec(dllexport)#else#defineDLL_API_declspec(dllimport)#endifstructStuInfocharnum15;/學(xué)號charname10;/姓名charsex3;性別charschool20;/學(xué)院charmajor_class10;/專業(yè)班級StuInfo*next;/下一個學(xué)生信息的地址;extern"C"_declspec(dllexport)voidInput_Data(StuInfo*);/輸入數(shù)據(jù)extern"C"_declspec(dllexport)StuInfo*Num_
3、Search(StuInfo*);/用學(xué)號搜索extern"C"_declspec(dllexport)voidNum_Modify(StuInfo*);/用學(xué)號修改extern"C"_declspec(dllexport)voidNum_Delete(StuInfo*);/用學(xué)號刪除extern"C"_declspec(dllexport)voidPrint(StuInfo*p);/顯示學(xué)生信息extern"C"_declspec(dllexport)intMenu();/菜單函數(shù)extern"C&qu
4、ot;_declspec(dllexport)voidClass_Search(StuInfo*head);/用班級搜索/DLL.c#ifndefDLL_EXPORTS#defineDLL_EXPORTS#endif#include"DLL.h"#include<windows.h>#include<stdio.h>#include<tchar.h>#include<malloc.h>#include<string.h>staticintstu_num=0;/初始化學(xué)生數(shù)量為0BOOLAPIENTRYDllMain
5、(HMODULEhModule,DWORDul_reason_for_call,LPVOIDlpReserved)(switch(ul_reason_for_call)(caseDLL_PROCESS_ATTACH:caseDLL_THREAD_ATTACH:caseDLL_THREAD_DETACH:caseDLL_PROCESS_DETACH:break;returnTRUE;DLL_APIvoidInput_Data(StuInfo*head)/輸入數(shù)據(jù)(new_stu=(StuInfo*)malloc(sizeof(StuInfo);/申請新的節(jié)點空間printf("請輸入新
6、的學(xué)生信息:n");printf("學(xué)號:");scanf_s("%s",new_stu->num,15);printf("姓名:");scanf_s("%s",new_stu->name,10);printf("性別:");scanf_s("%s",new_stu->sex,3);printf("學(xué)院:");scanf_s("%s",new_stu->school,20);printf("專
7、業(yè)班級:");scanf_s("%s",new_stu->major_class,10);/頭插法建立鏈表new_stu->next=head->next;head->next=new_stu;stu_num+;/學(xué)生數(shù)量加一DLL_APIStuInfo*Num_Search(StuInfo*head)/用學(xué)號搜索返回目標節(jié)點的前一個節(jié)點StuInfo*p,*p_ahead;/p和p的前一個節(jié)點charsearch15;p=head;if(stu_num=0)printf("沒有學(xué)生信息n");returnNULL;pr
8、intf("請輸入要查找的學(xué)號:");scanf_s("%s",search,15);while(p!=NULL)/如果找到了直接退出程序沒找到會退出循環(huán)給出提示if(strcmp(p->num,search)=0)/如果兩個字符串相等printf("學(xué)號姓名性別學(xué)院專業(yè)班級n");Print(p);/輸出該信息returnp_ahead;/返回前一個p_ahead=p;/保存前一個節(jié)點p=p->next;/查找下一個printf("沒有該學(xué)生信息n");returnNULL;DLL_APIvoidCl
9、ass_Search(StuInfo*head)用班級搜索StuInfo*p;charsearch10;intnum=0,mark=0;p=head;if(stu_num=0)(printf("沒有學(xué)生信息n");return;printf("請輸入要查找的專業(yè)班級:");scanf_s("%s",search,10);while(p!=NULL)/如果找到了直接退出程序沒找到會退出循環(huán)給出提示(if(strcmp(p->major_class,search)=0)/如果兩個字符串相等(num+;if(mark=0)(print
10、f("學(xué)號姓名性別學(xué)院專業(yè)班級n");mark=1;Print(p);/輸出該信息p=p->next;查找下一個if(num=0)(printf("沒有找到該班級學(xué)生信息n");return;else(printf("共找到該班級%d名學(xué)生信息n",num);return;DLL_APIvoidNum_Modify(StuInfo*head)/用學(xué)號修改(StuInfo*p,*head1,*p_ahead;headl=head;p_ahead=Num_Search(headl);/接收目標節(jié)點的前一個節(jié)點if(p_ahead=N
11、ULL)(return;)p=p_ahead->next;/目標節(jié)點if(p_ahead!=NULL)(printf("請重新輸入該學(xué)生信息:n");printf("輸入學(xué)號:");scanf_s("%s",p->num,15);printf("輸入姓名:");scanf_s("%s",p->name,10);printf("輸入性別:");scanf_s("%s",p->sex,3);printf("輸入學(xué)院:"
12、;);scanf_s("%s",p->school,20);printf("輸入專業(yè)班級:");scanf_s("%s",p->major_class,10);printf("修改成功n");)return;)DLL_APIvoidNum_Delete(StuInfo*head)/用學(xué)號刪除(StuInfo*p,*p_ahead,*p_after,*head1;head1=head;p_ahead=Num_Search(head1);/接收目標節(jié)點的前一個節(jié)點if(p_ahead!=NULL)(p=p_
13、ahead->next;p_after=p->next;/目標節(jié)點的后一個節(jié)點p_ahead->next=p_after;/鏈接這兩個節(jié)點free(p);/刪除中間的節(jié)點printf("刪除成功n");)return;)DLL_APIvoidPrint(StuInfo*p)/顯示學(xué)生信息(%s%sn",p->num,p->name,p->sex,p->school,printf("%s%s%sp->major_class);)DLL_APIintMenu()(intchoose;printf("學(xué)
14、生證管理系統(tǒng)nn");printf("1.輸入數(shù)據(jù)n");printf("2.學(xué)號查詢n");printf("3.班級查詢n");printf("4.學(xué)號修改n");printf("5.學(xué)號刪除n");printf("6.退出系統(tǒng)n");printf("請選擇:");scanf_s("%d",&choose,1);while(choose<1|choose>6)(printf("您的選擇有誤,請重
15、新輸入:");scanf_s("%d",&choose,1);returnchoose;將導(dǎo)出的DLL放在導(dǎo)入DLL項目目錄下導(dǎo)入DLL:/DLL_1.h#include<stdio.h>#include<tchar.h>#include<windows.h>#ifdefDLL_EXPORTS#defineDLL_API_declspec(dllexport)#else#defineDLL_API_declspec(dllimport)#endifstructStuInfo(charnum15;/學(xué)號charname10
16、;/姓名charsex3;性別charschool20;/學(xué)院charmajor_class10;/專業(yè)班級StuInfo*next;下一個學(xué)生信息的地址;/main.h#include"DLL_1.h"typedefvoid(*Input_Data)(StuInfo*);/輸入數(shù)據(jù)typedefStuInfo*(*Num_Search)(StuInfo*);/用學(xué)號搜索typedefvoid(*Class_Search)(StuInfo*);/用班級搜索typedefvoid(*Num_Modify)(StuInfo*);/用學(xué)號修改typedefvoid(*Num_De
17、lete)(StuInfo*);/用學(xué)號刪除typedefvoid(*Print)(StuInfo*p);/顯示學(xué)生信息typedefint(*Menu)();/菜單函數(shù)intmain(intargc,char*argv)(Input_Datainput_data;Num_Searchnum_search;Class_Searchclass_search;Num_Modifynum_modify;Num_Deletenum_delete;Printprint;Menumenu;StuInfo*head;/head為頭結(jié)點p為尾節(jié)點HINSTANCEhinstance;TCHARpath=TEX
18、T(".DLL_1.dll");hinstance=LoadLibrary(path);if(hinstance=NULL)(printf("dll未正確加載n");return1;print=(Print)GetProcAddress(hinstance,"Print");menu=(Menu)GetProcAddress(hinstance,"Menu");input_data=(Input_Data)GetProcAddress(hinstance,"Input_Data");num_search=(Num_Search)GetProcAddress(hinstance,"Num_Search");class_search=(Class_Search)GetProcAddress
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025-2030全球初級沖擊式破碎機行業(yè)調(diào)研及趨勢分析報告
- 座次禮儀健康管理系施怡寧講解
- 2025個人借款樓房抵押合同范本
- 2025標準材料采購合同范本
- 打灰工班組承包合同
- 生活污水處理合同書范本年
- 墻面廣告租賃合同
- 提高人際溝通與協(xié)調(diào)的技巧
- 建筑工程施工總承包合同
- 活動板房工程合同范本
- 《民航服務(wù)溝通技巧》教案第16課民航服務(wù)人員平行溝通的技巧
- 深圳市物業(yè)專項維修資金管理系統(tǒng)操作手冊(電子票據(jù))
- 2023年鐵嶺衛(wèi)生職業(yè)學(xué)院高職單招(數(shù)學(xué))試題庫含答案解析
- 呆死帳的發(fā)生與預(yù)防課件
- 10000中國普通人名大全
- 起重機械安裝吊裝危險源辨識、風險評價表
- 華北理工兒童口腔醫(yī)學(xué)教案06兒童咬合誘導(dǎo)
- 中國建筑項目管理表格
- 高一3班第一次月考總結(jié)班會課件
- 公共政策分析導(dǎo)論教學(xué)課件匯總完整版電子教案
- 我國油菜生產(chǎn)機械化技術(shù)(-119)
評論
0/150
提交評論