小编The*_*ain的帖子

使用Qt,Wt或NaCl构建框架?

我正在考虑设计一个框架,允许一个C++代码库成为大多数主要平台(Mac OS,Windows,Linux,可能还有Android)的桌面应用程序和Web应用程序.我已经确定Qt最适合桌面版本,但是我在Google Native Client和Wt之间对于Web App部分存在冲突.

Wt代码可能更容易与Qt代码兼容,但是我听说Wt实际上是AJAX输出,所以我不知道这会对性能有多大影响(我计划开发一个这样的游戏引擎,所以我需要性能).

另一方面,NaCl更多,很好......原生.但它似乎是一团糟,尤其是JS集成,我只想用C++编写并完成它.另外,我不知道它与Qt的兼容性如何.

我已经研究了几个星期,我也不太了解.所以它真的归结为:

A:我可以直接(或几乎)用Q代替所有Wt对象名称前面的所有W并且它是Qt兼容代码吗?

B:Wt是原生的,它在运行时的执行速度有多快(我似乎无法找到答案)?

c++ qt wt google-nativeclient

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

在桌面图形独立应用程序中嵌入Dart VM

所以我正在为Web和桌面编写一个跨平台(迄今为止的Windows和Ubuntu计划)应用程序.此应用程序有时需要适度的图形密集型并执行大量的文件IO.我是在达特写的.考虑到这种情况,这似乎是一个"有趣"的选择,但是我不想处理任何重型API或者有两个代码库(NaCl和GCC有两个不同的库).简而言之,我使用Dart与HTML网页进行交互,并注意到Dart VM不会与网页交互,除非您在Dartium中.但我想要一个"桌面应用程序"以及一个消除Dartium作为选择的Web应用程序,所以我还计划使用Qt Webview使它看起来像桌面应用程序,但我想知道将Dart VM嵌入我的应用程序的麻烦是否值得?这样做是否足以让Dart VM(运行dart脚本)与Qt Webview中的页面进行交互(我对Dart有点新鲜)?谢谢阅读!

html qt desktop-application dart dartium

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

文件夹和命名空间会影响C++和跨平台的性能吗?

有人质疑命名空间和文件夹结构是否会影响C#中程序集的性能.答案非常有用,但具体针对C#和CLR.

如果使用gcc用C++编写,命名空间和文件夹结构将如何影响程序集的性能?其他操作系统的情况如何,例如Linux或Mac OS?

如果存在任何重大性能问题,我应该做什么或避免做什么以最大限度地提高性能?

c++ optimization performance

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

C++在const char*和const char []之间的区别

我读了一个关于以下区别的问题:

const char*
Run Code Online (Sandbox Code Playgroud)

const char[]
Run Code Online (Sandbox Code Playgroud)

虽然有一段时间,我虽然数组只是指针的语法糖.但有些事情让我烦恼,我有一些类似于以下的代码:

namespace SomeNamespace {
    const char* str = { 'b', 'l', 'a', 'h' };
}
Run Code Online (Sandbox Code Playgroud)

我得到,错误:缩放器对象'str'在初始化器中需要一个元素.所以,我试过这个:

namespace SomeNamespace {
    const char str[] = { 'b', 'l', 'a', 'h' };
}
Run Code Online (Sandbox Code Playgroud)

它起作用,起初我认为这可能与以下事实有关:当它是一个const char*时应用额外的操作,并且GCC从不是在函数外执行的操作的粉丝(这无论如何都是不好的做法),但错误似乎并不是这样.但是在:

void Func() {
    const char* str = { 'b', 'l', 'a', 'h' };
}
Run Code Online (Sandbox Code Playgroud)

它按预期编译得很好.有谁知道为什么会这样?

x86_64/i686-nacl-gcc 4(.1.4?)pepper 19工具 - 链(基本上是GCC).

c++ gcc char google-nativeclient c++11

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

Java直接修改类,null引用?

我是使用Java的新CLASS_NAME(){STUFF}功能的新手,但我遇到的内容似乎很奇怪.请考虑以下代码:

class Test
{
    public String a;
    public static void main( String[] args ) throws java.lang.Exception
    {
        String j = "abc";
        //Emulating passing an argument as I did in my code.//
        final String s = j;
        Test v = new Test();
        v.a = s;
        Test e = new Test() {
            public String a = s;
        };
        Test g = new Test();
        g.a = s;
        System.out.println( v.a );
        System.out.println( e.a );
        System.out.println( g.a );
    }
}
Run Code Online (Sandbox Code Playgroud)

我认为这个程序的输出将是:

abc

abc

abc
Run Code Online (Sandbox Code Playgroud)

相反,它是: …

java null class dynamic

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

Python 3.2.2在IDLE中运行时与在桌面上运行时的行为不同

美好的一天!

今天我用Python 3.2.2编写了一个小脚本,这个简单的代码决定给我带来麻烦.

def main():
    yn = ""
    #...
    while True:
        #...
        yn = input( "---> " )
        if yn.lower() != "y":
            break
Run Code Online (Sandbox Code Playgroud)

现在,这个代码应该是非常明显的,但是当我在Windows 7上运行它时,它工作得非常好,或者当我双击桌面上的脚本图标并打开它时,天气与否无关紧要我输入"y"它关闭,当然这是一个简单的解决方案:

if yn.lower() == "n":
   #...
Run Code Online (Sandbox Code Playgroud)

这就是我所做的,但我想知道这可能是什么原因?

python if-statement behavior

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


具有零参数的模板说明符

我有一个类似于以下定义的类:

template< typename A, typename... B >
struct S {
    //...//
};
Run Code Online (Sandbox Code Playgroud)

但我想像这样创建一个重载(有效):

template<>
struct S<> {
    //...//
};
Run Code Online (Sandbox Code Playgroud)

然而,上面显然是非法的,我不能使用varidic模板,并传递零参数,因为这可能与第一个定义(和不好的做法)不明确.有没有办法在C++中创建零参数的模板说明符?

c++ templates zero c++11

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