先说说何谓"动态链接程序库"。所谓"动态链接程序库",英文名称为Dynamic Linking Library,以下简称DLL,其用途在于为其他应用程序提供其本身并不具备的功能。比如,假设系统中有一DLL具备了与远端系统进行网络联接的功能,我们假设其名称为Network.dll如果有另外一个应用程序想使用该功能,则这个程序只需在执行时与Network.dll进行动态链接(Dynamic Linking),就可以运用Network.dll的网络联接功能来实现远端联接系统。简单地说,DLL的特性是:
1、DLL本身无法自行执行,必须靠其他程序调用 。
2、在系统刚建立时 (如刚装好windows时),系统中即存在有一定数量的DLL,而某些应用程序亦会将自已所需的DLL添至系统中,导致DLL的数量随应用程序的增加而增加。
大家有时候是不是遇到某某文件删不掉之类的。而且有很多都是dll文件。虽然解决这个问题的方法有很多种。而且也可以把他删除,有没有想过是为什么删不掉呢??这是因为你运行的某个程序正在调用这个dll文件。正在使用的文件是当然不可能给你删除的。那么,到底是哪个程序在调用这个dll文件呢。我教大家一个方法可以把那个程序很容易的找出来。
在运行里输入cmd进入命令提示符。
然后输入命令tasklist /m>c:\123.txt 回车。
是不是没有任何反应?? 不要急。到C盘下面去找一找,是不是有了一个123.txt?(当然。你可以自己设定文件的输出路径,名字,甚至后缀。但要是文本文件哦。。) 打开他。里面就是目前运行的各个程序正在调用的dll文件。 把不能删除的dll文件的名字记下来。然后到记事本里去编辑-查找。输入对应的dll文件。是不是找出来了??找出来了后问题就好办多了。打开任务管理器。把对应的那个程序给关了。。就可以顺利删除了。。那就不必进安全模式,进DOS那么麻烦了。。。 当然。有些应用程序是以服务形式运行的。那么你就有可能查到的是svhost.exe但是。里面有很多个哦。。这个也好办。仍然打开命令提示符。输入tasklist /svc,当然,你也可以把他输出为文本文件,如tasklist /svc>C:\234.txt。看到了吗?每个svchost.exe后面是不是对应有一个ID呢?有了ID一对照也可以知道是哪个服务了。
引用~0&1~的,这就是一个好答案!!!按照标准程序库的说明,当删除/插入只发生在容器的尾部时,应该使用vector;当删除/插入只发生在容器的首/尾部时,应该使用deque;当删除/插入 *** 作很多,而且删除/插入不是只在容器的首尾,这时应该选择list。
但是这里也有一个问题,在使用list时,由于其迭代器只能一次移动一个位置,在有大量删除的 *** 作时,需要大量的迭代器移动 *** 作,因此使用list的效率会很低;list的另一个缺点是,占用空间要比同等容量大小的vector要大,这是由于list的实现需要指针,每个元素就多比vector中的元素多两个指针(双向链表),因此在每个元素都很小(几个字节),而且元素数量很大时,使用list就非常浪费空间了。
如果使用vector,那么删除中间元素会导致大量的元素移动 *** 作,效率也不高,为了解决这个问题,我们可以这样作:使用vector容器,但是不直接删除元素,而是再申请一个临时vector,将原来vector中未删除的有用元素依次加入/保存到临时vector,然后用这个临时vector替换原来的vector,如果实现知道要删除的元素的个数,那么可以事先预留临时vector的空间,再将有用元素存到临时vector中,代码如下:
#include
<vector>
using
namespace
std
vector
myVec
…
//
myVec的初始化以及其它 *** 作
vector
tempVec
//
删除myVec中的num个元素
tempVec.reserve(
myVec.size()
-
num
)
//
预留临时vector的空间
for
(
)
{
将myVec中的有用元素存到tempVec中
}
myVec.swap(
tempVec
)
//
myVec的容量等于或稍大于myVec.size()
…
//
其它 *** 作
删除桌面游戏,一般有三种方法:
1、如果是网页游戏,可以直接在桌面的游戏名称上点击鼠标右键,然后选择删除。
2、如果是经过安装的游戏,可以点击“开始”----“程序”,找到游戏的卸载程序,然后点击“卸载”。
3、点击“控制面板”,点击“添加/删除程序”,然后将游戏卸载。
鼠标到桌面单击右键----排列图标----桌面图标清理向导-----然后自己选择要删掉的图标---完成
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)