问题列表 - 第19985页

以g ++转储类/结构成员变量

是否有转换结构/类g++成员变量的标志或工具?为了说明,请考虑这样的源代码

struct A { virtual void m() {}; };
struct B : public A { int b; virtual void n() = 0; };
struct C : public B { int c1, c2; void o(); };
struct D : public C { virtual void n() {}; A d; };
Run Code Online (Sandbox Code Playgroud)

我想得到类似的东西

A:   0 = (vptr)

B:   0 = (vptr)
     4 = b

C:   0 = (vptr)
     4 = b
     8 = c1
    12 = c2

D:   0 = …
Run Code Online (Sandbox Code Playgroud)

c++ gcc g++

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

FileDescriptor在Android中的实际系统文件描述符(如int)

有没有办法从Android的FileDescriptor对象获取系统文件描述符(套接字或文件号为int)?我想直接在JNI代码中访问文件描述符,而不使用任何Java包装器.

编辑:我发现getParcelFileDescriptorFD并且FileDescriptor有int字段名为"descriptor",示例用法在media/jni/android_media_MediaPlayer.cpp,func定义在frameworks/base/core/jni/android_util_Binder.cpp,字段本身在libcore/luni/src/main/java/java/io/FileDescriptor.java

但这不是官方记录的API的一部分.是否有记录在案的"正确"方法?

android native

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

Javax.swing计时器重复正常,但ActionListener不执行任何操作

我试图在文本字段中闪烁背景颜色.我的计时器设置如下:

 Flash flash = new Flash();                      //set up timer
 tmr = new javax.swing.Timer(1000, new Flash());
 tmr.addActionListener(flash);
 tmr.setInitialDelay(0);
 tmr.setRepeats(true);
 tmr.start();                 
Run Code Online (Sandbox Code Playgroud)

我的actionListener如下:

 static class Flash implements ActionListener
 {
    public void actionPerformed(ActionEvent evt)
    {
        if (flasher)
        {
            SpreademPanel.historyPnl.NameTxt.setBackground(Color.white);
        }
        else
        {
            SpreademPanel.historyPnl.NameTxt.setBackground(Color.pink);
        }
        flasher = !flasher;
    } //actionPerformed
} //Flash
Run Code Online (Sandbox Code Playgroud)

现在,当我把它放在调试中并按照动作执行时,程序会反复执行闪存并在两个备选项之间切换.但是在屏幕上,只有第一个切换发生.之后,没有动作,虽然闪光灯仍在运转.

这有什么不对?

在此先感谢您的帮助.

java swing javax.swing.timer

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

调试NSNotificationCenter问题的方法?

我发布的通知中有一些问题:

[[NSNotificationCenter defaultCenter] postNotificationName:@"MobileProviderChanged" 
                                                    object:self.selectedProviderID];
Run Code Online (Sandbox Code Playgroud)

不被我的观察者困住:

[[NSNotificationCenter defaultCenter] addObserver:self
                                         selector:@selector(onProviderChanged:) 
                                             name:@"MobileProviderChanged"
                                           object:nil];
Run Code Online (Sandbox Code Playgroud)

完全相同的观察者在不同的ViewController中正常工作.

有关调试此方法的任何提示,以查看实际发布到defaultCenter的消息是什么?

谢谢.

iphone debugging objective-c

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

如何在重写GetHashCode()的类型上使用Object.GetHashCode()

我有一个实现IEquatable <>的类A,使用它的字段(比如Ab和Ac)来实现/重写Equals()并覆盖GetHashCode(),并且99%的时候一切正常.A类是层次结构(B类,C类)的一部分,它们都从接口D继承; 它们都可以一起存储在字典中,因此当它们都带有自己的默认Equals()/ GetHashCode()时很方便.

然而,在构建AI时,有时需要做一些工作来获得Ab和Ac的值; 当发生这种情况时,我想存储对正在构建的实例的引用.在这种情况下,我不想使用A提供的默认Equals()/ GetHashCode()覆盖.因此,我正在考虑实现一个ReferenceEqualityComparer,这意味着强制使用Object的Equals()/ GetHashCode() :

    private class ReferenceEqualityComparer<T> : IEqualityComparer<T>
    {
        #region IEqualityComparer<T> Members
        public bool Equals(T x, T y)
        {
            return System.Object.ReferenceEquals(x, y);
        }

        public int GetHashCode(T obj)
        {
            // what goes here? I want to do something like System.Object.GetHashCode(obj);
        }
        #endregion
    }
Run Code Online (Sandbox Code Playgroud)

问题是,由于A重写了Object.GetHashCode(),我如何(在A之外)调用Object.GetHashCode()作为A的实例?

当然,一种方法是A不实现IEquatable <>并且始终为我创建的任何字典提供IEqualityComparer <>,但我希望得到不同的答案.

谢谢

c# iequatable iequalitycomparer gethashcode referenceequals

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

是否可以获得RSS存档

我知道rss feed是新闻......是否有可能从昨天或前天获得rss feed ...(更确切地说,rss feed的存档).

rss feeds

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

Python何时为相同的字符串分配新内存?

两个具有相同字符的Python字符串,a == b,可以共享内存,id(a)== id(b),或者可以在内存中两次,id(a)!= id(b).尝试

ab = "ab"
print id( ab ), id( "a"+"b" )
Run Code Online (Sandbox Code Playgroud)

在这里,Python认识到新创建的"a"+"b"与已经在内存中的"ab"相同 - 不错.

现在考虑一个N长的州名列表["亚利桑那州","阿拉斯加州","阿拉斯加州","加利福尼亚州......"(在我的案例中为N~500000).
我看到50个不同的id()s⇒每个字符串"Arizona"......只存储一次,很好.
但是将列表写入磁盘并再次读回:"相同"列表现在有N个不同的id()s,内存更多,见下文.

怎么 - 任何人都可以解释Python字符串内存分配?

""" when does Python allocate new memory for identical strings ?
    ab = "ab"
    print id( ab ), id( "a"+"b" )  # same !
    list of N names from 50 states: 50 ids, mem ~ 4N + 50S, each string once
    but list > file > mem again: N ids, mem ~ N * (4 + …
Run Code Online (Sandbox Code Playgroud)

python memory memory-management

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

计算两个x/y坐标之间的距离?

我想计算圆环表面上两个x/y坐标之间的距离.因此,这是一个普通网格,其边角和边是"连接"的.例如,在500x500的网格上,(499,499)处的点与(0,0)相邻,并且例如(0,0)和(0,495)之间的距离应为5.

有没有什么好的数学计算方法呢?

math grid distance coordinates

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

ASP.NET MVC URl路由:如何处理?Action = Test参数

我需要为简单游戏的在线竞赛实施一个简单的webapp.我需要处理Get请求并对此做出响应.

我想,让我们使用一个简单的ASP.Net MVC应用程序,让它处理URL.

问题是,我需要处理的URL是:

 http://myDomain.com/bot/?Action=DoThis&Foo=Bar
Run Code Online (Sandbox Code Playgroud)

我试过了:

public ActionResult Index(string Action, string Foo)
    {
        if (Action == "DoThis")
        {
            return Content("Done");
        }
        else
        {
            return Content(Action);
        }
    }
Run Code Online (Sandbox Code Playgroud)

问题是,字符串Action总是被设置为路径的动作名称.我总是得到:

Action == "Index"
Run Code Online (Sandbox Code Playgroud)

看起来ASP.Net MVC会覆盖Action参数输入,并使用实际的ASP.Net MVC Action.

由于我无法更改我需要处理的URL的格式:有没有办法正确检索参数?

c# parameters url asp.net-mvc

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

R数组操作

在python列表中可以像这样切片x[4:-1]以从第四个元素到最后一个元素.

在R中,对于带有x[4:length(x)]和用于多维数组的向量,可以实现类似的东西x[,,,,4:dim(x)[5],,,].对于从中间元素到最后一个元素的特定维度的数组切片,这是更优雅的语法吗?

谢谢

arrays r slice sub-array

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