導航:首頁 > 源碼編譯 > 不同版本vs編譯dll

不同版本vs編譯dll

發布時間:2022-12-09 06:29:52

1. vs2005,vs2008,vs2010編譯同一個c語言項目生成的dll文件為什麼不一樣大分別是252,380,246KB

優化方式和程度不有
不同的編譯器用的是可能是不同的優化方案(同一個編譯器不同的設置也會產生不同的結果,比如DeBug和Release)
優化方案取決於編譯器開發者的水平.發行編譯器時的主流CPU和編譯器將要運行的系統平台等因素,
比如DOS時代int_max=0xffff,win32時代int_max=0xffffffff,同樣是int變數,所佔用的內存空間就不同
再如同樣一條C語句:x=x+1;
早期的編譯器可能編譯成類似這樣的結果(這里用結果一詞而不用匯編語言,匯編指令,匯編代碼之類的詞是因為匯編=!機器指令)
mov eax,x
add eax,0x00000001
mov x,eax
而優化的編譯器可能會把這條語句編譯成和
x+=1;
同樣的編譯結果:
mov eax,x
inc eax //這條指令的執行速度和佔用內存的空間都要小
mov x,eax
///////////////////////////////////////////////////////////////
類似的情況還有很多,因為這個回答是我一個字一個字打出來的,不是在哪個地方Copy的,指所以就不一一列舉了,總之:
這些小的差別積少成多,就影響了文件的大小!

2. 用vs2010做了一個dll 但是在win7系統的不同版運行,旗艦版不能運行 專業版可以

確定在運行環境安裝了你必要的擴展與支持庫。
順便你貌似弄錯地方了,這是Windows,不是編程,幫你轉下
望採納:)

3. c#不同版本編譯器生成的dll類庫引用的時候一樣嗎

親,高版本使用低版本的是一樣的,但是低版本使用高版本就有問題了,因為有些東西低版本里沒有。你的在vs2008下的dll,在vs2008和2010引用是一樣的,但是在vs2010下的dll在vs2008下引用就可能有問題了

4. 如何編譯64位dll程序,有幾種情況,在32位XP上用VC++6.0或者VS2010該怎麼編譯64位的dll。

在64位的操作系統上用vs軟體編譯的dll默認就是64位。
在32位XP上用VC++6.0編譯64位的dll,需要安裝sdk(最新版本是sdk2003),在開始菜單——sdk——open build environment window——windows server 2003 64-bit build environment——set win svr 2003 x64 build env進入命令行,從命令行調用msdev,將vc選項里的include和lib的第一個默認路徑設為sdk目錄下64位頭文件和庫的路徑,編譯出的dll似乎就是64位的了。這個是從網頁上看到的,沒實踐過。
在32位XP上使用vs2010就簡單多了,新建一個項目(解決方案),加入代碼,設置X64,編譯生成即可。

5. vs2017編譯出來的lib和dll,vs2010下使用可以嗎

如果是.net,只要框架版本一致就可以,如果是C++,通常要相應的運行庫

6. 不同版本的VC編譯出來的DLL可以互相調用嗎

要看你有沒有引用到特別的介面,比如Win7里的新增的API介面,放到dll里,那麼放到XP下肯定不可以運行。如果是其他普通的功能就可以互相調用。
比如很多年前開發的軟體或游戲也依然可以運行在WIN7上,就是這個道理。
軟體開發都是盡可能向前兼容的。

閱讀全文

與不同版本vs編譯dll相關的資料

熱點內容
windows下編譯python 瀏覽:607
linux藍牙連接 瀏覽:898
安卓qq郵箱格式怎麼寫 瀏覽:431
如何電信租用伺服器嗎 瀏覽:188
編程中計算根號的思維 瀏覽:183
可愛的程序員16集背景音樂 瀏覽:448
軟體代碼內容轉換加密 瀏覽:797
什麼app看電視不要錢的 瀏覽:16
烏班圖怎麼安裝c語言編譯器 瀏覽:280
plc通訊塊編程 瀏覽:923
我的世界伺服器怎麼清地皮 瀏覽:422
ftp伺服器如何批量改名 瀏覽:314
網易我的世界伺服器成員如何傳送 瀏覽:268
公司雲伺服器遠程訪問 瀏覽:633
法哲學pdf 瀏覽:638
清大閱讀app是什麼 瀏覽:447
怎麼用qq瀏覽器整體解壓文件 瀏覽:587
肺組織壓縮15 瀏覽:271
安卓手機為什麼換電話卡沒反應 瀏覽:797
諸子集成pdf 瀏覽:340