小编Mat*_*ers的帖子

如何在OS X 10.5上更新libc和libstdc ++?

我使用Mac Mini作为构建代理,我需要升级标准库.我在MacPorts上找不到libc或libstdc ++.

macos darwin macports libc libstdc++

9
推荐指数
0
解决办法
1827
查看次数

Boost有容器外观吗?

我正在学习如何使用iterator_facade来隐藏迭代器实现的一些样板.在我当前的用例中,我正在包装另一个容器(实际上来自.NET代码)所以我需要begin(),end(),typedef等.至少我希望结果类型与BOOST_FOREACH一起使用.是否有一个方便的东西来提升简化?

c++ containers boost iterator

8
推荐指数
1
解决办法
563
查看次数

System.Windows.Automation在枚举表行与UIAutomationCore时非常慢

我试图通过UI Automation自动测试我的应用程序(主要TestStack.White用于提供友好的界面;它System.Windows.Automation用作后端).我有一个约200行的表,我需要测试它的值(实际上我只想测试第一行和最后几行).我发现使用COM-interop UIAutomationCore本身,我可以在几分之一秒内枚举行,但只有当我不使用White或System.Windows.Automation.一旦System.Windows.Automation初始化,未来的UI自动化行动枚举行是缓慢的:

First COM run: it took 0.04 seconds to get 102 rows!
First System.Windows.Automation run: it took 7.18 seconds to get 102 rows!
Second COM run: it took 7.87 seconds to get 102 rows!
Run Code Online (Sandbox Code Playgroud)

我创建了一个简单的WinForms测试应用程序(TableTest.exe以验证它是否System.Windows.Automation与我的应用程序无关:

static void Main()
{
    Application.EnableVisualStyles();
    Application.SetCompatibleTextRenderingDefault(false);

    var form = new Form() { Text = "TableTest", WindowState = FormWindowState.Maximized };
    var dgv = new DataGridView() { Name = "DGV", Dock = DockStyle.Fill, …
Run Code Online (Sandbox Code Playgroud)

c# white-framework ui-automation winforms microsoft-ui-automation

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

如何根据程序的计算需求自动将线程添加到池中?

我们有一个C++程序,根据用户配置的方式,可能是CPU绑定或IO绑定.为了与程序配置松散耦合,我希望我的线程池能够在程序受益于更多线程(即CPU绑定)时自动实现.如果它意识到它是I/O限制并减少了工作人员数量会很好,但这只会是一个奖励(即我会对自动增长而没有自动收缩的东西感到满意).

我们使用Boost,所以如果有什么东西可以帮助我们使用它.我意识到任何解决方案可能都是特定于平台的,所以我们主要对Windows和Linux感兴趣,对OS X或任何其他*nix有兴趣.

c++ multithreading threadpool

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

在软件包中使用data.table时,R CMD检查注意:“。”没有可见的全局函数定义。

我尝试了(通过roxygen2)@import data.table并仅导入了我使用的函数(@importFrom data.table data.table rbindlist setkey setDT := .SD。两种方式都会收到有关.“函数”的警告,我认为是由于这种用法: dt[x, .(a, b, c)]。我找不到任何.不会导致导入的方法一个错误。

而作为一个后续问题,有没有隐藏的一个推荐的方式no visible binding for global variable进行abc?关于后一个NOTE还有很多其他问题,但我还没有一个令人满意的答案。globalVariable并将列名设置为函数中其他位置的占位符值是很丑陋的。我应该切换到其他指定列的方法来解决这两个问题吗?

r data.table

7
推荐指数
2
解决办法
600
查看次数

我可以在整数上使用coalesce运算符来链接CompareTo吗?

我想做这样的事情:

public override int CompareTo (Foo rhs)
{
    return Bar.CompareTo(rhs.Bar) ??
           Baz.CompareTo(rhs.Baz) ??
           Fuz.CompareTo(rhs.Fuz) ?? 0;
}
Run Code Online (Sandbox Code Playgroud)

这不起作用; 是否有一些最小的解决方法使它工作?基本上我希望0链到非零(或链的末尾).

c# coalesce

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

迭代连通分量算法

我有一个二分图,我正在寻找最有效的迭代方法将其划分为连接组件.我的递归版本已经开始在大型数据集上溢出堆栈.我愿意从任何语言/伪代码移植,但为了完整性,我将使用C#进行编码.

我现有的代码专门用于我的数据类型.一个分区是蛋白质,另一个是光谱.Map和Set是C++ stdlib workalikes.

void recursivelyAssignProteinToCluster (long proteinId,
                                        long clusterId,
                                        Set<long> spectrumSet,
                                        Map<long, Set<long>> spectrumSetByProteinId,
                                        Map<long, Set<long>> proteinSetBySpectrumId,
                                        Map<long, long> clusterByProteinId)
{
    // try to assign the protein to the current cluster
    var insertResult = clusterByProteinId.Insert(proteinId, clusterId);
    if (!insertResult.WasInserted)
        return;

    // recursively add all "cousin" proteins to the current cluster
    foreach (long spectrumId in spectrumSet)
        foreach (var cousinProteinId in proteinSetBySpectrumId[spectrumId])
        {
            if (proteinId != cousinProteinId)
            {
                Set<long> cousinSpectrumSet = spectrumSetByProteinId[cousinProteinId];
                recursivelyAssignProteinToCluster(cousinProteinId,
                                                  clusterId,
                                                  cousinSpectrumSet,
                                                  spectrumSetByProteinId,
                                                  proteinSetBySpectrumId,
                                                  clusterByProteinId);
            }
        }
}

Map<long, …
Run Code Online (Sandbox Code Playgroud)

c# iteration recursion graph-theory

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

将粘贴应用于矢量列表以获取字符串列表

这看起来很简单,但无论我使用哪种*应用功能,正确的答案都不包括在内.我没有尝试任何其他包,因为它似乎*申请应该绝对能够做到这一点.

我的数据:

data = list(foo=c("first", "m", "last"), bar=c("first", "m", "last"))
Run Code Online (Sandbox Code Playgroud)

我认为应该有效:

lapply(data, FUN=paste)
Run Code Online (Sandbox Code Playgroud)

但它给了我:

$foo
[1] "first" "m"     "last" 

$bar
[1] "first" "m"     "last" 
Run Code Online (Sandbox Code Playgroud)

我想要:

$foo
[1] "first m last"
$bar
[1] "first m last"
Run Code Online (Sandbox Code Playgroud)

当然,我已经尝试了很多其他的东西:

> paste(data)
[1] "c(\"first\", \"m\", \"last\")" "c(\"first\", \"m\", \"last\")"
> paste(data, collapse = "")
[1] "c(\"first\", \"m\", \"last\")c(\"first\", \"m\", \"last\")"
> paste(data, sep = "")
[1] "c(\"first\", \"m\", \"last\")" "c(\"first\", \"m\", \"last\")"
> paste(data, collapse = "", sep="")
[1] "c(\"first\", \"m\", \"last\")c(\"first\", \"m\", \"last\")" …
Run Code Online (Sandbox Code Playgroud)

r

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

为什么Darwin的strtod线程不安全?

以下测试总是在我的Intel Mac Mini上为我生成故障或总线错误.

编译:

uname -a:
Darwin vogon13 9.8.0 Darwin Kernel Version 9.8.0: Wed Jul 15 16:55:01 PDT 2009; root:xnu-1228.15.4~1/RELEASE_I386 i386

g++ -v:
Target: i686-apple-darwin9
Configured with: /var/tmp/gcc/gcc-5493~1/src/configure
--disable-checking -enable-werror --prefix=/usr --mandir=/share/man
--enable-languages=c,objc,c++,obj-c++
--program-transform-name=/^[cg][^.-]*$/s/$/-4.0/
--with-gxx-include-dir=/include/c++/4.0.0 --with-slibdir=/usr/lib
--build=i686-apple-darwin9 --with-arch=apple --with-tune=generic
--host=i686-apple-darwin9 --target=i686-apple-darwin9
Thread model: posix
gcc version 4.0.1 (Apple Inc. build 5493)
Run Code Online (Sandbox Code Playgroud)

编译命令:

"g++"  -ftemplate-depth-128 -O3 -finline-functions -Wno-inline -Wall
-pedantic -g -no-cpp-precomp -gdwarf-2 -Wno-long-double -Wno-long-long -fPIC
-DBOOST_DATE_TIME_NO_LIB=1 -DBOOST_THREAD_NO_LIB=1 -DBOOST_THREAD_USE_LIB=1
-DDATE_TIME_INLINE -DNDEBUG  -I"." -c -o "strtod_test.o" "strtod_test.cpp"

"g++"  -o "strtod_test" "strtod_test.o"
"libboost_thread-xgcc40-mt-s.a" …
Run Code Online (Sandbox Code Playgroud)

c++ macos darwin thread-safety strtod

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

我是否可以通过编程方式恢复已暂停分析的Visual Studio Profiler?

我有一个简单的案例,我只想延迟分析的开始,直到我的自动化测试用例的某个部分.我想避免用户互动.我一直在VS2013 Pro的"Performance Explorer"中启动它.我有会话运行vstest.console.exe(没有检测),然后执行我的Test.dll中的测试(带有检测).当我在没有分析暂停的情况下启动它时,它运行得非常好.但尝试从Test.dll恢复探查器似乎不起作用.我在我的Test.dll中引用了Microsoft.VisualStudio.Profiler,然后调用: DataCollection.ResumeProfile(ProfileLevel.Global, DataCollection.CurrentId); 在我想要恢复分析的位置.它不起作用.有没有办法做到这一点?

profiling automated-tests visual-studio-2013

5
推荐指数
0
解决办法
191
查看次数