草庐IT

C++动态库

全部标签

c++ - 我想确定动态链接库使用了多少内存

我想找出哪些库使用的内存最多。我想在我的应用程序中制作一种内存记录器。这需要以编程方式查找其自身进程中哪些库使用了多少内存。例如,我有一个程序使用了10MB的内存,其中有一个.dll使用了9MB的内存。我想查看所有的dll以及它们使用了多少内存。此应用程序将在Windows上运行。一切都需要以编程方式完成。 最佳答案 不确定这是否是最简单的方法,但也许您应该在加载每个库后立即Hook内存分配WinAPI函数。然后在你的钩子(Hook)中你将能够进行必要的计数查看MicrosoftDetours库作为一个很好的Hook框架(http:

c# - 在启动时动态决定 Winforms 或 Wpf?

我有一个用例,如果有一个exe可以在启动时决定是托管仅WPF应用程序代码还是仅WinForms代码,这将很有用。一旦做出决定,exe将简单地加载一个dll(对于WinForms)或一个不同的dll(对于WPF)。我希望exe具有尽可能少的代码(和引用),并将大部分(如果不是全部)应用程序逻辑放在一组dll中。这是我的想法:MyApp.exeMyApp.exe将仅引用WinForms和WPF通用的.NET框架程序集。(所以,System、System.Core、System.Data、System.Xml等)然后它会动态加载对MyApp.Windows.dll或MyApp.Windows

windows - 我应该静态编译 VS2008 C++ Win32 应用程序还是动态链接它们?

按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter指导。关闭9年前。我试图避免dllhell问题和用户必须安装重新分发包以防他们没有dll。是否建议我静态编译我的应用程序?

windows - 获取 csv 文件的动态列的批处理脚本问题?

这是我用于从csv导出数据并写入.trn扩展文件的脚本。代码对csv文件数据的某些列正确执行,我的意思是说如果该列没有索引A到Z,代码执行正确,但是当Z列之后意味着AA、AB等数据出错时。您可以在此处看到的代码:批处理脚本@echooffset"line1=^%%a,cf,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,y,,,,,,,,,,,,,"set"line2=^%%a,$,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,y,qbconid,,,^%%b,,,,,,,,,"...............

路由概述(直连、静态、动态、默认等)

路由概述(直连、静态、动态、默认等)路由路由:在网络通信中,路由(router)是一个网络层的术语,作为名词时,其指从某一个网络设备出发去往某个目的地的路径;作为动词时,其指跨越源主机和目的主机之间的网络来转发数据包。路由表则是若干条路由信息的一个集合体。在路由表中,一条路由信息也称为一个路由或一个路由条目。路由表只存在于终端计算机和路由器(以及三层交换机)中,二层交换机不存在路由表的。路由的协议(1)根据路由算法分为:距离矢量路由协议:通过判断数据包从源主机到目的主机所经过的路由器的个数来决定选择哪条路由,如路由信息协议(RIP)。链路状态路由协议:不是根据路由器的数目选择路径,而是综合考虑

windows - 创建将使用动态 %username% 的快捷方式

我想在用户的桌面上创建一个快捷方式,该快捷方式将指向他们将在其中备份其.pst文件的共享。我借用了使用%username%变量创建快捷方式的代码,如果我以自己的身份登录运行它,它就可以工作。但是,当实际用户登录时,它仍然以我的名字作为用户,而不是当前登录的用户。我如何使它可变?代码如下:#CreateaShortcutwithWindowsPowerShell$TargetFile="\\fileserver\%username%$"$ShortcutFile="C:\Users\Public\Desktop\Mail.lnk"$WScriptShell=New-Object-ComO

windows - Windows和Visual Studio 2015下如何构建v8动态库

我已经能够在Windows8.1和VisualStudio2015Update2下使用基于GNBuildingwithGN的构建链成功构建v8但我找不到如何构建v8库。基本上我想启用component=shared_library但我找不到如何去做...helloworld.exe等示例正在编译并且正在运行。到目前为止,这是我构建它的方式:setDEPOT_TOOLS_WIN_TOOLCHAIN=0mkdirdepot_toolscddepot_toolscurl-Ohttps://storage.googleapis.com/chrome-infra/depot_tools.zipc

windows - 由于源文件名是动态的,如何在 xcopy 中使用变量?

比如我有xcopy"C:\windows\match\goal.cfg""c:\ProgramFiles\Gate\"/e/i/h/r/k/yma​​tch文件夹的名称是动态的,并且总是在变化。如何直接改变路径以指向匹配文件夹中的文件以复制到程序文件中的gate文件夹? 最佳答案 如果您想将文件夹名称变量传递到批处理文件中,您可以使用:@echooffset/p"folder=Enterfoldername:"xcopy"C:\windows\%folder%\goal.cfg""c:\ProgramFiles\Gate\"/e/i

Windows DLL 和动态初始化顺序

我有一些关于动态初始化(即main之前的构造函数)和DLL链接顺序的问题-适用于Windows和POSIX。为了方便讨论,我将定义几个术语:Load-TimeLibraries:librarieswhichhavebeen"linked"atcompiletimesuchthat,whenthesystemloadsmyapplication,theygetloadedinautomatically.(i.e.onesputinCMake'starget_link_librariescommand).Run-TimeLibraries:librarieswhichIloadmanual

c++ - 具有动态内存的命名管道策略?

好的,所以我有一个需要一些IPC的应用程序...我认为命名管道是可行的方法,因为它们非常易于使用。无论如何,我有一个关于如何使用命名管道处理动态内存的问题。假设我有这样一个类:classMyTestClass{public:MyTestClass(){_data=newint(4);}intGetData(){return*_data;}intGetData2(){return_data2;}private:int*_data;int_data2;};现在,当我创建一个充满MyTestClass对象的缓冲区然后通过管道发送它们时,我显然在目标进程中丢失了_data并得到了垃圾。我应该使