小编eba*_*onp的帖子

C++ 0x IDE支持g ++

什么IDE更好地支持g ++中的新C++ 0x功能?

我知道您可以按原样使用编辑器并使用-std = c ++ 0x编译代码,但我希望IDE不会将新功能标记为错误(自动,基于范围的循环,可变参数模板等).

c++ gcc g++ c++11

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

使用wix生成可执行文件

我正在学习Wix,我想生成一个setup.exe文件,而不是setup.msi.

那可能吗?

wix wix3

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

Qt:后台线程刷新UI线程

我有一个后台线程,线程调用一些更新UI的方法(为了显示进度条并在文本区域显示其他信息).

如果我修改了一些UI窗口小部件值,则会引发"无法将事件发送到由不同线程拥有的对象"断言错误.

看看论坛,我读到我可以使用QMetaObject :: invokeMethod方法,但是如果我传递Qt :: DirectConnection标志,它实际上会引发上面显示的相同错误,它就可以正常工作.

如果我使用Qt :: QueuedConnection或Qt :: AutoConnection,则invokeMethod返回false.

我的代码看起来类似于:

.H:

class A : public QMainWindow
{
  Q_OBJECT

  QProgressBar* pb;

  public slots:
    bool m(bool, int);
};

class B
{
  A* a;

  public:
    void handleEvent();
};


.cpp:

bool A::m(bool x, int y)
{
  pb->setValue(y);
  return x;
}

void B::handleEvent()
{
  //a->m(true, 12); //raises an assertion error

  bool r;
  //bool ret = QMetaObject::invokeMethod(a, "m", Qt::DirectConnection, Q_RETURN_ARG(bool, r), Q_ARG(bool, true), Q_ARG(int, 12)); //raises the same assertion error error

  bool ret …
Run Code Online (Sandbox Code Playgroud)

c++ qt4

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

SQL Server Native Client API示例

我正在编写一个需要在SQL Server数据库中执行SQL查询的C++应用程序,我想使用SQL Server Native Client来完成它.

MSDN文档没有完整的参考,并有一些示例,所以我正在寻找一些网站,其中包含有关如何使用此API连接,执行查询和检索结果的更多信息.

你们知道我可以在哪里获得更多信息吗?

提前致谢,

埃内斯托

c++ sql

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

迭代器和引用计数字符串

如果我们考虑使用引用计数的std :: string实现,请考虑以下情况:

int main()
{
  string english = "Hello";
  string german  = english; //refcnt = 2
  string german2 = german;

  /* L1 */ german[1] = 'a';
  /* L2 */ *(german2.begin() + 1) = 'A';

  cout << english << endl << german << endl << german2 << endl;
  return 0;
}
Run Code Online (Sandbox Code Playgroud)

L1和L2会发生什么?引用计数是否已损坏并执行了深层复制?我是这么认为的,但我担心的是,如果发生这种情况,做一个简单的事情:

cout << german[1] << endl; 
Run Code Online (Sandbox Code Playgroud)

还是简单的:

cout << *(german.begin()) << endl;
Run Code Online (Sandbox Code Playgroud)

在非const上下文中将执行不必要的深层复制.我对吗?这些实现如何处理这个细节?

c++ stl copy-on-write

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

Turbo C++ - 就像编辑器一样

你知道是否有一些Borland的Turbo C++克隆文本专用IDE或类似的Unix机箱吗?

我希望通过我的控制台终端以文本模式提供C++ IDE(编辑器/编译器/调试器).

c++ ide

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

C++和Java性能

这个问题只是推测性的.

我在C++中有以下实现:

using namespace std;

void testvector(int x)
{
  vector<string> v;
  char aux[20];
  int a = x * 2000;
  int z = a + 2000;
  string s("X-");
  for (int i = a; i < z; i++)
  {
    sprintf(aux, "%d", i);
    v.push_back(s + aux);
  }
}

int main()
{
  for (int i = 0; i < 10000; i++)
  {
    if (i % 1000 == 0) cout << i << endl;
    testvector(i);
  }
}
Run Code Online (Sandbox Code Playgroud)

在我的框中,这个程序大约执行.12秒; 令人惊讶的是,我在Java中使用了类似的实现[使用String和ArrayList],它的运行速度比我的C++应用程序快了很多(大约2秒).

我知道Java HotSpot在转换为native时会执行很多优化,但我认为如果这样的性能可以用Java完成,它也可以用C++实现......

那么,你认为应该在上面的程序中修改,或者我不知道,在使用的库中或在内存分配器中,在这个东西中达到类似的性能?(写这些东西的实际代码可能会很长,因此,讨论它会很棒)...

谢谢.

c++ java performance

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

从头开始编写Java标准类库替代方案

我只是很好奇,但我想知道是否可以完全删除JVM附带的Java标准类库,并从头开始一个新的[àLlassPath].

如果可能,那么哪些类必须实现最少?(对象和字符串出现在我的脑海中,但是......我不知道).

这样的事情打破了一些许 有没有办法对"java"命令说"不使用rt.jar"?

提前致谢,

埃内斯托

java classpath

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

Cocoa编程的替代语言

我是一名C++,Java开发人员,我希望以比Objective-C"更好"的方式为Mac编程.

我知道Java Swing可以模仿MacOS X UI,但Java Swing程序不是Cocoa的第一公民.另外我知道我可以使用C++中的Qt或Java中的Jambi来使用执行Cocoa调用的Qt工具包,但是,尽管这不是一个坏主意,但它在所有事情中都添加了一个抽象层.

那么,有没有类似"Vala"的GTK +或一些Java绑定或一些东西来做Cocoa编程而不需要所有Objective-C的东西?

[免责声明:"更好"只是我的欣赏,没有在那里拖钓]

objective-c

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

Test :: operator new

我试图实现这个:

namespace Test
{
    void* operator new(size_t s)
    {
        return malloc(s);
    }
}
Run Code Online (Sandbox Code Playgroud)

但是g ++(4.3.1)说:

void* Test::operator new(size_t)’ may not be declared within a namespace
Run Code Online (Sandbox Code Playgroud)

难道我做错了什么?

如果是的话,是否还有重载操作符new以在我的类中使用?我不想创建一个基类,并让我的所有类继承自这样的基类.

c++

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

'char x []'是什么意思?

我有这样的结构:

struct A 
{   
  char x[];
};
Run Code Online (Sandbox Code Playgroud)

这是什么意思?当我做的事情:

A a;
a.x = "hello";
Run Code Online (Sandbox Code Playgroud)

gcc抛出错误说:

error: incompatible types in assignent of 'const char [6]' to 'char [0u]'
Run Code Online (Sandbox Code Playgroud)

c c++

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

标签 统计

c++ ×8

java ×2

c ×1

c++11 ×1

classpath ×1

copy-on-write ×1

g++ ×1

gcc ×1

ide ×1

objective-c ×1

performance ×1

qt4 ×1

sql ×1

stl ×1

wix ×1

wix3 ×1