草庐IT

C++动态库

全部标签

windows - 在 Windows 上动态重定向 child 的标准输出

我注意到关于处理这个的其他几个问题,但似乎都受到以下问题的困扰:不在Windows上工作要求child在检索输出之前完成我想做的是调用一个程序(例如tshark.exe)并在它运行时处理它的输出。迄今为止我已经尝试过:反引号第三轮过程::可靠一切都没有成功。我可以花一整天的时间尝试并找不到一个可以帮助我解决这个问题的模块(即我已经花了一整天),但我认为如果我只是问是否有人知道一个可能会更好。 最佳答案 您不需要模块。只需了解open命令的管道形式——这些在Windows上工作得很好。my$pid=open(my$cmd_handle

c - 在 Windows XP 上运行应用程序时出现 "The specified procedure could not be found"错误(异常 c0000139)

我们有一个dll在Vista和Win7上运行良好一段时间,但在XP上运行时,我们在LoadLibrary时遇到错误“找不到指定的过程”()被调用加载它。我已经尝试使用配置文件选项通过DependencyWalker运行它,将全局标志设置为显示加载器快照,我能从中得到的唯一看似有用的信息是:LDR:SnappingimportsforMyDll.dllfromKERNEL32.dllLDR:LdrGetProcedureAddressbyNAME-RtlGetLastWin32ErrorLDR:exceptionc0000139thrownwithinfunctionLdrpSnapIA

python - 动态 tkinter 输入框

我想知道这是否可能...?想象一个带有用于输入PC名称的输入框小部件的tkinter应用程序。一旦用户开始在框中键入内容,该应用程序就会根据您键入的内容显示可能的名称,因此您键入的内容越多,您看到的选项就越少,直到您只剩下一个或足够小的选项来单击从可用选项中选择它。如果这在tkinter中是可能的,如果有人能给我指出一个简单示例的方向,那就太好了!我不能发布任何示例代码,因为这是一个一般性问题而不是特定问题。 最佳答案 您可以将StringVar的实例与条目小部件相关联,然后在该实例上放置跟踪以在值更改时调用回调。然后,您可以在该回

c - 在windows C中加载dll进行跨平台设计

我写了一个为linux平台设计的C代码。现在,我想让它跨平台,以便在Windows中使用。在我的代码中,我dlopen一个so文件并利用其中的函数。下面是我的代码的样子。但是我才发现,在windows下,加载和使用动态库的方式有很大的不同。void*mydynlibmydynlib=dlopen("/libpath/dynlib.so",RTLD_LAZY);void(*dynfunc1)()=dlsym(mydynlib,"dynfunc1");void(*dynfunc2)(char*,char*,double)=dlsym(mydynlib,"dynfunc2");int(*dy

c++ - 静态链接MSVC库,动态链接Qt

我正在部署我用Qt构建的东西,它是动态链接的,因为LGPL。我使用windeployqt.exe收集必要的dll,它在Windows10机器上运行良好。当我在Windows7机器上尝试时,出现了这个错误:Theprogramcan'tstartbecauseMSVCP140.dllismissingfromyourcomputer.经过一番研究,发现MSVCP140.dll是VisualStudio安装的System32中的一个dll。我应该让我的客户安装VisualStudio,这对我来说不是一个选项,或者静态链接它。我尝试使用/MT但我得到了:Overriding/MTwith/M

c++ - 在 Windows Mobile 中动态分配内存映射文件的大小

我正在尝试找到一种方法来为不同进程之间共享的内存映射文件动态分配内存。我的设计如下:在WindowsMobile中,我正在编写一个显示线程,它使用共享内存处理来自不同进程的显示部分。计划是创建一个等于屏幕大小的内存映射文件例如:如果屏幕大小是640X480,那么我创建一个640X480X4的BYTE数组,然后与另一个进程共享这个另一个进程更新内存中的hDC显示,然后将更新发送到显示线程以更新设备上的显示。这工作正常,但一个限制是在编译时分配内存,因为我们不能动态分配内存(http://msdn.microsoft.com/en-us/library/aa366542%28v=vs.85

c++ - 如何在 Windows 上编译 libevent2?

我正在尝试编译thislibevent2package到Windows,但目前我不能,因为配置脚本是一个shell脚本(/bin/sh;不能在Windows中运行)。有什么方法可以编译它或获得预编译包吗?我目前安装了MinGW、CMake和MSC++。编辑:我已经成功地使用nmakeMakefile.nmake编译了libevent2,但它没有生成任何Windows二进制文件/库。只有.lib。makefile如下——#WATCHOUT!Thismakefileisaworkinprogress.Itisprobablymissing#tonsofimportantthings.DON

c++ - 动态更改程序图标

在C++中,有没有办法让用户选择应用程序的图标?例如,Winamp允许您从其首选项中的图标列表中选择您希望使用的图标。它是怎么做到的? 最佳答案 有您在资源管理器中看到的图标。这是您的可执行文件中的资源。你可以改变它,但我也不建议你。如果可执行文件被修改,病毒扫描程序会变得紧张,在WindowsVista中,您甚至不允许在ProgramFiles文件夹中写入。但是可以更改显示在任务栏或系统托盘中的图标。这实际上是您的应用程序窗口的图标,可以通过发送WM_SETICON消息来设置。还有捷径。它们也可以更改,并且您可以在快捷方式中指定应

c++ - 第三种加载动态链接库的方式?别针

现在我可以使用静态加载(包括必要的header,并使用#pragmacomment(lib,"xxx"))和动态加载(使用函数LoadLibrary或LoadLibraryEx)加载动态链接库。一些公司在面试中询问其他加载动态链接库的方法。但我想知道是否有其他方法可以加载动态链接库? 最佳答案 您的问题中存在术语混淆。DLL代表“动态链接库”。顾名思义,它们总是动态加载。它们不能静态加载。术语“静态”通常与静态库结合使用,即根本不是DLL的库。可以使用LoadLibrary和GetProcAddress函数(有时称为“运行时链接”或

C++ 设置动态创建数组的值失败

一些简单的代码似乎不起作用,我不确定为什么。我正在动态创建一个整数数组。该数组的大小显示为15,但这只是因为我正在尝试调试程序。实际大小在运行时是可变的。我浏览了几个网站,了解如何在C++中动态创建整数数组。像thisone这样的网站上来了。他们的代码看起来像我的代码:一个数组被创建,一个for循环设置数组中每个元素的值。但是在我的for循环运行后,我得到一个大小为0的数组。可能是什么问题?这是一个非常基本的C++程序,使用VisualStudio在Windows上编译。 最佳答案 指针与数组不同,调试器只会显示第一个元素的内容及其