小编Ste*_*ows的帖子

为什么Visual C++没有遇到断点,或者单步执行某个特定的函数?

我有以下内容:

classA::FuncA()
{
 ... code
   FuncB();
 ... code
}

classA::FuncB(const char *pText)
{
    SelectObject(m_hDC, GetStockObject (  SYSTEM_FONT)); 
    wglUseFontBitmaps(m_hDC, 0, 255, 1000); 
    glListBase(1000); 
    glCallLists(static_cast<GLsizei>(strlen(pText)), GL_UNSIGNED_BYTE, pText); 
}
Run Code Online (Sandbox Code Playgroud)

我可以在FuncA的任何地方点击断点.如果我尝试进入FuncB,它会跳过.它将接受FuncB中的断点,但永远不会命中它.我知道它正在执行FuncB,因为我可以在FuncB中放入一个MessagBox()调用并获取消息框.

在远离广泛的VC6使用几年后,我是VS2005的新手.我记得VC6时代的这种情况,如果没有符号信息.但是,在这种情况下,两个函数都在同一个文件中,因此符号信息必须正确.同样在那种情况下,我认为你甚至无法设置断点.

我尝试过所有愚蠢的伏都教,就像重建整个解决方案一样.

我忽略了什么愚蠢的事情?

编辑:添加了FuncB的代码,以回应关于它可能基本上是内联的评论.(这只是来自MSDN的wglUseFontBitmaps的确切示例代码[此处为减号]).我不知道内联是如何妨碍逐步完成每次通话的.

c++ breakpoints visual-studio

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

在Visual Studio 2010中打印版权符号

我一直在努力使用Visual Studio在Windows中打印版权符号.我知道0xA9是版权符号的ASCII代码,它适用于非Windows平台.但在Windows上,我无法使用相同的代码打印版权符号.

#include "iostream.h"
using namespace std;


int main(int argc, char * argv[])
{

        cout << (char)0xA9 << " Copyright symbol" << endl;

        return 0;
}
Run Code Online (Sandbox Code Playgroud)

Linux/HP-UX和AIX上的输出: © Copyright symbol

Windows上的输出: ? Copyright symbol

我是Windows的新手,有人可以帮助我.

c c++ windows ascii visual-studio

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

如何在C#Winforms中创建嵌入式资源游标?

我正在尝试将自定义光标添加到C#Winforms应用程序作为嵌入式资源.似乎嵌入部分不能像文档所暗示的那样工作.

如果我在运行时从文件加载光标,它就可以了:

myMagCursor = new Cursor("../Resources/magnify.cur");
Run Code Online (Sandbox Code Playgroud)

所以看起来光标文件很好.我在MSDN上按照这个信息 嵌入了游标(来自C#示例中的注释):

//In Visual Studio:
//        1. Select the cursor file in the Solution Explorer
//        2. Choose View->Properties.
//        3. In the properties window switch "Build Action" to "Embedded"
Run Code Online (Sandbox Code Playgroud)

然后试着像这样使用它:

myMagCursor = new Cursor(GetType(), "magnify.cur");
Run Code Online (Sandbox Code Playgroud)

哪个给出了空引用异常,我假设因为找不到资源.我也试过这种方法(在网络的其他地方找到):

namespace Piccolo.Forms
{
    public partial class Hanger
    {
    ...
        Assembly asm = Assembly.GetExecutingAssembly();
        using( Stream resStream = asm.GetManifestResourceStream("Piccolo.magnify.cur") )
        {
            myMagCursor = new Cursor( resStream );
        }
Run Code Online (Sandbox Code Playgroud)

我试过"Piccolo.magnify.cur","Piccolo.Forms.magnify.cur","Piccolo.Forms.Hanger.magnify.cur","Hanger.magnify.cur"等我推断光标还没有嵌入式.

光标文件位于Resources文件夹中,其中包含一堆.ico,.png和.jpg文件,这些文件都可以作为工具条按钮正常工作,并显示在项目的"Resources.resx"文件(?)中.他们都没有"嵌入式资源"属性.我的光标文件确实有"嵌入式资源",但没有出现在"Resources.resx"中.

我对光标文件缺少什么才能正确嵌入?

c# cursor winforms

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

构造函数中的malloc安全吗?

如果我在类构造函数中使用malloc(或new/ new[])分配内存,那么该内存是否可以被覆盖?

class stack {
  private:
    int * stackPointer;
  public:
    stack (int size) {
      stackPointer = (int *) malloc (sizeof(int) * stackSize);
    }
    int peek (int pos) {
      return *(stackPointer + pos); //pos < size
    }
}
Run Code Online (Sandbox Code Playgroud)

c++

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

将unsigned char*赋值给字符串C++

这是我的示例代码.请让我知道为什么它在这里崩溃.

string MyFunction::GetString(unsigned char* inStrReference)
{
    unsigned char* bufPtr = inStrReference; 

    string newstring = (char*)bufPtr;

    return newstring;
}
Run Code Online (Sandbox Code Playgroud)

c++

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

浮点数比c ++小于IEEE 754

我尝试进行以下划分:1/16777216,等于5.96046448e-8 但是这个:

printf("number: %f \n", 1.0f / 16777216.0f);      
Run Code Online (Sandbox Code Playgroud)

总是给我0.00000而不是我期望的答案.我抬起了范围,因为我认为,这可能是一个问题,浮动只是为了处理这样一个数字,但IEEE 754声明它±1.18×10?38.

我错过了什么,这就是为什么结果不是预期的结果?

c++ floating-point ieee-754

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

如何将SelectedListViewItemCollection转换为ListViewItemCollection

我正在尝试编写一个简单的例程来处理ListView中的项目列表,并且只能处理所有项目或所选项目.我希望这可行:

private void PurgeListOfStudies(ListView.ListViewItemCollection lvic)
{
    /// process items in the list...
}
Run Code Online (Sandbox Code Playgroud)

然后像这样调用它:

PurgeListOfStudies(myStudiesPageCurrent.ListView.Items);
Run Code Online (Sandbox Code Playgroud)

或这个

PurgeListOfStudies(myStudiesPageCurrent.ListView.SelectedItems);
Run Code Online (Sandbox Code Playgroud)

然而,这两个名单有不同的和无关的类型,ListViewItemCollection并 SelectedListViewItemCollection分别.

我已经尝试将参数的类型更改为object,ICollection<ListViewItem>以及其他一些内容.但由于类型似乎完全不相关,所以在编译时或在演员期间的运行时都会失败.

这一切对我来说都很奇怪,因为这些显然是现实中的相同类型(ListViewItems 列表).

我在这里错过了什么吗?

c# listview winforms

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

如何内联定义QML组件并覆盖属性?

我正在尝试一些看似简单的事情,但失败了:内联定义一个简单的文本格式设置组件,然后使用不同的文本多次实例化它。这是代码

Item {
.
.
.
Component {
    id: favButtonLabelText
    Text {
        text: "Blah!"
        color: StyleSingleton.xNavPrimaryText
        font.family: StyleSingleton.xNavTextFont
        font.pointSize: 28
    }
}
.
.
.       
Loader { sourceComponent: favButtonLabelText; text: "Diameter" }
Run Code Online (Sandbox Code Playgroud)

在加载程序行,text属性无效。试图在组件上定义属性或别名的尝试被拒绝,“组件对象无法声明新属性”。

我在文档中找到的唯一示例显示了重写内联组件中定义的x属性Rectangle。在我看来,覆盖元素的text属性Text是类似的。

我怎样才能做到这一点?

qml qqmlcomponent

0
推荐指数
3
解决办法
1675
查看次数