小编Ste*_*rke的帖子

了解MsgWaitForMultipleObjects

我有一个主要的gui线程,我希望保持对用户操作的响应,例如移动对话框,调整大小等,同时我有一个后台线程执行某项任务.在过去,我使用WaitForSingleObject超时,以便在等待后台线程完成时处理gui事件.我最近读到了MsgWaitForMultipleObjects,它看起来解决了我有点清洁的问题.

有人能告诉我以下代码中的错误以及我在哪里出错吗?当我单击按钮启动线程时,gui没有响应.我用一个在主ui线程上播放的avi创建了一个对话框应用程序.我有一个按钮来启动一个线程并使用MsgWaitForMultipleObjects等待线程句柄,但允许处理所有消息,最终在线程完成/发出信号时断开.

谢谢.

UINT MyThreadProc( LPVOID pParam )
{
    ThreadData* pObject = (ThreadData*)pParam;

    if (pObject == NULL ||
        !pObject->IsKindOf(RUNTIME_CLASS(ThreadData)))
    return 1;   

    // Do some processing.
    int x = 0; 
    while (x++ < 5000)
    {
        for (int i=0; i<50000; i++)
            double sum = sqrt((double)i+1) * sqrt((double)i+2); 
    }

    return 0;
}
Run Code Online (Sandbox Code Playgroud)

按钮处理程序

void Cmsgwait_demoDlg::OnBnClickedBtnStartThread()
{
    m_pThreadData = new ThreadData;
    CWinThread* pWorkThread = AfxBeginThread(MyThreadProc, m_pThreadData);

    m_status.SetWindowText("Status: Waiting for thread to complete."); 

    HANDLE handles[] = { pWorkThread->m_hThread }; 
    DWORD ret = 0; 

    do 
    { …
Run Code Online (Sandbox Code Playgroud)

windows multithreading

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

将pkg-config与autotools一起使用

我正在学习autotools,并通过一个hello world场景制作它,现在想尝试将一些cppunit测试包装到一个包中并使用autotools构建它.为了构建软件包,必须在系统上安装cppunit.在构建的./configure部分中检查此问题的最佳方法是什么.

我查看了AC_CHECK_LIB,然后查看了有关使用pkg-config的一些信息.我如何在autotools领域中使用pkg-config来检查构建系统中是否存在cppunit,然后添加include和link行.

任何帮助,将不胜感激.谢谢.

史蒂夫

automake makefile autotools

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

在子目录中失败使得不停止构建

我有一个设置,其中make通过一堆子目录并在这些目录中进行.我希望它立即停止构建失败.下面的代码片段说明了这一点.有人能指出我应该如何设置makefile的正确方向,或者有关从顶层到子目录构建的文档?

SUBDIRS = \
test1 \
test2 

all clean check :
    @for dir in $(SUBDIRS); do \
        if [ -d $$dir ]; then (cd $$dir; $(MAKE) $@) fi \
    done
Run Code Online (Sandbox Code Playgroud)

makefile gnu-make multiple-makefiles

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

尝试在Emacs中捕获块缩进

我在emacs中使用bsd缩进样式,我想稍微修改一下.我的.emacs文件的相关部分如下.当我用try catch块编写函数时,大括号会缩进.我希望他们不要像函数那样缩进.

它现在在做什么.

try 
    {
    }
catch 
    {
    }
Run Code Online (Sandbox Code Playgroud)

我想要它做什么.

try 
{
}
catch 
{
}
Run Code Online (Sandbox Code Playgroud)

.emacs文件

(defun my-c-mode-common-hook ()
  ;; my customizations for all of c-mode and related modes
  ;; other customizations can go here
  (setq c-default-style "bsd")
  (setq c-basic-offset 4)
  (setq indent-tabs-mode nil)
  )

(add-hook 'c-mode-common-hook 'my-c-mode-common-hook)
Run Code Online (Sandbox Code Playgroud)

任何帮助,将不胜感激.

emacs dot-emacs

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

bootstrap form-group行无法正常工作

我不确定我在这里做错了什么.表单组类应该像表格水平形式一样行,对吗?这是代码.这是梦幻足球的加/减页面.

<h2>Add/Drop Player</h2>
<div class="container">
  <%= form_tag(slot_do_add_drop_path(@slot), method: 'post', :html => {:class => 'form-horizontal', :role => 'form'}) do %>

    <div class="form-group">
      <div class="col-sm-2">Player to Drop</div>
    </div>
    <div class="form-group">
      <div class="col-sm-2"><%= @slot.player.display_name %> - <%= @slot.player.position %></div>
    </div>

    <div class="form-group">
      <div class="col-sm-2">Add Player</div>
    </div>
    <%= render partial: "free_agent_select", locals: {free_agents: @free_agents_qbs, p_id: 'qb_id', prompt: 'Select QB'}%>
    <%= render partial: "free_agent_select", locals: {free_agents: @free_agents_wrs, p_id: 'wr_id', prompt: 'Select WR'}%>
    <%= render partial: "free_agent_select", locals: {free_agents: @free_agents_rbs, p_id: 'rb_id', prompt: 'Select RB'}%>
    <%= …
Run Code Online (Sandbox Code Playgroud)

css forms twitter-bootstrap-3

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

在SMerge模式下更改字体锁定颜色

在Emacs 23.1中,我打开了一个带有来自svn merge的冲突标记的文件,因此它在SMerge模式下打开它.冲突的文本以亮黄色突出显示.从我能找到的这是什么字体锁颜色设置,是正确的?

我想在SMerge模式下更改高亮颜色.我需要将哪些内容添加到我的.emacs文件中?

emacs elisp dot-emacs

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

bootstrap list-group-item是一行,超出了面板边框

我试图在list-group-item中有一个网格.它正在工作,但我的list-group-item正在向左和向右延伸超过面板边框.任何人都可以告诉我为什么它越过边界?

这是jsfiddle.

<link href="http://getbootstrap.com/dist/css/bootstrap.css" rel="stylesheet"/>
<div class="container">
    
    <div class="panel panel-default">
      <div class="panel-heading h4">Leagues</div>
    
      <ul class="list-group">
        <li class="row list-group-item">
          <a class="col-sm-2" ng-href="#">Name</a> 
          <a class="col-sm-2" ng-href="#">Tweak Roster</a>
          <a class="col-sm-2" ng-href="#">This Week's Matchup</a>
        </li>
        <li class="row list-group-item">
          <a class="col-md-3" ng-href="#">Name</a> 
          <a class="col-md-3" ng-href="#">Tweak Roster</a>
          <a class="col-md-3" ng-href="#">This Week's Matchup</a>
        </li>
      </ul>
    </div>
    </div>
Run Code Online (Sandbox Code Playgroud)

css twitter-bootstrap twitter-bootstrap-3

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

Emacs设置哪个功能模式

我打开Emacs时默认打开哪个功能模式.我已将以下行添加到我的.emacs文件中.

(setq which-func-mode t) 
(setq which-function-mode t) 
Run Code Online (Sandbox Code Playgroud)

当我打开.cpp文件并导航到函数体时,我没有像我应该在底部的状态栏中看到函数名.如果我然后运行Mx功能模式,则消息为"禁用了哪个功能模式",因此它看起来像我的.emacs文件中的行,但不是很有效.

我在.emacs文件中设置了错误的内容还是出了别的问题?

emacs elisp dot-emacs

3
推荐指数
2
解决办法
1761
查看次数

android p 构建失败 - apache-xml_intermediates -hiddenapi

乌班图18.04

安卓P

仓库初始化 -u https://android.googlesource.com/platform/manifest -b android-9.0.0_r60

知道这是怎么回事吗?我猜测这是 Java 环境中的差异,因为 hideapi 二进制文件似乎失败了,但构建似乎正在拾取源树中捆绑的 java,因此它应该可以工作。我在此构建之前删除了所有 java 包。我需要安装一些吗?我在某个时候能够取得成功,但无法在干净的机器上恢复它。提前致谢。

Parsing out/target/product/arm64/obj/ETC/sepolicy_neverallows_intermediates/plat_pub_policy.cil
Parsing out/target/product/arm64/obj/ETC/vendor_sepolicy.cil_intermediates/vendor_policy_raw.cil
[ 83% 63419/76082] Target cache fs image: out/target/product/arm64/cache.img
WARNING: out/target/product/arm64/cache.img approaching size limit (69206016 now; limit 69206016)
[ 85% 64672/75715] build out/target/common/obj/JAVA_LIBRARIES/apache-xml_intermediates/dex-hiddenapi/classes.dex
FAILED: out/target/common/obj/JAVA_LIBRARIES/apache-xml_intermediates/dex-hiddenapi/classes.dex 
/bin/bash -c "(rm -rf out/target/common/obj/JAVA_LIBRARIES/apache-xml_intermediates/dex-hiddenapi/ ) && (mkdir -p out/target/common/obj/JAVA_LIBRARIES/apache-xml_intermediates/dex-hiddenapi/ ) && (find out/target/common/obj/JAVA_LIBRARIES/apache-xml_intermediates/dex/ -maxdepth 1 -name \"classes*.dex\" | sort | xargs -I{} cp -f {} out/target/common/obj/JAVA_LIBRARIES/apache-xml_intermediates/dex-hiddenapi/ ) && (find out/target/common/obj/JAVA_LIBRARIES/apache-xml_intermediates/dex-hiddenapi/ -name \"classes*.dex\" | sort | sed …
Run Code Online (Sandbox Code Playgroud)

java android android-source android-9.0-pie

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