小编ldl*_*ina的帖子

如何检查dll的引用计数?如何知道dll的加载位置?

如您所知,如果对LoadLibrary的调用指定已映射到调用进程的地址空间的DLL模块,则该函数只返回DLL的句柄并递增模块的引用计数.

在某个地方,我需要得到一个dll的引用计数.如何获取dll的引用计数?如何知道dll的加载位置?谢谢.

c++ windows

12
推荐指数
3
解决办法
9762
查看次数

C++:将unique_ptr :: get()之类的参数传递给函数是否安全

传递函数参数是否安全getAName(getA().get())getA()返回一个对象unique_ptr<A>.

我在VS 2010上测试下面的全部代码,它可以工作.但我想确定它是否是c ++标准,对其他c ++编译器是否安全?

#include "stdafx.h"
#include <memory>
#include <iostream>

using namespace std;

class A
{
public:
    A(){ cout<<"A()"<<endl;}
    ~A(){ cout<<"~A()"<<endl;}

    string name() { return "A"; }
};

std::unique_ptr<A> getA()
{
    return std::unique_ptr<A>(new A());;
}

void getAName(A* a)
{
    if(a)
    {
        cout << a->name().c_str() << endl;
    }
}

int _tmain(int argc, _TCHAR* argv[])
{
    getAName(getA().get());
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

控制台中的输出是:

A()
A
~()
Run Code Online (Sandbox Code Playgroud)

为了所有编译器的安全,是否有必要使代码如下所示?

unique_ptr<A> a = getA();
getAName(a.get());
Run Code Online (Sandbox Code Playgroud)

c++ stl temporary unique-ptr c++11

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

REST API测量服务器端响应时间(性能).

我开发了一些基于nodejs的rest API,我想测试API的性能.是否有任何工具可以轻松计算每次API调用的时间?

或者如何实现REST API响应请求所需的时间测量.

javascript rest performance node.js

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

如何从指定位置而不是 GAC 加载引用的 dll?

我有一个名为 A.dll 的强名称的 dll,另一个程序集 B 引用 A.dll。我将 A.dll 放在 c:\myapp 中,A.dll 也安装在 GAC 中。我希望程序集 B 从 c:\myapp 而不是 GAC 加载 A.dll。但它总是从 GAC 加载 A.dll。我的问题是如何从指定的本地位置而不是 GAC 加载引用的 dll。谢谢。

.net

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

如何在Javascript中使用默认目录打开文件浏览器?

我想用JavaScript打开一个文件浏览器,并为这个文件浏览器设置一个默认目录.例如,我想将默认目录设置为"C:\ My Documents".

如何设置默认目录?最好使用<input type="file"/>,其他控件也可以.

javascript html5

5
推荐指数
1
解决办法
3万
查看次数

C++函数性能问题

我遇到了C++函数性能问题,使用下面的代码进行测试.的的实现queryInterfacequeryInterface1几乎相同.唯一的区别是queryInterface调用classType函数和classType函数调用classType1,直接queryInterface1调用classType1.表现queryInterface1不好,需要两倍的时间queryInterface.有什么问题queryInterface1,为什么?用MSVC编译.查看控制台中的输出:

queryInterface()的时间成本:2453

queryInterface1()的时间成本:4961

#include <string>
#include <time.h>
#include <iostream>
#include <unordered_map>

using namespace std;

namespace
{
    int find(const string& name)
    {
        return 0;
    }

    class A
    {
    public:
        static int classType();
        static int classType1();
        virtual void* queryInterface(int id) const
        {
            if (A::classType() == id)
                return const_cast<A*>(this);

            return nullptr;
        }
        virtual void* queryInterface1(int id) const
        {
            if (A::classType1() == …
Run Code Online (Sandbox Code Playgroud)

c++ string performance function visual-c++

5
推荐指数
0
解决办法
306
查看次数

QProgressDialog:关于 MinimumDuration 的问题

我正在使用 QT 4.8.5。我在 QProgressDialog 和 MinimumDuration 上遇到了一些问题。这是文档:http : //doc.qt.io/qt-4.8/qprogressdialog.html#minimumDuration-prop

1.使用以下代码进行测试。该对话框根本不显示。但文档说:“对话框将在 minimumDuration 时间之后或设置任何进度后弹出”。

QProgressDialog* dlg = new QProgressDialog("Test", "cancel", 0, 10);
dlg->setMinimumDuration(8000);
Run Code Online (Sandbox Code Playgroud)

2.使用以下代码进行测试。该对话框将在 8 秒后显示。但文档说:“对话框将在 minimumDuration 时间之后或设置任何进度后弹出”。虽然行为与文档不同,但我认为当前的行为是可以接受的。

QProgressDialog* dlg = new QProgressDialog("Test", "cancel", 0, 10);
dlg->setMinimumDuration(8000);
dlg->setValue(0);
Run Code Online (Sandbox Code Playgroud)

3.使用以下代码进行测试。该对话框永远不会显示。但文档说:“对话框将在 minimumDuration 时间之后或设置任何进度后弹出”。

QProgressDialog* dlg = new QProgressDialog("Test", "cancel", 0, 10);
dlg->setMinimumDuration(8000);
dlg->setValue(1);
Run Code Online (Sandbox Code Playgroud)

4.使用以下代码进行测试。行为与第 2 项相同。

QProgressDialog* dlg = new QProgressDialog("Test", "cancel", 0, 10);
dlg->setMinimumDuration(8000);
dlg->setValue(0);
dlg->setValue(1);
Run Code Online (Sandbox Code Playgroud)

5.使用以下代码进行测试。只要将进度值设置为 1,就会显示对话框。 为什么 Sleep() 函数会影响这里的行为?

QProgressDialog* dlg …
Run Code Online (Sandbox Code Playgroud)

c++ windows qt qprogressbar

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