周五晚,小雨,少见的未加班。无聊,遂准备写一篇博客,介绍一下C和C++运行库,只因发现工作几年的人对此一知半解的大有人在。 在使用VC构建项目时,经常会遇到下面的链接错误:
一、前言 一日,看见我妈正在用电脑练习打字,频频低头看键盘,我想:要是键盘能发音的话,不就可以方便她养成”盲打”的好习惯吗?光想不做可不行,开始行动(您可千万别急着去拿工具箱啊^_^)… 按键能发音,其关键就是让程序能够知道当前键盘上是哪个键被按下,并播放相应的声音,自己的程序当然不在话下,那么其它程序当前按下哪个键如何得知呢?利用键盘钩子便可以很好地解决。
VCRUNTIME140_1.dll 是 vc++ 运行库里的 dll 文件,缺失这个只需要我们把 vc++ 运行库重新装下就好了。 我这提供了 vc++2015-2019 的集合安装包,可以一键解决问题。 获取方式:小蓝枣的资源仓库,提取码:378w 报错截图如下:
在大学大一的时候学的是C,然后后来大二的时候专业又开了C++这个课程,然后再后来自己又自学了一点VC++,大三的时候也试着编写过一个MFC的最简单的窗口程序。到大四的时候,自己又做了一个GIS的项目,是用C#.NET来编写的,然后发现C#上手好容易,而且还大部分语法规则都沿用了C,C++的习惯,于是觉得C++实在是没有一点优势可言啊。但这个暑假的实习经历又改变了我的观点:C++在写窗口程序虽然麻烦,但是却什么能做,而且对比C#来说,对运行环境的要求不高,不用像C#程序在安装之前还要安装100M多的运行.NET环境。C++和C#各有优缺,目前我对它们俩的定位是:C++用来写一些底层的程序,比如驱动,或者是一些算法类型的函数接口,然后用C#来调用这些接口并进行界面设计。如何函数的实现跨语言呢?显然DLL是个很重要的内容,故在此对VC++的DLL模块进行介绍。
当安装MySQL被提示msvcr120.dll缺少,或者类似的.dll缺少,均是系统缺少VC++运行库导致的。
暑假在做一个项目的时候,本来是用C#.NET来写的一个港口进出闸的流程控制程序,里面涉及一个响应用PLC的采集信息的问题(PLC用串口和工控机相连接),然后思考如何用C#写串口通讯程序,结果师兄在一旁直接用VC++写了一个“*.ocx控件”,并在自己的电脑上进行了测试,完工后就把生成的“*.ocx”控件注册文件复制到了我们的电脑上。我们就在C#.NET程序里面将此控件拖入到主窗口中,然后就能直接利用此控件的事件来捕捉PLC的命令了,感觉好神奇。然后,我对C++的态度有了极大的转变,以前只知道C++写窗口程序是多么麻烦啊(远不如C#.NET来得快和直接),而它的所谓“比较底层,和底层操作系统的关系比C#这些高级语言要密切很多”的好处一直都没有体会到,现在才知道,正是因为C++比较底层,比较基础,所以它可以开发出很多和语言无关的公用程序块,如dll动态链接库和COM组件,原则上,只要你的Windows的系统,用VC++开发出来的这些公用程序块就能被任何语言调用(如果不用MFC框架,而用ATL框架来编写,甚至还可以脱离Windwos系统,不仅仅实现跨语言,甚至跨平台调用,这个笔者就没有仔细研究了)。
问题1、关于LINK : fatal error LNK1104: 无法打开文件“opencv_world400d.lib”问题解决
问:win7 64位 cuda5.5 + vs2012如何生成安装包? 答:请在您的项目属性里面, (1)将原有的cudart.lib替换成cudart_static.lib (2)您的exe将不再需要cudart*.dll就可以运行了。 此外,常规的用VC编译出来的东西,您还需要VC++ 2012 redistributable,这样您最终需要: 您的exe, 您的数据文件和其它组件(如果有), VC++ 2012再发行包 您将这三者使用您喜爱的打包工具制作成安装包即可(但具体如何制作安装包,超出了
我们在windows 下运行exe的时候,经常会报出 windows系统下找不到DLL文件的提示,对于没有接触过软件开发的人来说会一脸懵逼,无从下手。本文就针对遇到这种问题的同时,提供了俩总解决策略,如有写的不对的地方,还请多多指正,多多包涵。
对Visual Studio中C++的包含目录、附加包含目录和库目录和附加库目录的区别不是很清楚,参考别人的文章整理出来的。供大家分享学习!
我在本文中详细介绍了测试工具NuMega Devpartner(以下简称NuMega)的使用方法。
32位汇编第七讲,混合编程 混合编程的概念,有时候我们会想,C语言可不可以调用汇编的函数,或者反过来调用 或者说C语言里面内部直接内联汇编去编写. 可以实现,静看怎么实现 一丶C语
nasm需要手动配置环境变量。ActivePerl下载下来一路next安装就好了。
完整的错误是这样的 无法加载 DLL“xxx.dll”: 应用程序无法启动,因为应用程序的并行配置不正确。有关详细信息,请参阅应用程序事件日志,或使用命令行 sxstrace.exe 工具。 (异常来自 HRESULT:0x800736B1)
为学习QT首先必须搞明白的一个问题是,什么是QT,查找资料,对于QT有如下的认识:
这篇文章主要介绍了关于使用windows下PHP运行环境配置,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下
libcurl是一个跨平台的网络协议库,支持http, https, ftp, gopher, telnet, dict, file, 和ldap 协议。libcurl同样支持HTTPS证书授权,HTTP POST, HTTP PUT, FTP 上传, HTTP基本表单上传,代理,cookies,和用户认证。想要知道更多关于libcurl的介绍,可以到官网 http://curl.haxx.se/上去了解,在这里不再详述。本文主要介绍如何在Visual Studio 2013开发环境中编译并使用libcurl库。
安装好了mongo,想要启动mongod.exe,却提示api-ms-win-crt-runtime-l1-1-0.dll 丢失。
在网上看到各种帖子谈论java的native方法,这是java用来弥补其运行速度慢而利用C的措施,可以说是java与C/C++的接口,但是网上这类帖子太多而且讲述的方法都很复杂,今天我想总结一下。 步骤: 1.写一个java类,例如下面的HelloWorld.java public class HelloWorld { private native void print(); static { System.loadLibrary("Hello"); } public stat
DirectUI DirectUI意为直接在父窗口上绘图(Paint on parent dc directly)。即子窗口不以窗口句柄的形式创建(windowless),只是逻辑上的窗口,绘制在父窗口之上。微软的“DirectUI”技术广泛的应用于Windows XP,Vista,Windows 7,如浏览器左侧的TaskPanel,控制面板导航界面,Media Player播放器,即时通讯工具MSN Messager等。 DirectUI好处在于可以很方便的构建高效,绚丽的,非常易于扩展的界面。
以前写过一篇题为《VC++的DLL应用(含Demo演示)》的文章,当时是刚开始接触DLL,而且所讲到的一些DLL的应用都是比较浅层次的数据传递,基本不具备很强的实用性,而且所选用的开发环境是VC6.0,这次因为做做WinCE开发的过程中需要用到这个技术,所以进行了比较深入的研究,而且此次用的是VS2005开发环境,对比VC6.0的一些操作略有不同,所以重新进行了整理。
用于OpenGL标准开发的应用程序运行时需有动态链接库opengl32.dll、glu32.dll,这两个文件在安装Windows NT时已自动装载到C:\Windows\System32目录下。OpenGL的图形库函数封装在动态链接库OpenGL32.DLL中,开发基于OpenGL的应用程序
老师最近给的上机题目有点变态,特别是写到最后,是需要写学生管理系统。如果C语言结合文件来操作的话,估计会比较麻烦(对文件里字符串的增删改查我都没有什么好点的算法)。那就用数据库吧,我很自然的想到。
最近使用Python做一个小工具,但在使用pyinstaller打包成可执行程序后在Win7无法运行,提示缺少api-ms-win-core-path-l1-1-0.dll。
Opencv的安装配置网上教程一大堆,本文主要是针对安装配置完后可能遇到的一些问题(比如dll的缺失等问题)。不过为了方便大家,还是写出安装配置的简单过程 一 安装配置 Opencv的下载,直接百度去官网就好。链接:http://opencv.org/ 环境变量的配置:需要在环境变量path后面加上:D:\OpenCV2.4.9\opencv\build\x86\vc11\bin(当然版本和vc11/vc10根据自己的情况选择) (1)项目的属性管理器,首先配置项目的Debug版属性,右击Debug | W
昨天想用mysql来着。结果发现启动失败。无论是命令启动还是去图形界面启动,就是启动不了。服务响应的错误1053。我去安装路径的bin目录下看看exe怎么回事,竟然发现组件缺失掉了。
动态链接库通常都不能直接运行,也不能接收消息。它们是一些独立的文件,其中包含能被可执行程序或其它DLL调用来完成某项工作的函数。只有在其它模块调用动态链接库中的函数时,它才发挥作用。
1、获取UDT源码:https://sourceforge.net/projects/udt/files/udt/,最新版本4.11。
笔者之前已经安装过了vs2017,对应的opencv是3.4.0版本的。但现在想体验下opencv4的改变之处,所以下载了最新的opencv4.0.1。
缺少VCRUNTIME140_1.dll与缺少VCRUNTIME140.dll是不同的
swig可以自己包装c代码给其他语言使用,对应java就是包装为jni,这里简单描述各平台使用方法
如果你想把Python嵌入C/C++中是比较简单的事情,你需要的是在VC中添加Python的include文件目录和lib文件目录。下面我们来看下如何把Python嵌入C/C++中。
minHook库是一个支持x64跟x86HOOK的库.Detours也支持x64.不过是收费的所以在x64下使用minHook也是一个不错的选择.
那么在Windows下有什么好的内存泄漏检测工具呢?微软提供Visual Studio开发工具本身没有什么太好的内存泄漏检测功能,我们可以使用第三方工具Visual Leak Detector(以下简称vld)。 vld工具是VC++环境下一款小巧易用、免费开源的内存泄漏检测工具,vld可以显示导致内存泄漏的完整内存分配调用堆栈。vld的检测报告能够对每个内存泄漏点提供完整的堆栈跟踪,并且包含其源文件及行号信息。 安装过程是,先在到地址http://vld.codeplex.com/下载vld安装文件,然后
前言:刚开始是不打算写这篇博客的,但是我最近为了完成对老师布置的区域生长算法,强行要配置一波opencv,因为换了电脑,所以选择了有黑黑主题酷酷的VS2017,但无奈网上的博客关于vs2017配置Opencv不够全(vs2010配置opencv的倒是贼多!),我当时是看了将近10篇文章才配置成功,所以在此我来从一个新入坑的角度来说一下怎么完整的配置一个OPencv!下面就分步来进行说明吧!
找了好久才找到Win 2000 NetApi32.dll样本,下面我对这个经典栈溢出进行一下分析,使用IDA打开NetApi32.dll,问题函数:NetpwPathCanonucalize。
BoundsChecker是一个运行时错误检测工具,它主要定位程序在运行时期发生的各种错误。它通过驻留在 Visual C++ 开发环境内部的自动调试处理程序来加速应用程序的开发,缩短产品发布的时间。BoundsChecker 对于编程中的错误,大多数是C++中特有的提供了清晰的详细的分析。它能够检测和诊断出在静态,堆栈内存中的错误以及内存和资源泄漏问题。在运行状态下,BoundsChecker验证超过8700APIs和OLE方法,包括最新的Windows APIs,ODBC, ActiveX,DirectX, COM 和 Internet APIs。
从 Visual Studio .NET 到 Visual Studio 2013,C++ 编译器和工具的每个主版本都包含一个新的独立版本的 Microsoft C 运行 (CRT) 库。 CRT 的这些独立版本彼此独立,并在不同程度上彼此不兼容。 例如,Visual Studio 2012 使用的 CRT 库是第 11 版,名为 msvcr110.dll,而 Visual Studio 2013 使用的 CRT 是第 12 版,名为 msvcr120.dll。 从 Visual Studio 2015 开始,不再是这样。 Visual Studio 2015 及更高版本的 Visual Studio 都使用一个通用 CRT。
本文主要讲解在Python程序中调用C(C++)程序的方法。 主要思路是:在VS中配置好环境后,将C语言程序打包生成动态库文件.dll。将.dll改名成.pyd之后,装入相应路径,在pycharm中直接import即可
👋 你好,我是 Lorin 洛林,一位 Java 后端技术开发者!座右铭:Technology has the power to make the world a better place.
简述 C/C++ 程序越复杂,内存的管理显得越重要,稍有不慎就会出现泄漏。如果内存泄漏不是很严重,在短时间内对程序不会有太大影响,这也使得内存泄漏问题有很强的隐蔽性,不易被发现。然而不管内存泄漏多么轻微,当程序长时间运行时,其破坏力是惊人的 - 从性能下降到内存耗尽,甚至会影响其他程序的正常运行。 VLD VLD(Visual Leak Detector)是一款用于 Visual C++ 的免费内存泄露检测工具。相比较其它内存泄露检测工具,它在检测到内存泄漏的同时,还具有如下特点: 可以得到内存泄漏点的调用
安装python3时会报错,提示api ms win crt runtime l1-1-0.dll 丢失
COM是基于二进制的组件模块,从设计之初就以支持所有语言作为它的一个目标,这篇文章主要探讨COM的跨语言部分。
下载MySQL Connector/C,根据你的系统版本选择下载ZIP ARCHIVE,下载链接
vc++快速使用richedit控件 1)初始化//必须加,否则无法显示窗口 CXXXApp::CXXXApp() //找到应用类 { // TODO: add construction cod
https://dotnet.microsoft.com/download/dotnet/3.1/runtime
本文介绍了如何通过JNI实现一个Hello world。首先介绍了在Java类中声明native方法,然后使用javah工具生成头文件,接着使用vc++新建一个Win32 Dynamic Link Library工程,并编辑头文件,最后编译并运行NativeTest,在控制台输出“Hello World!”。
之前在博文中介绍在python中如何调用tesseract ocr引擎,当时主要介绍了shell模式,shell模式需要安装tesseract程序,并且效率相对略低。
领取专属 10元无门槛券
手把手带您无忧上云