我有一个主要的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) 我正在学习autotools,并通过一个hello world场景制作它,现在想尝试将一些cppunit测试包装到一个包中并使用autotools构建它.为了构建软件包,必须在系统上安装cppunit.在构建的./configure部分中检查此问题的最佳方法是什么.
我查看了AC_CHECK_LIB,然后查看了有关使用pkg-config的一些信息.我如何在autotools领域中使用pkg-config来检查构建系统中是否存在cppunit,然后添加include和link行.
任何帮助,将不胜感激.谢谢.
史蒂夫
我有一个设置,其中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) 我在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)
任何帮助,将不胜感激.
我不确定我在这里做错了什么.表单组类应该像表格水平形式一样行,对吗?这是代码.这是梦幻足球的加/减页面.
<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) 在Emacs 23.1中,我打开了一个带有来自svn merge的冲突标记的文件,因此它在SMerge模式下打开它.冲突的文本以亮黄色突出显示.从我能找到的这是什么字体锁颜色设置,是正确的?
我想在SMerge模式下更改高亮颜色.我需要将哪些内容添加到我的.emacs文件中?
我试图在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)
我打开Emacs时默认打开哪个功能模式.我已将以下行添加到我的.emacs文件中.
(setq which-func-mode t)
(setq which-function-mode t)
Run Code Online (Sandbox Code Playgroud)
当我打开.cpp文件并导航到函数体时,我没有像我应该在底部的状态栏中看到函数名.如果我然后运行Mx功能模式,则消息为"禁用了哪个功能模式",因此它看起来像我的.emacs文件中的行,但不是很有效.
我在.emacs文件中设置了错误的内容还是出了别的问题?
乌班图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)