dll最新書籤
多共享动态库中同名对象重复析构问题的解决方法 
多共享动态库中同名对象重复析构问题的解决方法 
遊手好閒的石頭成 收藏於 2010/12/07
Linux 平台下的共享动态库,一般都是通过选项“-fPIC”编译出来。有些应用程序需要链接多个共享库,此时如果在这些共享库中存在相同作用域范围的同名静态成员变量,那么当程序访问完静态成员变量结束析构时,由于内存的 double free 会导致程序 core dump;该问题是由于 Linux 编译器的缺陷造成的,本文就此问题进行深入分析,并指出可以通过新的编译选项“-fPIE”加以解决。
分類:軟體
Linux 动态库剖析 
Linux 动态库剖析 
遊手好閒的石頭成 收藏於 2010/12/07
动态链接的共享库是 GNU/Linux® 的一个重要方面。该种库允许可执行文件在运行时动态访问外部函数,从而(通过在需要时才会引入函数的方式)减少它们对内存的总体占用。本文研究了创建和使用静态库的过程,详细描述了开发它们的各种工具,并揭秘了这些库的工作方式。
分類:軟體
如何將32位元的DLL安裝到64位元的Windows中 (WoW64) 
如何將32位元的DLL安裝到64位元的Windows中 (WoW64) 
如何將32位元的DLL安裝到64位元的Windows中 (WoW64)
我之前有個專案因為有用到一個 PKI 元件,該元件是用 C++ 開發的 DLL 元件,但當改安裝到 64 位元的Windows Server 2008 上就不能用了。直到最近終於在無意間發現一個 Windows Server 2008... 繼續閱讀...
我之前有個專案因為有用到一個 PKI 元件,該元件是用 C++ 開發的 DLL 元件,但當改安裝到 64 位元的Windows Server 2008 上就不能用了。直到最近終於在無意間發現一個 Windows Server 2008...繼續閱讀
分類:網路
推薦幾個對特定資訊的搜尋引擎 (副檔名查詢、DLL查詢、英文縮寫查詢、英文俚語查詢......) @ 風月無邊 :: 痞客邦 PIXNET :: 
推薦幾個對特定資訊的搜尋引擎 (副檔名查詢、DLL查詢、英文縮寫查詢、英文俚語查詢......) @ 風月無邊 :: 痞客邦 PIXNET :: 
首先必須要說,Google 搜尋引擎的地位要撼動並不是那麼的容易,畢竟他所提供的準確性和多樣性,已經普遍被大家所接受,一日不咕狗,坐立難安。要介紹的幾個搜尋網站是自己在使用網路電腦時,經常會使用的幾個搜尋引擎,但是皆是針對特定... ...
首先必須要說,Google 搜尋引擎的地位要撼動並不是那麼的容易,畢竟他所提供的準確性和多樣性,已經普遍被大家所接受,一日不咕狗,坐立難安。要介紹的幾個搜尋網站是自己在使用網路電腦時,經常會使用的幾個搜尋引擎,但是皆是針對特定...
分類:網路
ASP.NET 1.x版的範例,程式的移植 
ASP.NET 1.x版的範例,程式的移植 
把寫好的ASP.NET移植到其他電腦上面執行,但又不希望「原始程式碼」曝光,該怎麼辦呢?......這一章的內容,就是要跟大家分享這方面的經驗。 Visual Studio .NET可以把我們的ASP.NET程式編譯與封裝成一個 .DLL 檔案,幫我們解決這些問題!
分類:軟體
PECL4WIN :: The PECL Windows Repository 
PECL4WIN :: The PECL Windows Repository 
大閑者 收藏於 2008/04/22
php dll 檔下載 繼續閱讀...
php dll 檔下載繼續閱讀
分類:網路
Ruby DL Gets Loud 
Ruby DL Gets Loud 
CFC 收藏於 2007/12/24
A slide told about Ruby DL 繼續閱讀...
A slide told about Ruby DL繼續閱讀
分類:網站設計
Windows process and DLL library 
Windows process and DLL library 
allenown 收藏於 2007/11/21
Windows (including Vista and XP) process and DLL library
分類:科技
Real Checko's Blog: share data in DLL 
Real Checko's Blog: share data in DLL 
elleryq 收藏於 2007/07/06
CE 的DLL 在使用上應該當作是code archive (.a)。--- 省略RAM, 和loading 問題不管的話。
所以DLL 中的變數scope 也僅限於使用 (link到) 該DLL 的exe 檔而已。
所以說..link 同一個DLL的兩個exe檔,無法藉由那個DLL來溝通。
因為每一個exe 檔有自己的DLL空間。
但是... 還是有辦法的.. 就是在DLL中增加一個share data 區塊。
宣告在share 區塊的variable 會是所有link 該dll 的exe檔都共用的。
宣告的方式:
在 c code 中:
#pragma data_seg(".shared")
共用變數區- 宣告時一定要初始化。否則無效。
#pragma data_seg()
宣告出一個區域,然後在DLL的def 檔中,宣告該 .shared 區段是 share:
SECTIONS
.shared READ WRITE SHARED
分類:軟體
Goodman 2.1-如何檢測各種Windows平台的版本資訊 
Goodman 2.1-如何檢測各種Windows平台的版本資訊 
elleryq 收藏於 2007/06/28
不論是WFP(Windows File Protection)、SFP(System File Protection)抑或SFC(System File Checker),目的都是希望能夠提供一種機制,這項機制的目的在於保護Windows系統檔案免於遭受檔名相同但版本不同的檔案所覆蓋,而這項機制首見於Windows 98第二版的時候,稱為SFC—系統檔案檢查員,因為當時這項機制提供了一支檔名是Sfc.exe工具程式,而使用者則必須以執行Sfc.exe的方式來驗證並達到系統檔案的完整性(如圖一)。
分類:軟體
Real Checko's Blog: DLL in CE : application's view 
Real Checko's Blog: DLL in CE : application's view 
elleryq 收藏於 2007/06/11
DLL in CE : application's view
像絲絲一樣,DLL 也有兩種:
1. 就像是一般library 一樣,啟動時就自動load進memory了。
2. 像Driver一樣,被動的由AP load進入memory。
使用 1 的話,比較方便,因為是一般library,所以可以export 出class 。
使用 2的話,interface就受限制了,要是一般的cedel type c function,不能export class出來。
1 的dll 中:
要export 出來的class 要加上 DLLMACRO 的宣告:
class DLLMACRO CDummy
{
public:
....
其中 DLLMACRO 的定義是:
#ifdef _AFXDLL
#define DLLMARCO __declspec(dllexport)
#else
#define DLLMARCO __declspec(dllimport)
#endif
要用 AFXDLL 來區分的原因是..
這個header file會被 DLL 和 APP include,當是 DLL 參照時,DLLMACRO 要定義成 dllimport。
當被APP參照時,DLLMACRO要定義成 dllexport。
這個方法,build出來的DLL會產生兩個 file : *.dll, *.lib
* *.dll : 是要放在 target image中。os啟動時會load起來。
* *.lib : 是給 app link用。
所以 application 的project setting 中要把 這個 dll build出來的 *.lib 加到 link 的 addition library 中。




標籤:


標籤:



14
群組:






訂閱