小编Tim*_*Tim的帖子

在Win32中是否有一个C++交叉平台"命名事件,如"CreateEvent()"?

我正在寻找类似于Win32世界中的CreateEvent(),SetEvent()和WaitForMultipleObjects()的东西.

具体而言,这必须可以在同一台机器上的进程之间访问.

我们已经在使用Poco进行一些跨平台的工作,但我没有看到Poco :: Event就是我想要的.也许我错过了什么.

编辑:

解释我想做什么:

我希望进程B知道进程A中何时发生了什么.这在win32中是微不足道的 - 每个进程/线程都调用带有事件名称的CreateEvent().当事情发生时,进程B调用waitForXObject()并且进程A调用SetEvent().B发出信号.

再次,这在win32中是微不足道的,但如何跨平台做到这一点.

c++ events signals cross-platform

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

在CPPUnit中使用测试套件属性的示例是什么?(CPPUNIT_TEST_SUITE_PROPERTY)

我加入了一个CPPUnit用于单元测试的项目,并将添加一些可能共享设置和拆卸代码的测试.在研究这个问题时,我遇到了

CPPUNIT_TEST_SUITE_PROPERTY
Run Code Online (Sandbox Code Playgroud)

(来自https://people.freedesktop.org/~mmohrhard/cppunit/group___writing_test_fixture.html)

它的描述说

将属性添加到测试套件构建器上下文.

http://cppunit.sourceforge.net/doc/cvs/group___writing_test_fixture.html说明如下:

将属性添加到测试套件构建器上下文

我不确定它的预期用途或目的是什么,尽管看起来它可能有助于共享公共信息等.我没有看到它的使用示例.

这有什么价值,是否有一些例子指向我?

c++ unit-testing cppunit

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

是否有Tortoise SVN的FogBugz插件来查询提交时的问题?

当我从TSVN提交时,我希望能够从一个fogbugz问题列表中进行选择 - 而不是记住问题编号.

gurtleTracExplorer类似

请参见本页底部:

http://tortoisesvn.net/docs/release/TortoiseSVN_en/tsvn-dug-bugtracker.html

如果没有,也许我会尝试重新使用其他两个(假设开源和体面的许可)的最佳代码来添加FB.

如果其他人有兴趣参与此工作,请告诉我.

fogbugz tortoisesvn

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

帮助理解为什么在Win7上为我们的应用程序弹出UAC对话框

我们有一个C++非托管应用程序,似乎会导致UAC提示.它似乎发生在Win7而不是Vista上

不幸的是,UAC dlg是系统模态的,所以我不能附加调试器来检查它所在的代码,并且在msdev下运行(我们使用的是2008)在提升模式下运行.

我们在程序/ winmain的开头放了一个消息框,但它甚至没有那么远,所以显然这是在启动代码中.

什么可以如此早地导致UAC通知,以及我可以采取哪些其他措施来追查原因?

编辑

显然,清单在这里是一个重要的问题,但似乎没有帮助我 - 或者我可能没有正确配置清单文件.

有人可以提供样品清单吗?

此外,链接器/ UAC魔术是否会发现程序"可能"写入注册表并基于此设置其UAC要求?有些代码路径可能触发UAC,但是当UAC dlg出现时我们甚至都没有.

另一个奇怪的是,在启用UAC的Vista上似乎没有发生这种情况.

这是一个清单(我认为/是自动生成的):

<?xml version='1.0' encoding='UTF-8' standalone='yes'?>
<assembly xmlns='urn:schemas-microsoft-com:asm.v1' manifestVersion='1.0'>
  <trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
    <security>
      <requestedPrivileges>
        <requestedExecutionLevel level='asInvoker' uiAccess='false' />
      </requestedPrivileges>
    </security>
  </trustInfo>
  <dependency>
    <dependentAssembly>
      <assemblyIdentity type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='*' publicKeyToken='6595b64144ccf1df' language='*' />
    </dependentAssembly>
  </dependency>
  <dependency>
    <dependentAssembly>
      <assemblyIdentity type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='x86' publicKeyToken='6595b64144ccf1df' language='*' />
    </dependentAssembly>
  </dependency>
</assembly>
Run Code Online (Sandbox Code Playgroud)

然后将这个添加到清单列表中以查看它是否有用

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<assemblyIdentity 
    version="1.0.0.0" 
    processorArchitecture="x86" 
    name="[removed for anonymity]" 
    type="win32" 
/> 
<description>
    [removed for anonymity] …
Run Code Online (Sandbox Code Playgroud)

c++ debugging uac windows-7

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

如何在顶级过滤器中获取Win32崩溃的字符串描述(我正在寻找堆栈顶部指令的地址)

如果我使用类似于此处描述的类/方法,如何在堆栈顶部获取调用的描述/地址?

基本上我想要一些我可以在调用我们的bug跟踪系统时使用的值.我想根据导致异常的指令的地址"唯一地"识别.

(它通常是mydll.dll的形式!1234ABDC())

编辑:

一些背景资料:

我正在创建一个minidump,通过电子邮件发送到缺陷跟踪系统(fogbugz).为了减少重复,我试图为崩溃提出一个合理的"签名".我知道FB有一个xml PI,但它需要用户登录,我们还不确定我们是否有能力让人们嗅探我们的流量并获取用户信息.电子邮件现在也很容易实现.稍后我们将使用XML API提交minidump.

c++ winapi minidump exception-handling crash-dumps

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

(de)从CSV序列化到对象(或者最好是类型对象的列表)

(我是一名C++程序员 - 试图学习C# - 而且似乎有一些内置的对象序列化 - 但我在这里有点缺水......)

我被要求将测试数据加载到CSV文件中的对象集合中.(CSV优于xml,因为它对人类来说更简单易读.我们正在创建测试数据来运行单元测试)

该集合将是(简单)对象的列表.

List<MyObject>
Run Code Online (Sandbox Code Playgroud)

MyObject是一个包含一些双精度和一些int的类.

这样做的首选方法是什么?我认为我不需要序列化其中一个对象.

我希望一行代表一个对象,文件中的行集用于制作列表/集合.

c# csv serialization

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

如果您不能命名,互斥锁有什么用?

我很难在没有命名的情况下弄清楚互斥锁的优点.具体来说,我想让我的Windows Mobile 6.5应用程序单实例.

关于如何做到这一点,这个网站上有一些问题和答案 - 最好的问题和答案似乎使用了命名的互斥体.

不幸的是,紧凑框架中的互斥体的CTORS不需要字符串 - 只能创建一个互斥锁.

现在,如果没有关联的ID,互斥量有什么用呢?

我错过了什么吗?

如果我不能命名它们,如何使用互斥锁来保护多个应用程序中的资源?

c# mutex compact-framework windows-mobile-6.5

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

Jenkins无法使用SVN凭据或下载新插件/新版本

任何人都可以建议如何解决这两个问题?

- 无法升级Jenkins和SVN插件

- 无法连接到svn

我在Windows 64位机器上安装Jenkins.它被配置为作为Windows服务运行.

我们在Windows 7 64位操作系统上运行它

詹金斯1.482

我可以从机器上的用户帐户进行SVN更新/结账.

当我尝试在jenkins上设置作业时,我在尝试添加svn凭据时会得到以下内容

FAILED: org.tmatesoft.svn.core.SVNErrorMessage: svn: OPTIONS /svn/client/trunk failed
Run Code Online (Sandbox Code Playgroud)

更多细节是:

FAILED: org.tmatesoft.svn.core.SVNErrorMessage: svn: OPTIONS /svn/client/trunk failed

org.tmatesoft.svn.core.SVNException: svn: OPTIONS /svn/client/trunk failed
    at org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection.request(HTTPConnection.java:298)
    at org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection.request(HTTPConnection.java:283)
    at org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection.request(HTTPConnection.java:271)
    at ...
Run Code Online (Sandbox Code Playgroud)

我停止了服务并从命令行运行Jenkins并尝试了同样的事情 - 结果相同.

我能够使用tortoise客户端和具有相同凭据的firefox连接到svn服务器.

在研究这个问题时,我看到了一些关于类似问题的帖子,而且似乎唯一一个声称要解决它的问题就是回到Jenkins svn插件版本.

然后我尝试为svn安装最新的jenkins和Plugin.下载失败.啊哈,我想 - 显然是防火墙问题.所以我禁用了防火墙.

仍然没有好处.我无法自动下载或获取新的Jenkins或SVN插件.

jenkins

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

如何格式化jenkins构建服务器电子邮件以使内容不在同一行?

我过去曾经使用过哈德森,对此非常满意.它似乎运作良好.

我最近安装了jenkins并设置了可编辑的电子邮件插件.

Jenkins版本:1.513 Email-ext插件版本:2.28

不幸的是,当我尝试添加其他令牌/覆盖默认电子邮件时,它只是将所有令牌附加到同一行.

这令人困惑.我有为html设置的电子邮件.

关于如何格式化这个更好的任何提示?

发送的默认电子邮件(不是可编辑的电子邮件)工作正常,但我想要更多有用的信息.

不幸的是,这封电子邮件的格式使它几乎无用.

这是我的可编辑内容:

$BUILD_TAG

$BUILD_ID

$SVN_REVISION

$CHANGES

$CAUSE

$DEFAULT_CONTENT

$WARNINGS_NEW

$WARNINGS_COUNT
Run Code Online (Sandbox Code Playgroud)

这是收到的电子邮件:

jenkins-DotNet-43 2013-05-13_16-09-40 7481 [kevin] -help layout由SCM更改开始DotNet - Build#43 - 成功:检查控制台输出http:// [buildserver]:8080/job/DotNet/43 /查看结果.[kevin] -help layout由SCM更改[...截断142行...] CopyFilesToOutputDirectory:将文件从"obj\Release\Model.Wpf.dll"复制到"bin\Release\Model.Wpf.dll" .Model.Wpf - > C:\ Jenkins.jenkins\jobs\DotNet\workspace\dotnet\Messenger\Model\Model.Generic\bin\Release\Model.Wpf.dll从"obj\Release\Model.Wpf.pdb"复制文件"to"bin\Release\Model.Wpf.pdb".完成建筑项目"C:\ Jenkins.jenkins\jobs\DotNet\workspace\dotnet\Messenger\Model\Model.Ge

编辑

注意:当我在项目之间输入"<BR>"条目时,它们会被电子邮件中的换行符分隔.不幸的是,虽然在令牌本身(如更改列表)中是NO行分隔符 - 例如,多行提交全部列在一行上.

内容在那里,但很难破译.似乎邮件插件或其他一些相关系统中存在错误.

email continuous-integration jenkins

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

我的MFC套接字代码中的CAsyncSocket断言问题和"不正确的参数"错误背后的原因是什么?

我被要求为朋友查看一些代码.(由于MFC和许多糟糕的代码,我正确地犹豫了,但他赢了......)

这是一个基于对话框的应用程序,它使用了一个CAsyncSocket.

问题表现在一些不间断的debugbreaks和其他类似的事情 - MFC ENSURE()宏也有问题- 检查套接字是否为null.所有问题都发生在MFC的深处.

如果使用Vista/XP中的主题,一些谷歌搜索显示可能的资源泄漏,但我不认为这是问题.

基于我几个小时的调试,代码非常差,但基本上它正在执行以下操作:

(建立连接时没有问题 - 只有在没有连接时才会出现这种情况)

  • 调用Connect(服务器,套接字)(在派生CAsyncSocket对象上)
  • OnConnect()我们被通知连接不起作用/没有连接.
  • 在主对话框/应用程序的窗口计时器内有一个计时器.当调用timer event/handler时,我们检查是否已连接.
  • 如果我们检测到我们没有连接(OnConnect()不好)那么我们打电话CAsyncSocket::Close(),然后打电话CAsyncSocket::Create()(没有参数)然后打电话CAsyncSocket::Connect(server, port)

请注意,初始调用Connect()没有先前的调用Create().

我的第一个真实问题:

  • 这两者有什么区别,为什么Create()需要?(如果我删除它然后它不再崩溃,但我重新建立连接时也不连接)

一般问题:

  • 上面的代码设计究竟出了什么问题?
  • 这应该如何运作?

编辑:

我固定的代码,这样,所有的路径经过呼吁Create()然后Connect().

我仍然遇到断言问题CAsyncSocket::DoCallBack()- 下面代码的最后一行是断言:

void PASCAL CAsyncSocket::DoCallBack(WPARAM wParam, LPARAM lParam)
{
    if (wParam == 0 && lParam == 0)
        return;

    // Has the socket be closed - lookup in dead …
Run Code Online (Sandbox Code Playgroud)

c++ sockets mfc casyncsocket

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