小编Rob*_*Rob的帖子

颠覆自动道具的困境

这让我很疯狂,所以欢迎来自其他用户的任何建议.我正在使用Subversion,并在Windows服务器上安装了VisualSVN 1.6.1的副本.在我的电脑上,我使用了TortoiseSVN和精彩的AnkhSVN Visual Studio插件的组合.一切都像梦一样,但现在我正在尝试使用该svn:keywords功能,所以我可以包含$Id$在我的所有源文件的顶部.现在,对于现有文件,我可以编辑SVN属性并添加此关键字,一切正常,但我希望自动完成新文件 - 我无法使其工作.

根据文档,您需要编辑位于C:\Documents and Settings\<user>\Application Data\Subversion文件夹中的特殊Subversion配置文件.我的电脑已经有了这个文件的副本,所以我把它改成了这样:

[miscellany]
enable-auto-props = yes

[auto-props]
*.cpp = svn:eol-style=native;svn:keywords=Author Date Id HeadURL Revision
*.hpp = svn:eol-style=native;svn:keywords=Author Date Id HeadURL Revision
*.rc = svn:eol-style=native;svn:keywords=Author Date Id HeadURL Revision
*.rc2 = svn:eol-style=native;svn:keywords=Author Date Id HeadURL Revision
*.cc = svn:eol-style=native;svn:keywords=Author Date Id HeadURL Revision
*.c = svn:eol-style=native;svn:keywords=Author Date Id HeadURL Revision
*.h = svn:eol-style=native;svn:keywords=Author Date Id HeadURL Revision
*.wsf = svn:eol-style=native;svn:keywords=Author Date Id HeadURL Revision
*.js = svn:eol-style=native;svn:keywords=Author …
Run Code Online (Sandbox Code Playgroud)

svn windows tortoisesvn visualsvn ankhsvn

5
推荐指数
2
解决办法
7481
查看次数

Windows中的虚拟COM端口 - 传真模拟器

我有一个Windows应用程序,它利用第三方工具(FaxMan)通过连接到PC的COM端口发送传真.为了对我的应用程序进行压力测试,我想创建一些假装附加传真调制解调器的虚拟COM端口.然后我想"欺骗"发送传真,而不是实际发送任何东西.虚拟COM端口需要响应标准AT命令,就像发送传真一样.欺骗失败的能力将是一个额外的好处.

我的第一个想法是使用虚拟COM端口驱动程序重定向到telnet或其他TCP会话 - 然后我可以有一个假装通过传真动作的TCP服务器.但是,我很乐意为一个组件付费.

windows fax

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

需要在C++中使用Qt 4.7创建http webserver

我需要创建一个http网络服务器,使用Qt 4.7响应http客户端
我已经通过API并找到了几个服务器,但是如何使用API​​创建一个http服务器
任何提示和指导请....我是完全是新的

Qt 4.7中的.pro也是如此,它与Visual Studio中的相同

c++ webserver http qt4

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

在Visual Studio中定义宏 - /D或#define?

最近,当将一些STL代码移植到VS2008时,我想std::copy通过定义新_SCL_SECURE_NO_WARNINGS标志来禁用生成的警告.您可以通过两种方式执行此操作:

  • 使用/ D编译器开关,可以在项目属性中指定.您需要确保为Release和Debug构建定义它,我经常忘记这样做.
  • 通过在包含相关STL标头之前定义宏样式,或者在stdafx.h中定义总体覆盖:

    #define _SCL_SECURE_NO_WARNINGS

这两种方法都运行良好但我想知道是否有任何争论支持一方而不是另一方?

c++ visual-studio

4
推荐指数
2
解决办法
9581
查看次数

何时初始化匿名命名空间数据?

我一直在使用匿名命名空间来存储本地数据和函数,并想知道数据何时被初始化?是应用程序以与静态数据相同的方式启动还是依赖于编译器?例如:

// foo.cpp
#include "foo.h"

namespace {

const int SOME_VALUE = 42;

}

void foo::SomeFunc(int n)
{
    if (n == SOME_VALUE)
    {
        ...
    }
}
Run Code Online (Sandbox Code Playgroud)

问题产生于使一些代码线程安全.在上面的例子中,我需要确定SOME_VALUE在第一次调用SomeFunc之前初始化.

c++ namespaces

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

在函数声明中缺少'virtual'限定符

在浏览一些旧代码时,我遇到了类似于以下内容的内容:

class Base
{
public:
    virtual int Func();
    ...
};

class Derived : public Base
{
public:
    int Func(); // Missing 'virtual' qualifier
    ...
};
Run Code Online (Sandbox Code Playgroud)

代码编译良好(MS VS2008)没有警告(级别4)并且它按预期工作 - Func即使虚拟限定符在派生类中缺失也是虚拟的.现在,除了造成一些混淆之外,这段代码是否有任何危险,或者我应该更改所有内容,添加virtual限定符?

c++ virtual inheritance

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

清空C++对象

我经常Empty向C++对象添加一个方法,以使用类似于以下的代码清除内部状态.

class Foo
{
private:
    int n_;
    std::string str_;
public:
    Foo() : n_(1234), str_("Hello, world!")
    {
    }

    void Empty()
    {
        *this = Foo();
    }
};
Run Code Online (Sandbox Code Playgroud)

这似乎比在构造函数中复制代码更好,但我想知道*this = Foo()在想要清除对象时是否是一种常见的方法?这有什么问题等着咬我的背面?有没有其他更好的方法来实现这种事情?

c++ construction

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

正确使用BOOST_FOREACH?

使用时BOOST_FOREACH,以下代码是否安全?

BOOST_FOREACH (const std::string& str, getStrings())
{
  ...
}

...

std::vector<std::string> getStrings()
{
  std::vector<std::string> strings;
  strings.push_back("Foo");
  ...
  return strings;
} 
Run Code Online (Sandbox Code Playgroud)

或者我应该打电话之前抓住容器的副本BOOST_FOREACH,例如:

const std::vector<std::string> strings = getString();
BOOST_FOREACH (const std::string& str, strings)
{
  ...
}
Run Code Online (Sandbox Code Playgroud)

在第一个例子中是否存在BOOST_FOREACH可能最终getStrings()多次呼叫的危险?

c++ foreach boost

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

在两个单独的Mercurial存储库之间进行更改

我有两个版本的产品,并为每个版本使用单独的Hg存储库.我已经对一个(v1.0)进行了更改,我想将该更改提取到v2.0存储库中.我该怎么做?据我所知,使用hg pull -f -r xxxxx \\server\hg\v1.0将把所有更改拉到指定的修订版本,这不是我想要的.

这是可能的还是我必须手动添加修复程序?

mercurial

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

屏幕分辨率更改通知消息?

我有一个运行的WTL应用程序,想知道屏幕分辨率何时发生变化.最可能的候选人似乎是SPI_SETWORKAREA通过WM_SETTINGCHANGE邮件发送的,但我想知道这是否是正确的消息.这必须适用于XP和Windows 7.

c++ windows

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