Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

問一下!幾個DLL的問題

0 views
Skip to first unread message

IMAGE PROCESSING

unread,
Aug 27, 2004, 12:53:10 AM8/27/04
to
.LIB DLL 有分之援BCB或是VC嗎?因為有個硬體之前是用VC寫 不知道BCB可不
可以使用
另外 可以將BCB寫一些函式 包成DLL 在VC++中使用嗎?


--
鳥清脆的歌聲, 日子越來越不快樂。有一天, 樵夫坐在門外,望著金黃的夕陽, 想著
金鳥到底有多美?此時, 銀鳥的傷康復, 準備離去。銀鳥飛到樵夫的身旁,最後一次
唱歌給樵夫聽,樵夫聽完, 只是很感慨的說︰「你的歌聲雖然好聽,但是比不上金鳥;
你的羽毛雖然很漂亮,但是比不上金鳥的美麗。」銀鳥唱完歌, 在樵夫身旁繞了三圈告
別, 向金黃的夕陽飛去。樵夫望著銀鳥,突然發現銀鳥在夕陽的照射下,變成了美麗的
金鳥;夢寐以求的金鳥, 就在那裡, 只是, 金鳥已經飛走了, 飛得遠遠的,再也不會
--
[m※ Origin: 雲林科技大學藍天使 <bbs.yuntech.edu.tw> [From: 140.116.178.156]

無限墮落中

unread,
Aug 30, 2004, 3:32:16 AM8/30/04
to
==> PeterP...@bbs.nhctc.edu.tw (纖手細足女人樣) 提到:
: ※ 引述《awei...@bbs.yuntech.edu.tw (IMAGE PROCESSING)》之銘言:
: > ..LIB DLL 有分之援BCB或是VC嗎?
: 沒有分支援什麼語言,
: DLL是PE(portable executable)
: 一般來說,編出來以後都可以用,
: 不過要注意的有兩點:
: 1. 雖然 DLL 沒有語言差別,
: 但是呼叫慣例還是有差,
: 比較麻煩的是 VB,
: 因為它只吃 __stdcall,
: 所以如果你做的 DLL 要給 VB 用的話,
: 就一定要宣告呼叫慣例為 __stdcall。
: 2. C++ 編出來的函數名稱會被裝飾,
: 要在函數宣告的時候,於最前方加上 extern "C",
: 這樣就可以確保能夠被 C 或是 pascal 語系呼叫。
: 結論是,
: 如果你希望你的 DLL 有較好的相容性,
: 函數最好都類似這樣宣告...
: extern "C" int __stdcall max(int a, int b) ;
: > 因為有個硬體之前是用VC寫 不知道BCB可不可以使用
: > 另外 可以將BCB寫一些函式 包成DLL 在VC++中使用嗎?
補充對於VB的部分

VB可以接受BCB像下面這樣的宣告
extern "C" __declspec(dllexport) BSTR _stdcall Meow(long inthl, String Value)
VB方只要用ByVal方式,BCB可以用String來接
傳回時記得用return SysAllocString(WideString(Value).c_bstr());
就可以傳回VB用的BSTR資料型態了

另外記得用.def檔把討厭的底線消掉...

--
◎ [1;31m龍 [32m貓 [33m資 [34m訊 [35m天 [36m地 [0m( [1mbbs.mgt.ncu.edu.tw [0m)
◎[ [1;33;46mSmallBeeWayn [0m]From: 84-205.dorm.ncu.edu.tw

0 new messages