小编sor*_*h-r的帖子

sjlj vs dwarf vs seh有什么区别?

我找不到足够的信息来决定我应该使用哪个编译器来编译我的项目.模拟一个过程的不同计算机上有几个程序.在Linux上,我正在使用GCC.一切都很棒.我可以优化代码,它可以快速编译并使用不那么多的内存.

我用MSVC和GCC编译器做自己的基准测试.后来一个产生稍快的二进制文件(对于每个子体系结构).虽然编译时间远远超过MSVC.

所以我决定使用MinGW.但是在MinGW中找不到有关异常处理方法及其实现的任何解释.我可以为不同的操作系统和体系结构使用不同的发行版.

注意事项:

  • 编译时间和内存对我的使用并不重要.唯一重要的是运行时优化.我需要我的程序足够快.慢编译器是可以接受的.
  • 操作系统:Microsoft Windows XP/7/8/Linux
  • 架构:英特尔酷睿i7/Core2 /以及运行XP:P的非常老的i686

c++ compiler-construction mingw cpu-architecture mingw-w64

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

如何使用信号/插槽机制获取发件人窗口小部件?

可以将多个信号绑定到一个插槽(不是?).那么,有没有办法了解哪个小部件发送信号?我正在寻找像sender.NET中的事件参数之类的东西

qt4

56
推荐指数
3
解决办法
6万
查看次数

可见光谱的RGB值

我需要一种算法或函数来将可见光谱范围的每个波长映射到其等效的RGB值.RGB系统和灯的波长之间是否存在任何结构关系?喜欢这个图像: 替代文字http://www1.appstate.edu/~kms/classes/psy3203/Color/spectrum5.gif 抱歉,如果这是无关紧要的: - ]

algorithm rgb

40
推荐指数
7
解决办法
4万
查看次数

将协议缓冲区定义拆分为多个.proto文件

我想在另一个协议文件中包含一个协议定义文件.例如:

// base.proto:
message P_EndPoint {
  required int32 id = 1;
  required string host = 2;
  required int32 port = 3;
}
Run Code Online (Sandbox Code Playgroud)

然后在另一个文件中:

communication.proto:
// somehow include `base.proto'
// ...
message P_CommunicationProtocol {
  required CP_MessageType type = 1;
  optional int32 id = 2;
  optional P_EndPoint identity = 3;
  repeated P_EndPoint others = 4;
}
// ...
Run Code Online (Sandbox Code Playgroud)

(注意:我的语言环境中没有developers.google.com)

c++ protocol-buffers

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

找到闭合贝塞尔曲线边界框的算法?

我正在寻找一种算法来找到笛卡尔坐标轴上闭合二次贝塞尔曲线的边界框(最大/最小点):

input: C (a closed bezier curve)
output: A B C D points
Run Code Online (Sandbox Code Playgroud)

图片http://www.imagechicken.com/uploads/1270586513022388700.jpg

注意:上图显示了平滑的曲线.它可能不顺利.(有角)

algorithm bezier

24
推荐指数
5
解决办法
9110
查看次数

如何访问类的静态成员?

我开始学习C++和Qt,但有时我从书中粘贴的最简单的代码会导致错误.

我正在使用g++4.4.2带有QtCreator IDE的Ubuntu 10.04.g ++编译器语法和其他编译器之间有区别吗?例如,当我尝试访问静态成员时总会出错.

#include <iostream>
using namespace std;
class A
{
   public:
      static int x;
      static int getX() {return x;}
};
int main()
{
   int A::x = 100; // error: invalid use of qualified-name 'A::x'
   cout<<A::getX(); // error: : undefined reference to 'A::x'
   return 0;
}
Run Code Online (Sandbox Code Playgroud)

我认为这与此处此处声明的完全相同(不是吗?).那么上面的代码有什么问题?

c++ static

23
推荐指数
4
解决办法
6万
查看次数

让QWidget透明化

我有一个QWidget基于覆盖的小部件,它应该绘制一些文本并在我的应用程序的中央小部件上进行.问题是我无法将叠加小部件的背景设置为透明.我已经尝试过的:

  1. setPalette(Qt::transparent);
  2. setAttribute( Qt::WA_TranslucentBackground, true );
  3. setAttribute( Qt::WA_OpaquePaintEvent, true );
  4. setAutoFillBackground(false);
  5. setStyleSheet("QWidget{background-color: transparent;}");
  6. setAttribute(Qt::WA_NoSystemBackground);

c++ qt qt4

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

在分段三次Bézier路径中插入点的算法

我正在寻找一种算法,在Bézier曲线上插入一个新的控制点,而不会变形.

有没有人知道Bézier算法的库或参考(插入,优化,de Casteljau ...)?

algorithm bezier vector-graphics

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

在C++ 11 lambda表达式中使用超出范围变量

我正在玩C++ 11以获得乐趣.我想知道为什么会这样:

//...
std::vector<P_EndPoint> agents;
P_CommunicationProtocol requestPacket;
//...
bool repeated = std::any_of(agents.begin(), agents.end(),
                    [](P_EndPoint i)->bool 
                    {return requestPacket.identity().id()==i.id();});
Run Code Online (Sandbox Code Playgroud)

编译以此错误终止:

error: 'requestPacket' has not been declared
Run Code Online (Sandbox Code Playgroud)

这是在代码中早先声明的.我试过了::requestPacke,它也没用.

如何在lambda函数中使用外部范围变量?

c++ lambda std capture c++11

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

如何从Bash CGI脚本中的POST数据中获取文件?

我试图使用cURL发布文件,并通过CGI Bash脚本在另一侧接收它并使用相同的名称存储它.上传完成后,diff原始文件和重建文件之间应返回零.

cURL发送数据的方式:

curl --request POST --data-binary "@dummy.dat" 127.0.0.1/cgi-bin/upload-rpm
Run Code Online (Sandbox Code Playgroud)

接收器脚本:

#!/bin/bash

echo "Content-type: text/html"
echo ""

echo '<html>'
echo '<head>'
echo '<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">'
echo '<title>Foo</title>'
echo '</head>'
echo '<body>'

echo "<p>Start</p>"

if [ "$REQUEST_METHOD" = "POST" ]; then
    echo "<p>Post Method</p>"
    if [ "$CONTENT_LENGTH" -gt 0 ]; then
        echo "<p>Size=$CONTENT_LENGTH</p>"
        while read -n 1 byte -t 3; do echo -n -e "$byte" >> ./foo.dat ; done
    fi
fi
echo '</body>'
echo '</html>'

exit 0
Run Code Online (Sandbox Code Playgroud)

但它不起作用.文件不是在服务器端创建的.我怎样才能获得文件名?

bash curl cgi

14
推荐指数
2
解决办法
2691
查看次数