【转】VS2005编译VC++非托管代码(无需依赖.Net Framework即可运行)

Windows Mobile开发:Native C++与.NET Compact Framework技术选型指南 在嵌入式移动开发中,Native代码与托管运行时的权衡是资源受限系统的核心命题。理解PE/COFF可执行格式与IL/JIT执行模型的本质差异,有助于把握性能确定性与开发敏捷性的根本张力。Native C++提供对内存、硬件和时序的完全控制,适用于工业PDA、实时采集等强确定性场景;而.NET Compact Framework通过精简类库与轻量级GC,在企业OA、快速迭代界面等业务密集型应用中显著降低全周期成本。二者并非替代关系,而是分层协作——Native承担‘第一公里’硬件初始化与‘最后一公里’数据落盘 阅读详情

原文:http://flysky.fm1062.com/post/20090121-1.aspx

 

在VS2005里开发的VC++程序在编译的时候,微软默认会加入自己的 .Net Framework (方便推广自家产品),让你的VC++程序依赖它,这就导致程序编译后,无法跟往常一样直接打包,在别的机器就能正常运行。如果加入了.Net Framework ,安装包就会非常大。以下方法很好的解决了这个问题,通过以下两种方法可以用VS2005将VC++程序编译为不需要依赖.Net Framework就可以直接运行的程序了。

   方法一:工程属性->C/C++->代码生成: “运行时库”处选择
   Multi-threaded (/MT) 或 Multi-threaded Debug (/MTd) 
   不要选 Multi-threaded DLL (/MD) Multi-threaded Debug DLL (/MDd)

    方法二:在你的VS安装目录里如下路径
    /Microsoft Visual Studio 8/VC/redist/Debug_NonRedist/x86/Microsoft.VC80.DebugCRT
    下找到下列文件:

    msVCm80d.dll
    msVCp80d.dll
    msVCr80d.dll
    Microsoft.VC80.DebugCRT.manifest

   把这几个文件拷贝到目标机器上,与你编译后的可执行程序放置在同一文件夹,或者放到system32下,就可以让目标机器运行该程序了。

    2.VC++带模板函数时能编译不能连接,显示连接错误“error LNK2019: 无法解析的外部符号”

    解决方法:用模板的时候,把声明和实现放在一个文件里。因为模板的机制决定了不可能把模板的CPP象其它方式(不用模板)一样编译成一个obj,数据类型都是程序中用到时才会知道的,这时连接的函数名也会因类型不同而不同,所以多数编译器都要求写在一个文件中。

    3.如果在VC++2005的程序中使用UNICODE字符集的API等函数,可以在项目属性->配置属性->字符集处选“使用UNICODE字符集”,如果只用ASCII码,就选“未设置”即可!

VC运行库大全:完整解决依赖性问题 Visual C++运行库组件是微软Visual C++开发工具中不可或缺的一部分,它为C++应用程序提供运行时环境所需的基本功能。运行库组件包含标准库、异常处理、内存分配和其他底层服务。理解这些组件对于开发、部署和维护C++软件至关重要。本章我们将深入探讨运行库的内部结构及其在现代软件开发中的作用。 阅读详情

相关推荐

VC++运行库全版(2005、2008、2010)(x86和x64)

写了一大顿说明网页关闭全没了,简单点。 就是解决“由于应用程序的配置不正确,应用程序未能启动,重新安装应用程序可能会纠正这个问题”这个问题的。 装个合适的版本就可以了。

visual studio 2008 c++ 脱离net框架环境(vs2008)(非托管)

配置项目属性 测试项目运行结果 在虚拟机上刚刚装好的正版Windows XP SP2

学习笔记 1150

VC运行库大全(2005\2008\2010\2012\2013\2015) 版本(9\10\11\12\14)

VC运行库\VC2005 的目录 2016/12/02 11:24 3,169,688 vcredist_x64.EXE 2016/12/02 11:22 2,701,720 vcredist_x86.EXE VC运行库\VC2008-VC9 的目录 2016/12/02 11:39 5,207,896 vcredist_x64.exe 2016/12/02 11:48 1,758,728 vcredist_x86.exe VC运行库\VC2010-VC10 的目录 2016/12/02 11:25 5,673,816 vcredist_x64.exe 2016/12/02 11:25 4,995,416 vcredist_x86.exe VC运行库\VC2012-VC11 的目录 2016/12/02 11:13 7,190,168 vcredist_x64.exe 2016/12/02 11:12 6,557,728 vcredist_x86.exe VC运行库\VC2013-VC12 的目录 2016/12/02 11:44 7,195,312 vcredist_x64.exe 2016/12/02 11:38 6,505,008 vcredist_x86.exe VC运行库\VC2015-VC14 的目录 2016/12/02 11:30 14,572,000 vc_redist.x64.exe 2016/12/02 11:28 13,767,776 vc_redist.x86.exe

vs编译应用程序不依赖运行vs环境

控制台应用程序不依赖VS运行环境就可以运行的设置: 1,使用release模式编译 2,项目属性中,“C/C++”,“代码生成”中的运行库改为“多线程(/MT)” 3,项目属性中,“链接器”,“系统”,“所需的最低版本”写上5.01 主要是第2个 参考https://blog.csdn.net/qq_36165459/article/details/78572191 转载于:...

weixin_30598225的博客 752

宇树机器人G1二次开发:语音对话、打断与激活功能实现指南

宇树机器人G1是一款功能强大的四足机器人,其开放的SDK和API为开发者提供了广阔的二次开发空间。其中,语音交互是提升机器人智能化水平和用户体验的关键功能。本文将详细介绍如何在宇树机器人G1上进行二次开发,实现。语音打断允许用户在机器人说话时随时中断并输入新指令,这是提升交互自然度的关键功能。三大核心功能,帮助你构建更自然、更智能的人机交互系统。语音识别是将用户的语音输入转换为文本的过程。识别文本后,需要理解用户意图并生成回复。将文本回复转换为语音输出。

m0_52645558的博客 660

华为Atlas200DK实战指南:从零搭建AI开发环境到人像语义分割模型部署

本文提供了一份详尽的华为Atlas 200DK AI开发环境搭建与模型部署实战指南。文章采用合设环境方案,从SD卡准备、系统镜像烧录、网络配置到必备工具安装,逐步引导开发者完成环境搭建。核心部分详细讲解了如何利用华为ATC工具将TensorFlow模型转换为昇腾专用格式,并最终成功编译和运行人像语义分割模型,实现实时人像识别效果。

weixin_29309213的博客 354

winform 安装部署

1 新建安装部署项目 打开VS,点击新建项目,选择:其他项目类型->安装与部署->安装向导(安装项目也一样),然后点击确定。 2 安装向导 关闭后打开安装向导,点击下一步,或者直接点击完成。 3 开始制作 安装向导完成后即可进入项目文件夹: 双击"应用程序文件夹"在右边的空白处右击,选择添加->文件,将你的做的应用程序的可执行文件和相应的类库和组件添加进来。然后右击你的文件,创建快捷方式,然后把快

一路走来 1407

搜索引擎——ElasticSearch汇总

汇总——ElasticSearch篇 全文检索 问题1:什么是全文检索? 基本概念:对**非结构化数据/结构化数据**先建立**索引**,再对索引进行搜索**文档**的过程叫做全文检索。 什么是非结构化与结构化数据? - 非结构化数据:没有固定的格式的数据(html,word,excel)---没有固定长度,字段约束,描述,散列数据 - 结构化数据:有固定的格式的数据(如:数据库数据)---有固定长度(varchar(50)),字段类型,描述修饰数据 搜索算法:顺序扫描法、倒排索引法 - 顺序

alonewolf_99的博客 1838

VC++ 各个版本(2005 2008 2010 2012 2013 2015 2017 2019 2022)的运行库 VC_redist下载

Microsoft Visual C++ 2005 - 2022 运行库

不经一番寒彻骨,怎得梅花扑鼻香。 7万+

【sap2000】部分模型通过.s2k文件合并模型generating a global model through partial models by .s2k text file

现在需要通过选项File → Import → SAP2000 .s2k Text File → Add to existing model(如果使用其中一个部分模型作为基础)或New model(如果使用新文件)添加部分模型,并使用以下导入选项。模型A(阶段1/5) Model A (Phase 1/5)模型B(阶段2/5) Model B (Phase 2/5)模型C(阶段3/5) Model C (Phase 3/5)模型E(阶段5/5) Model E (Phase 5/5)

hmywillstronger的博客 1748

【汽车ECU标定技术解析】DCM文件与A2L、HEX的协同工作机制

本文深入解析了汽车ECU标定中DCM、A2L与HEX三大核心文件的协同工作机制。A2L文件作为定义标定变量地址与规则的“图纸”,DCM文件承载工程师调试后的具体标定数据,最终通过A2L的地址映射,将DCM数据固化生成可刷入ECU的HEX文件,形成完整的标定数据流转闭环。

weixin_29214559的博客 436

VS2005/2008编译VC++非托管代码(无需依赖.Net Framework即可运行)

VS2005/2008编译VC++非托管代码(无需依赖.Net Framework即可运行)

paolei的笔记 2123

2025华为OD机试真题+全流程解析+备考攻略+面试技巧+机考经验分享+Java/python/JS/C++/C语言实现

本专栏包含华为 OD 机试最新的 A卷+B卷+C卷+D卷+E卷题库,为全网最全、最新题库,500+真题。每一篇文章都包含了题目描述、解题思路以及实现代码。同时免费提供最新的在线OJ 刷题系统。已有上百名小伙伴通过刷真题题库通过了华为od机考,拒绝一切形式的代考,替考行为!!!以下是本专栏详细内容介绍:本专栏提供在线OJ刷题系统:OJ题库OJ系统注册&使用教程:OJ使用教程其他专栏以及答疑介绍:50+ 高频面试手撕真题,已有上百位小伙伴高频认证。1:机试没过,半年的冷冻期。2:已经订阅过我专栏的同学,推荐新人

MISAYAONE的博客 2225

VS2005编译VC++非托管代码(无需依赖.Net Framework即可运行)

在VS2005里开发的VC++程序在编译的时候,微软默认会加入自己的.Net Framework (方便推广自家产品),让你的VC++程序依赖它,这就导致程序编译后,无法跟往常一样直接打包,在别的机器就能正常运行。如果加入了.Net Framework ,安装包就会非常大。以下方法很好的解决了这个问题,通过以下两种方法可以用VS2005将VC++程序编译为不需要依赖.Net Framework就...

weixin_30355437的博客 129

BLDC&PMSM电机控制器硬件设计工程(八)72V 10kW电机控制器原理图工程及库文件

电机控制器基本需求:接口类型;MCU平台;通信接口;供电;信号采集;信号输出;功率;EMC或者认证需求。

小幽余生不加糖 371

【教程4>第3章>第1节】通信系统高阶调制解调概述

高阶调制(High Order Modulation)是一种先进的数字调制技术,旨在通过增加每个符号携带的信息比特数来提高无线通信系统的数据传输速率和频谱效率。这种技术特别适用于具有较高信噪比(Signal-to-Noise Ratio, SNR)的通信环境,例如卫星通信、光纤通信以及一些高质量的无线通信链路。在数字通信中,调制是将数字信号(比特流)转换为适合在物理信道上传输的模拟信号的过程。高阶调制通过使用更多的信号状态或星座点来表示不同的比特组合,从而在一个符号周期内传输更多的信息。

FPGA/MATLAB学习教程/源码/项目合作开发 1701

vs2005 vc++ 生成非托管的 不需要.net运行环境的exe程序方法

在VS2005里开发的VC++程序在编译的时候,微软默认会加入自己的 .Net Framework (方便推广自家产品),让你的VC++程序依赖它,这就导致程序编译后,无法跟往常一样直接打包,在别的机器就能正常运行。如果加入了.Net Framework ,安装包就会非常大。以下方法很好的解决了这个问题,通过以下两种方法可以用VS2005将VC++程序编译为不需要依赖.Net Framework就

杨航的专栏 1188

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

C++/CLI实战指南:打通原生C++与.NET托管代码的桥梁

在软件开发中,托管代码与原生代码的互操作是连接不同技术生态的关键需求。托管代码运行在公共语言运行时(CLR)之上,通过垃圾回收(GC)实现自动内存管理,提供类型安全和跨语言支持;而原生代码则直接编译为机器码,追求极致性能与底层控制。C++/CLI作为微软推出的语言扩展,正是为解决这一互操作挑战而生。它在标准C++语法基础上引入`ref class`、`gcnew`、`^`等关键符号,允许开发者在同一项目中混合编写托管与原生代码,既能无缝调用.NET Framework庞大的类库,又能直接操作高性能的原生C+

chuchen7021的博客 341

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

.Net 类库功能参考

.Net提供了许多类库,这是一个非常庞大的库,可能永远也不可能全部掌握。 不过,了解一个大概,会对.Net的编程会有很大的帮助。 首先是System,这是所有.Net里自动生成的类都会using的命名空间。System里有这么几种类: CTS(通用类别),比如:Int32、Boolean、Char等等,最基础的Object也在此。 Console:不用多说了吧,都知道它的作用。 Math:...

weixin_34138056的博客 191

托管代码 VS 非托管代码

什么是托管代码(managed code)?       托管代码是一microsoft的中间语言(IL),他主要的作用是在.NET   FRAMEWORK的公共语言运行库(CLR)执行代码前去编译源代码,也就是说托管代码充当着翻译的作用,源代码在运行时分为两个阶段:       1.源代码编译为托管代码,(所以源代码可以有很多种,如VB,C#,J#)       2.托管代码编译为micros

niyouwoxi的博客 750

VC++ 2005 2008 2012 2013 的安装检测

因为很多客户端需要的VC++的环境不同,在打包安装包时,需要判断VC++环境,并且根据需要安装,这里写一下方法。首先,利用了VC++的安装程序GUID。系统安装的,支持系统删除的程序,都需要有GUID的标识码。已安装的程序可以再注册表HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\下面看到然后根据GUID...

哈利路亚的收藏夹 1761

C#程序脱离.net框架的多种方法与应用

本文介绍的是C#编写的winform程序脱离.net框架的方法。【也支持VB.NET和C++.NET】本文地址:http://hi.baidu.com/44498/blog/item/dabd37166a11bd10962b437d.html转载请说明。------------------------------很多朋友会问,为何选择C#   ?其实原因很

blacksource的专栏 1万+

c#程序打包,同时把netframework也打包进去

“打包,把netframework也打包进去,生成安装文件。安装PluginInstaller.msi可以在你打包时,把.netframework框架打包进去,然后在安装软件时,提醒你是否要安装.netframework.安装PluginInstaller.msi后,再打包编译,在你编译生成的Setup.exe同一文件夹中会出现dotnetfx.exe,langpack.exe等文件,说明.net

KingReturns DOTNET & COMPACT MOBILE 2903
上一篇: 【转】用winpcap实现局域网DNS欺骗之三(代码部分及深入研究)
下一篇: 【转】WinPcap 常见安装和运行错误
code09
博客等级 码龄18年 31粉丝 56原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值