小编Mic*_*son的帖子

如何查看sphinx版本?

我几个月前安装了一个sphinx搜索引擎,随着时间的推移,我不记得我安装的sphinx版本.

如何查看我的系统sphinx版本?

sphinx

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

我们能区分钻石操作员和原始构造函数的结果吗?

我有一些代码可以写

GenericClass<Foo> foos = new GenericClass<>();
Run Code Online (Sandbox Code Playgroud)

虽然有同事会写

GenericClass<Foo> foos = new GenericClass();
Run Code Online (Sandbox Code Playgroud)

认为在这种情况下,钻石运营商不会增加任何东西.

我知道实际使用与泛型类型相关的参数的构造函数可能会导致编译时错误,<>而不是原始情况下的运行时错误.并且编译时错误要好得多.(如本问题所述)

我也非常清楚编译器(和IDE)可以生成警告,以便将原始类型分配给泛型.

问题是,对于没有参数的情况,或者没有与泛型类型相关的参数.在这种情况下,构造对象是否有任何方式GenericClass<Foo> foos可以根据使用的构造函数而有所不同,或者Javas类型擦除是否保证它们是相同的?

java generics language-lawyer

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

C++:在不调用构造函数的情况下分配T块

我不想要构造函数调用.我正在使用新的展示位置.

我只想分配一块T.

我的标准方法是:

T* data = malloc(sizeof(T) * num);
Run Code Online (Sandbox Code Playgroud)

但是,我不知道(data + i)是否是T对齐的.此外,我不知道这是否是正确的"C++"方式.

如何在不调用其构造函数的情况下分配T块?

c++ memory-management

25
推荐指数
2
解决办法
6558
查看次数

C:指向结构指针数组的指针(分配/释放问题)

我已经回到C中了解某些东西,但是我很难记住这种内存管理的工作原理.我想要一个指向结构指针数组的指针.

说我有:

struct Test {
   int data;
};
Run Code Online (Sandbox Code Playgroud)

那么数组:

struct Test **array1;
Run Code Online (Sandbox Code Playgroud)

它是否正确?我的问题是处理这件事.因此,数组中的每个指针都指向单独分配的内容.但我认为我需要先做到这一点:

array1 = malloc(MAX * sizeof(struct Test *));
Run Code Online (Sandbox Code Playgroud)

我无法理解上述内容.我需要这样做,为什么我需要这样做?特别是,如果我要为指针指向的每个东西分配内存,为指针分配内存意味着什么?

现在说我有一个指向结构指针数组的指针.我现在希望它指向我之前创建的相同数组.

struct Test **array2;
Run Code Online (Sandbox Code Playgroud)

我是否需要像上面那样为指针分配空间,或者我可以这样做:

array2 = array1
Run Code Online (Sandbox Code Playgroud)

c memory pointers memory-management

25
推荐指数
2
解决办法
8万
查看次数

如何使用gdb从核心文件中获取lua堆栈跟踪

我有一个C++应用程序(用于OS X),它将lua称为脚本语言.我正在运行大量这些应用程序(100s),它们可以运行很长时间(几天或几周).

有时会崩溃.当它崩溃时,它留下了一个可爱的核心文件.

我可以在gdb中打开这个核心文件,找到应用程序崩溃的位置.我可以遍历调用堆栈并找到lua_State变量的实例.我的问题是,我想看看这个时候lua调用堆栈的样子......

请记住,由于这是一个核心,我无权调用C函数,它排除了几种调试lua脚本的常用方法.

我想避免通过调试钩子添加手动跟踪,因为我担心额外的性能损失,并增加了复杂性.

如何遍历lua内部结构以获取调用堆栈信息?

c++ lua gdb

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

当java仍然在范围内时,java能否最终确定它?

我一直在研究我的代码中的一个错误,这个错误似乎是由一些"丑陋的"终结器代码引起的.代码看起来大致如此

public class A {
   public B b = new B();
   @Override public void finalize() {
     b.close();
   }
}

public class B {
   public void close() { /* do clean up our resources. */ }
   public void doSomething() { /* do something that requires us not to be closed */ } 
}

void main() {
   A a = new A();
   B b = a.b;
   for(/*lots of time*/) {
     b.doSomething();
   }
}
Run Code Online (Sandbox Code Playgroud)

我认为正在发生的事情是,a在第二行之后检测到没有引用main()并获得GC并最终确定终结器线程 - 当for循环仍然发生时,使用 …

java garbage-collection

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

如何设置scons系统包含路径

使用scons我可以轻松设置包含路径:

env.Append( CPPPATH=['foo'] )
Run Code Online (Sandbox Code Playgroud)

这传递了旗帜

-Ifoo
Run Code Online (Sandbox Code Playgroud)

到gcc

但是我正在尝试编译并启用了很多警告.特别是

env.Append( CPPFLAGS=['-Werror', '-Wall', '-Wextra'] )
Run Code Online (Sandbox Code Playgroud)

在某些提升中可怕的死亡包括...我可以通过添加boost包含到系统包含路径而不是包含路径来解决这个问题,因为gcc对待系统包含的方式不同.

所以我需要传递给gcc而不是-Ifoo

-isystem foo
Run Code Online (Sandbox Code Playgroud)

我想我可以用CPPFLAGS变量做到这一点,但是想知道scons中是否有更好的解决方案.

c++ scons

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

子串在NSString中的位置

我如何获得一个子串的位置/索引NSString

我通过以下方式找到位置.

NSRange range = [string rangeOfString:searchKeyword];
NSLog (@"match found at index:%u", range.location);
Run Code Online (Sandbox Code Playgroud)

这将返回index:2147483647 何时searchKeyword是子字符串string.

我怎么能得到这样的索引值205那样?

iphone xcode objective-c ios4 ios

19
推荐指数
2
解决办法
3万
查看次数

在kotlin中命名伴侣对象有什么意义

随播对象的文档具有以下示例

class MyClass {
    companion object Factory {
        fun create(): MyClass = MyClass()
    }
}
Run Code Online (Sandbox Code Playgroud)

Factory是伴随对象的名称.然后继续说:

可以省略伴随对象的名称,在这种情况下Companion将使用名称:

但是,我没有看到使用伴随对象名称的示例.

因为每个类只能有一个伴侣对象(否则你会收到Only one companion object is allowed per class错误),这个名字对我来说就像是一些非常无用的语法糖.

同伴对象的名称实际上可以用于什么?为什么有人会为此使用任何名称呢?

kotlin kotlin-companion

17
推荐指数
2
解决办法
1474
查看次数

constexpr在非const成员函数上的用途是什么?

使用constexpr构造函数和函数(不同的vc,g ++)文字类编译错误中接受的答案表明,在C++ 14中存在差异constexpr int A::a()并且constexpr A::a() const可以使用.即constexpr在成员函数上并不意味着函数不会更改它所作用的对象.

给出的例子是:

struct A {
    constexpr A() {}
    constexpr int a() {return 12; }
    constexpr int b() const {return 12; }
};

int main()
{
    constexpr A a;
    // DOES NOT COMPILE as a() is not const
    // constexpr int j = a.a();
    const int k = a.b(); // Fine since b() is const
}
Run Code Online (Sandbox Code Playgroud)

对我来说,constexpra()好像没用.constexprconst成员函数是否有具体用途?

c++ constexpr c++14

17
推荐指数
2
解决办法
847
查看次数