| 5 | 1/1 | 返回列表 |
| 查看: 1705 | 回復(fù): 4 | ||
[求助]
有關(guān)DLL的問題
|
| 我想用DLL做一個數(shù)據(jù)庫,能夠采集下位機傳來的包括整型、離散型、字符串型的數(shù)據(jù),并進(jìn)行累加計算,但是不太清楚怎么用DLL采集數(shù)據(jù)并進(jìn)行緩存,還有如何進(jìn)行累加計算。在下初學(xué)VC,求各路英雄伸出援手啊! |
木蟲 (著名寫手)
|
轉(zhuǎn)貼:http://read.newbooks.com.cn/info/173238.html VC創(chuàng)建動態(tài)庫及其使用方法簡介 這里介紹的VC創(chuàng)建DLL的方法是最簡單也是最常用的方法,創(chuàng)建的基本過程就象下面介紹的這樣簡單。調(diào)用DLL的方法,隨不同的開發(fā)語言有所不同,但是基本上分為靜態(tài)調(diào)用和動態(tài)調(diào)用。最常用的也就是靜態(tài)調(diào)用用,如果想了解動態(tài)調(diào)用DLL以及DLL相關(guān)高級話題,請參考其他資料,這些內(nèi)容不在本章探討內(nèi)容之中。 一.VC創(chuàng)建動態(tài)庫的過程 Step1: 首先創(chuàng)建工程,類型為”Win32 Dynamic-Link Library”。然后可以選擇”A Empty DLL Project”。 Step2: 首先創(chuàng)建頭文件,本例為”DllExample.h”,內(nèi)容如下: NOTICE:在創(chuàng)建自己的DLL頭文件過程中,您只需要把 (1) #ifndef _DLLEXAMPLE_H #define _DLLEXAMPLE_H 修改成您自己的頭文件的名稱 (2) 部分替換成您的接口函數(shù),其它部分可以復(fù)制使用。 Step3: 其次創(chuàng)建.pp文件,也就是實現(xiàn)文件。本例實現(xiàn)如下: NOTICE: 要包含頭文件,如果您的接口函數(shù)實現(xiàn)過程中需要其它的頭文件,也都在這里包含進(jìn)去。 Step4: 創(chuàng)建def文件,此文件是DLL輸出您所實現(xiàn)的所有函數(shù)接口的。創(chuàng)建時選擇”Text File”創(chuàng)建的文件后綴名是.def。本例內(nèi)容如下: LIBRARY "DLLEXAMPLE" DESCRIPTION "A Dll Example" EXPORTS Jisuan NOTICE: (1) 您只需要把LIBRARY "DLLEXAMPLE",修改成您的DLL名稱。 (2) EXPORTS下,只列出函數(shù)名稱,而不包含其參數(shù)等。 按照以上方式創(chuàng)建的DLL,是其他任何語言都可以調(diào)用的,基本的過程如上所述,其實很簡單。 二.應(yīng)用程序調(diào)用DLL的方法 這里我是用VC創(chuàng)建了一個很簡單的應(yīng)用程序,其實就一個按鈕,來調(diào)用。 代碼如下: 這里用的是靜態(tài)調(diào)用,因此只需要把動態(tài)庫的DLL文件,LIB文件和頭文件拷到需要調(diào)用動態(tài)庫的應(yīng)用程序當(dāng)前目錄下就可以了。另外需要注意的是VC,還需要用”Project->Add to Project->Files”把LIB文件和頭文件添加到應(yīng)用程序,否則會報找不到動態(tài)庫的錯誤。 基本情況就是這樣,其他編程平臺的調(diào)用方法可能有所不同,但是大同小異。另外一個需要注意的問題是,當(dāng)其他語言需要調(diào)用C編寫的動態(tài)庫時,需要進(jìn)行類型轉(zhuǎn)換,這些內(nèi)容將另外討論。 |

新蟲 (著名寫手)
金蟲 (初入文壇)
|
為什么要用DLL做呢?DLL文件是需要被調(diào)用才能執(zhí)行的,所以可能你還得需要用VC寫一個EXE程序來調(diào)用這個DLL文件。 我對VC串口通信不是很熟。通過串口通信獲取數(shù)據(jù),應(yīng)該可以用對應(yīng)類型的變量存儲就行了。要獲取的類型數(shù)據(jù)莫非還不能提前確定? 累加就不說了,根據(jù)你們的累加規(guī)則。如果數(shù)據(jù)連續(xù)采集那用一個局部變量存儲總和值,最后寫入數(shù)據(jù)文件,不然的話可以用全局變量或者從保存的數(shù)據(jù)文件中讀取來獲取該次采集之前所有采集的總和值。 我還是不懂你的DLL做一個數(shù)據(jù)庫是什么意思,這種數(shù)據(jù)采集一般量都不大,用VC中中的文件操作函數(shù)存儲到文本文件里面就可以,還方便用記事本查看。 總之你要實現(xiàn)的功能并不難,關(guān)鍵在于解決和下位機的通信問題。理清思路之后百度百度應(yīng)該就能完成。 |
| 5 | 1/1 | 返回列表 |
| 最具人氣熱帖推薦 [查看全部] | 作者 | 回/看 | 最后發(fā)表 | |
|---|---|---|---|---|
|
[考研] 0854AI CV方向招收調(diào)劑 +3 | 章小魚567 2026-03-23 | 3/150 |
|
|---|---|---|---|---|
|
[考研] 生物學(xué)學(xué)碩求調(diào)劑 +6 | 小羊睡著了? 2026-03-23 | 9/450 |
|
|
[考研] 0854電子信息求調(diào)劑 +6 | α____ 2026-03-22 | 7/350 |
|
|
[考研] 材料學(xué)碩333求調(diào)劑 +3 | 北道巷 2026-03-24 | 3/150 |
|
|
[考博] 申博26年 +4 | 八6八68 2026-03-19 | 4/200 |
|
|
[考研] 307求調(diào)劑 +5 | 超級伊昂大王 2026-03-24 | 5/250 |
|
|
[考研] 335分 | 材料與化工專碩 | GPA 4.07 | 有科研經(jīng)歷 +4 | cccchenso 2026-03-23 | 4/200 |
|
|
[考研] 333求調(diào)劑 +3 | ALULU4408 2026-03-23 | 3/150 |
|
|
[考研] 考研化學(xué)308分求調(diào)劑 +7 | 你好明天你好 2026-03-23 | 8/400 |
|
|
[考研] 北科281學(xué)碩材料求調(diào)劑 +8 | tcxiaoxx 2026-03-20 | 9/450 |
|
|
[考研] 311求調(diào)劑 +6 | 冬十三 2026-03-18 | 6/300 |
|
|
[考研] 269專碩求調(diào)劑 +6 | 金恩貝 2026-03-21 | 6/300 |
|
|
[考研] 354求調(diào)劑 +7 | Tyoumou 2026-03-18 | 10/500 |
|
|
[考研] 286求調(diào)劑 +10 | Faune 2026-03-21 | 10/500 |
|
|
[考研] 考研調(diào)劑 +3 | 呼呼?~+123456 2026-03-21 | 3/150 |
|
|
[考研] 材料學(xué)碩333求調(diào)劑 +3 | 北道巷 2026-03-18 | 3/150 |
|
|
[考研] 304求調(diào)劑 +6 | 曼殊2266 2026-03-18 | 6/300 |
|
|
[考研] 考研調(diào)劑求學(xué)校推薦 +3 | 伯樂29 2026-03-18 | 5/250 |
|
|
[考研] 一志愿 西北大學(xué) ,070300化學(xué)學(xué)碩,總分287,雙非一本,求調(diào)劑。 +4 | 晨昏線與星海 2026-03-19 | 4/200 |
|
|
[考研] 本科鄭州大學(xué)物理學(xué)院,一志愿華科070200學(xué)碩,346求調(diào)劑 +4 | 我不是一根蔥 2026-03-18 | 4/200 |
|