小编gre*_*eth的帖子

`qt_noop`的目的是什么?

我刚刚qt_noop()在qglobal.h中发现了define 的存在:

inline void qt_noop() {}
Run Code Online (Sandbox Code Playgroud)

有什么意义呢?

c++ qt no-op

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

如何以指向0xCCCCCCCC的指针结束

我正在处理的程序有时会尝试在地址上读取数据0xCCCCCCCC.谷歌(和StackOverflow)是我的朋友我看到它是未初始化的堆栈变量的MSVC调试代码.要了解问题的来源,我试图重现这种行为:问题是我无法做到这一点.

问题是:你有一个代码片段显示指针如何指向0xCCCCCCCC

谢谢.

c++ visual-studio-2008

6
推荐指数
2
解决办法
1万
查看次数

复制和交换习语,带继承

我读了有关复制和交换习语的有趣信息.我的问题是关于swap从另一个类继承时该方法的实现.

class Foo : public Bar
{
    int _m1;
    string _m2;
    .../...
public:
    void swap(Foo &a, Foo &b)
    {
         using std::swap;

         swap(a._m1, b._m1);
         swap(a._m2, b._m2);
         // what about the Bar private members ???
    }
    .../...
};
Run Code Online (Sandbox Code Playgroud)

c++ inheritance idioms

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

C#:将ushort转换为float

从我正在工作的图书馆我收到了一系列的ushort.

我希望将它们转换为以下数组float:第一个ushort代表第一个的16个MSB,float第二个代表第一个ushort的16个LSB float,依此类推.

我尝试使用类似下面的内容,但是值被转换为整数的值,而不是原始位:

ushort[] buffer = { 0xBF80, 0x0000 };
float f = (uint)buffer[0] << 16 | buffer[1];
// expected result  => f == -1            (0xBF800000)
// effective result => f == 3.21283686E+9 (0x4F3F8000)
Run Code Online (Sandbox Code Playgroud)

有什么建议吗?

.net c# casting

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

Visual Studio 2010远程调试 - 无法连接:拒绝访问

我正在尝试远程调试exe,但我不断收到错误消息.这是配置:

在开发机器上:

  • Windows Vista 32位
  • Visual Studio 2010
  • 防火墙禁用

在远程机器上:

  • Windows 7 64位
  • msvsmon.exe(从开发机器共享)
  • MyProgram.exe(32位,C#,.NET 4.0)
  • 防火墙禁用

两台计算机都在同一个域中.我使用相同的帐户登录,该帐户在两台计算机上都具有管理员权限.

这就是我的所作所为:

  • 在远程计算机上启动msvsmon.exe(使用"以管理员身份运行")
  • msvsmon输出:名为domain\login@machinecreated的新服务器.等待输入连接.
  • 从visual studio:Debug> Attach to process.使用填充限定符字段domain\login@machine
  • visual studio输出:无法连接到名为"machine"的Microsoft Visual Studio远程调试监视器.拒绝访问.
  • msvsmon输出:domain\login connected

我错过了什么?

编辑:

如果dev机器也是64位(在Win7 x64上试过),它看起来有效.所以现在的问题是:如何使我的Windows Vista 32工作?

.net remote-debugging visual-studio-2010 c#-4.0

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

C++空类或typedef

我目前在我的代码中使用类似的东西:

class B : public A<C> { };
Run Code Online (Sandbox Code Playgroud)

使用typedef不是更好吗?

typedef A<C> B;
Run Code Online (Sandbox Code Playgroud)

c++ typedef class

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

找到从未调用过的函数

我正在使用Qt和Visual Studio 2008在一个项目中进行一些重构,我想知道是否有一种简单的方法来查找从未调用过的函数和方法?

c++ qt4 visual-studio-2008

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

QLibraryInfo似乎没有加载qt.conf

我jsut安装了Qt 4.7.2,我正在尝试使用QLibraryInfo该类.我的问题是QLibraryInfo::location(QLibraryInfo::PrefixPath)总是返回C:\work3\qt-4.7-vs2010-x86我的生成机器上不存在的(应该是C:\Qt\qt-4.7.2).

根据文档,我试图qt.conf在我的程序旁边创建一个文件,但问题仍然存在.这是它的内容:

[Paths]
Prefix=C:/Qt/qt-4.7.2/
Run Code Online (Sandbox Code Playgroud)

现在我用一个符号链接来绕过这个问题,但我想知道是否有一个合适的解决方案.谢谢.

编辑 这是使用以下程序QLibraryInfo:

int main(int argc, char ** argv)
{
    QCoreApplication app(argc, argv); //< added after Piotr's suggestion

    QFile outf("qtdirs.out");

    if (!outf.open(QIODevice::WriteOnly|QIODevice::Truncate|QIODevice::Text))
        return 1;

    QTextStream out(&outf);

    out << QLibraryInfo::location(QLibraryInfo::PrefixPath) << '\n';
    out << QLibraryInfo::location(QLibraryInfo::HeadersPath) << '\n';

...
}
Run Code Online (Sandbox Code Playgroud)

c++ windows qt

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

Qt字距调整问题

在我的应用程序中,我使用a QTextEdit来显示一些文本,使用HTML进行格式化.可以打印显示的文档.这就是问题所在:在屏幕上,字距调整是正确的,打印时文档看起来很糟糕(主要是:在一些字母后面太多空间).

试图理解问题我在外部文件中输出HTML,并在真实浏览器中测试它.在Chrome中存在完全相同的问题,而在Firefox中,字距调整也适用于打印.问题来自HTML渲染引擎,但我没有使用QtWebkit模块(我甚至没有编译它),这可能会解释Chrome中出现同样的问题.

我怎样才能解决这个问题 ?

编辑

这是它的样子:

首先应该呈现的文本(Firefox): 用Firefox搞定

然后使用Qt/Chrome呈现的内容(特别是在M和p之后显着): 使用Qt/Chrome进行字距调整

html qt kerning qtextedit

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

如何处理 System.AccessViolationException?

我在我的程序中使用了一个外部 C 库,用 C++/CLI 和 .NET 框架 4 编码。有时库崩溃,我收到消息:

未处理的异常:System.AccessViolationException:试图读取或写入受保护的内存。

所以我尝试用 try/catch 块来处理它:

try
{
  Init(); //< lib call which sometimes crashes
}
catch (Exception^ e)
{
  // handle the error
}
Run Code Online (Sandbox Code Playgroud)

但异常仍未被捕获:我的程序在进入 catch 块之前就崩溃了。

如何处理此异常以防止我的程序崩溃?

.net exception-handling c++-cli

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