1. 程式人生 > >使用高版本IDE開發+生成小exe/dll

使用高版本IDE開發+生成小exe/dll

先摘抄網上一段:

首先來簡單對比一下兩套系統:
VS2010,自帶10.0版本的MFC、CRT等DLL庫,新的編譯器(部分支援C++ 11標準、包括LAMBDA表示式),功能強大而完善的IDE環境。新的安全特性與SHE處理函式。
VC6.0,自帶4.2版本的MFC、CRT等DLL庫,很老的編譯器(並且很不標準),功能勉強夠用的IDE環境。


VS2010生成的東西體積小、效率高,但是需要使用的基礎支援庫眾多。為了釋出一個幾十k的小程式,還要一併釋出msvcr100.dll msvcp100.dll MFC100.dll等等支援庫。到目前為止這些庫並不是隨著作業系統一起釋出的。


VC6.0生成的東西優化與安全性有限。但是一大優勢是,它生成的程式,所需的基礎支援庫,如MFC42.dll ,msvcrt.dll,msvcp60.dll,從Windows XP時代就已經是隨著作業系統捆綁釋出的。這對於一箇中小型程式的釋出來說,無異是非常便利的。

同樣的,在網上看到的文章都需要比較麻煩的設定,我寫了個工具,可以對VS2013(理論上VS2010往後都可以,但是隻測試了vs2013)的工程檔案進行處理,使之可以編譯為連結到MFC42.dll的exe,體積很小。  你需要做的是:
1.下載VC6解壓縮SDK,或下載安裝Windows2003 platform sdk
2.新建MFC工程或使用現有的MFC工程,注意SDI/MDI只支援“MFC標準”樣式
3.開啟本工具,設定SDK目錄,拖入MFC工程檔案進行轉換,完成。
全程不需要VC6的MSDEV.EXE參與(也不需要安裝或解壓縮這個開發環境,只需要SDK)。
LAMBDA表示式等高階語法是可以支援的,因為這是編譯器支援的,不過該SDK沒有的東西就沒辦法用了,比如CString::Trim,需要自己手動使用CString::TrimLeft+CString::TrimRight。
本工具也是使用vs2013開發並使用自身轉換的,體積有點大是因為內部集成了一些SDK的檔案用於更新VC6的SDK,原版SDK裡面很多語法不嚴謹高版本編譯器無法通過,所以摘了一些Windows2003 platform sdk的檔案整合在工具中。
工具主要修改了stdafx.h以及*.vcxproj檔案。其實是很簡單的東西只不過之前可能沒有人把他整合起來。 

居然不能上傳附件,請到這裡下載:

https://bbs.pediy.com/thread-222495.htm

http://www.jmpoep.com/forum.php?mod=viewthread&tid=3943

相關推薦

使用版本IDE開發+生成exe/dll

先摘抄網上一段: 首先來簡單對比一下兩套系統: VS2010,自帶10.0版本的MFC、CRT等DLL庫,新的編譯器(部分支援C++ 11標準、包括LAMBDA表示式),功能強大而完善的IDE環境。新

Django-Oscar小記:如何使用版本Django開發網頁的SEO模組

在使用Google搜尋Django的SEO外掛時,很多外掛都沒有更新到Python3.x,有的外掛更新到了Python的高版本,但是不適用於Django的2.x。 Django在升級到版本2.x的時候刪除了很多類。 所以,在選擇外掛時,建議使用 django-snakeoil 1.安裝: 最快捷的方法

QT程式自動尋找依賴的DLL(Qt官方開發環境生成exe釋出方式--使用windeployqt)

  Qt 官方開發環境使用的動態連結庫方式,在釋出生成的exe程式時,需要複製一大堆 dll,如果自己去複製dll,很可能丟三落四,導致exe在別的電腦裡無法正常執行。因此 Qt 官方開發環境裡自帶了一個工具:windeployqt.exe。以官方 Qt 5.7.0+MinGW 開發環

使用低版本的VS打開版本項目的解決方案(以VS2008打開VS2010開發的項目為例)

ref tar img 若是 如何 load 分享 項目 targe 使用低版本的VS打開高版本項目的解決方案,這裏以VS2008打開VS2010開發的項目為例。 右鍵項目的sln文件以記事本的方式打開: 將對應的前兩列版本各降到對應的版本,這邊的11.00改為10.00

iOS開發-生成二維碼圖片【附中間帶有圖標二維碼】(QRCode)

獲取 options reat 很多 mapr 過濾 生成二維碼 image bit 生成二維碼圖片也是項目中常用到的,二維碼的掃描Git上有很多好用的,這裏主要說下二維碼的生成 1.普通二維碼 1.1 方法 /** 生成二維碼 QRStering:字符串 image

微信程序開發 [01] 程序基本結構和官方IDE簡介

nload 式表 個人開發者 才會 表示 com -h storage sources 1、小程序賬戶註冊實際上在進行開發時沒有註冊小程序賬戶也是可以的,官方提供的IDE提供實時編譯模擬預覽,和當前你有沒有綁定小程序賬戶沒有關系。當然,最終你要正式上線你的小程序的話,肯定還

[UWP開發] 在低版本中使用亞克力刷以及部分版本控件

aml ati alt them 高版本 方法 簡單 span 代碼 寫於2018.10.3 僅在我的PC(17763)和WP(Limia 950 XL 15254)上測試過 微軟在build 16299中引入了亞克力刷,但是Win10m並沒有活那麽久,lumia手機在此之

firefox版本+selenium IDE錄製指令碼

一. 新增firefox外掛(firefox版本為V63.0) 1. 下載firefox瀏覽器,開啟瀏覽器找到 “附加元件” 2. 點選“檢視更多附加元件” 3. 搜尋框輸入selenium IDE  4. 點選“新增到firefox” 5. 新

使用德地圖微信程式SDK開發案例-輸入提示(附原始碼)

閒來無事寫一篇使用高德地圖的微信小程式SDK開發應用的例項。 接下來先看需求: 我們要做的是,根據使用者輸入的關鍵詞,給出相應的提示資訊,列表中顯示地方的名稱,地方的詳細地址以及對應的經緯度座標。 當然在UI上我們儘量做到理想的視覺與較好的使用者體驗。 最終的效果我們希望是像這樣的,

破界!Omi生態omi-mp釋出,用程式開發生成Web

omi-mp 是什麼 Omi 框架是微信支付線研發部和 AlloyTeam 開源的通用 Web 元件化框架,基於 Web Components,用來開發 PC、手機瀏覽器或者微信、手Q webview 的 Web 頁面。自今年5月開源以來,該專案共獲得 Star 數 5000+,擁有貢獻者29人。經過

Android版本SDK生成的Project換用低版本SDK編譯出錯的問題(不生成R.java)

Android高版本SDK生成的Project換用低版本SDK編譯出錯的問題(不生成R.java) a)        在eclipse中通過設定Window->Preferences->Android-

QT下編譯生成exe無法執行,報錯缺少msvcr120d.dll,msvcr120p.dll,或者報錯0xc000007b問題

最近在除錯QT的程式時,生成的exe檔案總是報錯說報錯缺少msvcr120d.dll,msvcr120p.dll,無法執行 (圖片來源於網路) 在網上亂七八糟搜了一大堆,嘗試下載了對應的msvc*120d.dll,放入C:\Windows\System32,再

木魚鋪:微信程式開發模板化,一鍵生成程式

為了節省企業商家的開發小程式時間和成本,「木魚小鋪」為企業商家提供了高階新零售小程式定製開發模板化,幫助各行業的企業商家迅速開發自己的小程式!  一、教育培訓小程式模板 二、智慧家居商城小程式模板 三、品牌服裝電商小程式模板 四、食品小程式模板

一種利用Cmake,使得低版本Visual Studio IDE快速執行版本VS專案的方法~

我們在實際程式設計中,經常會遇到如下情形: 電腦上安裝的是VS2008,需要執行的專案竟然是用VS2010或者VS2012編寫的,如何用VS2008,快速的執行高版本的專案,是一個很實際的操作。 首先,這種情況完全可以通過重新手動新建VS2008工程,手動新增檔案的方式解

微信程式 雲開發 生成帶參程式碼 雲函式網路請求(Node.js網路請求)

生成帶參小程式碼流程 1、小程式端上傳生成二維碼所需的引數到雲函式 2、雲函式使用appid和appsecret請求access_token 3、雲函式使用access_token + 小程式端上傳的引數生成二維碼 4、雲函式將生成的二維碼返回到小程式端(或者

C#中怎樣讓引用的.dll檔案也整合到生成的.exe檔案中

    在C#程式設計過程中如果我們不把自己引用的 .dll 檔案整合到 .exe檔案中,當我們執行 .exe檔案時,.dll檔案必須和 .exe檔案在同一目錄下,否則就會出現錯誤;所以,在大多數的情況下,我們是會選擇

使用 .NET WinForm 開發所見即所得的 IDE 開發環境,實現不寫程式碼直接生成應用程式

直接切入正題,這是我09年到11年左右業餘時間編寫的專案,最初的想法很簡單,做一個能拖拖拽拽就直接生成應用程式的工具,不用寫程式碼,把能想到的業務操作全部封裝起來,通過配置的方式把這些業務操作組織起來執行。 專案的核心功能已經基本實現,但12年之後我基本停止了這方面的

VS開發環境下生成和呼叫dll出現的問題和解決方法-1

dll生成和呼叫方法網上很多,省略。  1 build之後只生成了dll檔案,沒有lib檔案。 原因和方法:沒有對任何的類或者函式定義DLL interface,需要對類或者函式定義DLL interface,定義方法如下: 對於類: class _declspec(

技巧,使用低版本的VS開啟版本的解決方案(使用VS2008開啟VS2010的解決方案--同樣適用於其他版本

看後,我突發靈感,將該工程的解決方案檔案的字尾由xxx.sln改成了xxx.txt然後,檢視其內容如下: Microsoft Visual Studio Solution File, Format Version 11.00# Visual Studio 2010 Project("{FAE04EC0-301

vs2010生成exe程式在執行時,提示計算機丟失mfc100d.dll檔案

vs2010開發的exe程式在別的電腦執行時提示,這個問題是因為執行程式的電腦在system32這個資料夾下沒有mfc100ud.dll這個檔案,解決辦法如下: 1、下載一個mfc100ud.dll,然後隨同你的.exe程式一起釋出; 2、需要mfc100ud.dll,說明