小编sha*_*oth的帖子

在VS2005中找不到"创建GUID"工具

我安装了Visual Studio 2005 Professional ENU,并希望使用其Create GUIDs实用程序创建GUID.但是,我在"工具"菜单下找不到它.我该怎么做才能获得这个实用程序?谢谢

guid visual-studio-2005 visual-studio create-guid

1
推荐指数
1
解决办法
2482
查看次数

加载大量XML文件时的内存管理

我们有一个从XML导入对象的应用程序.XML大约为15 GB.应用程序总是开始耗尽内存.我们试图在操作之间释放内存,但这会导致性能下降.即完成导入操作需要更多时间.CPU利用率达到100%

该应用程序是用C++编写的.

经常打电话free()会导致性能问题吗?


来自OP的评论推荐:在expat中使用的解析器,这是一个占用空间非常小的SAX解析器,以及可自定义的内存管理.

c++ xml memory memory-management

1
推荐指数
1
解决办法
1380
查看次数

如果函数不在一个线程内返回,如何保证函数不会被再次输入?

我不希望多个线程同时输入该函数,也不希望它在尚未返回时再次输入.有没有办法实现我的目标?非常感谢你!

c++ winapi synchronization synchronous

1
推荐指数
1
解决办法
449
查看次数

cpp迭代器问题

template<class T>
    class mStack
    {
    private:
       vector<T> a; 
       vector<T>::iterator top;
    public:
       void push(T);
       T pop();
       mStack();
       void printStack();
};
Run Code Online (Sandbox Code Playgroud)

上面的类的代码没有被编译...为什么?问题是什么?编译器说"预期;高于顶部".

c++ templates

1
推荐指数
1
解决办法
252
查看次数

在运行时ANSI C++中区分指针和引用

如何在运行时区分指针和引用?例如,如果我想释放数据类型的指针而不知道它是否是指针,我该怎么做?是否有任何方法可以判断是否已在堆栈上或通过malloc()分配变量?

void destInt(int* var)
{
   free(var);
}


int num = 3;
int &numRef = num;
int* numPtr = (int*)malloc(sizeof(int));
*numPtr = num;

destInt(&numRef); //Syntactically correct but generates invalid pointer()
destInt(numPtr); //Fine syntactically and logically
Run Code Online (Sandbox Code Playgroud)

c++ malloc stack pointers reference

1
推荐指数
1
解决办法
542
查看次数

稳定的2值数组?

我有一个对象数组.对象中有一个布尔值,我想用它作为一个键来对数组进行排序(所有对象都带有true,所有对象都在false之前),但在其他方面保留相同的顺序.

有一个简单的,就地的O(n)解决方案吗?也许是基数排序的一些变种?

sorting algorithm

1
推荐指数
1
解决办法
392
查看次数

我需要多少个 .snk 文件?

假设我有多个 .NET 程序集,并希望使用强名称对每个程序集进行签名。一个密钥对(一个 .snk 文件)是否足够,还是我需要为每个程序集生成一对?我是否必须发布(每个)密钥对的公钥?

.net strongname

1
推荐指数
1
解决办法
739
查看次数

何时以及为何使用 CoLoadLibrary?

CoLoadLibrary() 的描述表明它的功能与 LoadLibraryEx() 几乎相同 - 将 DLL 加载到进程中。COM 类创建函数 - CoCreateInstance() 和 CoGetClassObject() - 都将必要的 DLL 加载到进程中。

那么为什么首先需要 CoLoadLibrary() 以及应该如何使用它呢?

windows com interop com-interop

1
推荐指数
1
解决办法
1288
查看次数

关于C++中赋值运算符的问题

原谅一些看起来很简单的问题,但我想到了这个用例:

struct fraction {
    fraction( size_t num, size_t denom ) : 
        numerator( num ), denominator( denom )
    {};
    size_t numerator;
    size_t denominator;
};
Run Code Online (Sandbox Code Playgroud)

我想做的是使用如下语句:

fraction f(3,5);
...
double v = f; 
Run Code Online (Sandbox Code Playgroud)

v现持有我的分数所代表的价值.我将如何在C++中执行此操作?

c++ operator-overloading

1
推荐指数
1
解决办法
772
查看次数

突出显示Win32编辑控件以指示它是现在填充的控件

我有一个Win32 GUI应用程序,它有几个编辑控件(普通的旧"EDIT"类名).

逻辑是用户要填充应用程序选择的编辑框.为了更清楚地说明要填写哪一个,我想以某种方式突出显示"当前"编辑框.然后,当用户完成输入并要求应用程序继续时,编辑框必须再次变为"通常".

理想的方法是用选择的颜色绘制背景.我怎么能实现这个或类似的选择 - 也许我可以替换用于临时绘制控件的画笔?如果使用编辑控件无法在Windows中启用哪些替换控件,那么从Win2k开始?

windows user-interface winapi

1
推荐指数
1
解决办法
1045
查看次数