问题列表 - 第16731页

375
推荐指数
5
解决办法
19万
查看次数

在Linux上构建Boost - 库名

我正在尝试构建一个依赖于Boost的应用程序.所以我将Boost 1_41_0下载到我的Linux盒子中,然后按照Boost站点上的Unix变种说明进行操作, http://www.boost.org/doc/libs/1_41_0/more/getting_started/unix-variants.html.

他们基本上建议我运行./bjam install,我做了.构建成功完成.但是,库名称似乎与上面的文档中描述的Boost命名约定不匹配,以及我正在尝试构建的应用程序的makefile中指定的内容.

我注意到我可以为bjam指定一些选项,我尝试使用这些选项,但不管发生了什么,我似乎都无法做到这一点.我的理解是库应该进入$ BOOST_ROOT/lib目录.这是库出现的地方,但命名为:

libboost_thread.a
libboost_thread.so
libboost_thread.so.1.41.0
Run Code Online (Sandbox Code Playgroud)

我希望它们被命名为libboost_thread-gcc41-mt-d-1_41_0或类似的东西.

我试过./bjam --build-type = complete --layout = tagged,我看到:

libboost_thread.a
libboost_thread-mt.a
libboost_thread-mt-d.a
libboost_thread-mt-d.so
libboost_thread-mt-d.so.1.41.0
libboost_thread-mt-s.a
libboost_thread-mt-sd.a
libboost_thread-mt.so
libboost_thread-mt.so.1.41.0
libboost_thread.so
libboost_thread.so.1.41.0
Run Code Online (Sandbox Code Playgroud)

所以,我不确定我是否应该创建舞台我的-L目录?有没有更详细地描述这个的文件?

linux boost building

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

在WPF TreeView中更改上下文菜单以获取数据

有没有办法在一个TreeView's中指定HierarchicalDataTemplate使用不同的ContextMenu取决于项目绑定的数据的属性?

例如,ContextMenu如果Item.IsFile为真则显示一个,如果为真则显示不同的一个Item.IsFolder,等等.

data-binding wpf treeview contextmenu hierarchicaldatatemplate

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

PHP从MySql查询填充数组

我期待创建一个数据数组,以传递给从数据库查询填充的另一个函数,我不知道如何做到这一点.

$dataArray[0][1];

$qry = mysql_query("SELECT Id, name FROM users");

while($res = mysql_fetch_array($qry)) {
    $dataArray[$res['Id']][$res['name']]
}
Run Code Online (Sandbox Code Playgroud)

提前致谢.

php mysql

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

从头开始实现IObservable <T>

Reactive Extensions带有许多辅助方法,用于将现有事件和异步操作转换为可观察对象,但是如何从头开始实现IObservable <T>?

IEnumerable有一个可爱的yield关键字,使其实现起来非常简单.

实现IObservable <T>的正确方法是什么?

我需要担心线程安全吗?

我知道有人支持在特定的同步上下文中回调,但这是否是我作为IObservable <T>作者需要担心或者以某种方式内置的内容?

更新:

这是Brian的F#解决方案的C#版本

using System;
using System.Linq;
using Microsoft.FSharp.Collections;

namespace Jesperll
{
    class Observable<T> : IObservable<T>, IDisposable where T : EventArgs
    {
        private FSharpMap<int, IObserver<T>> subscribers = 
                 FSharpMap<int, IObserver<T>>.Empty;
        private readonly object thisLock = new object();
        private int key;
        private bool isDisposed;

        public void Dispose()
        {
            Dispose(true);
        }

        protected virtual void Dispose(bool disposing)
        {
            if (disposing && !isDisposed)
            {
                OnCompleted();
                isDisposed = true;
            }
        }

        protected void OnNext(T value)
        {
            if (isDisposed) …
Run Code Online (Sandbox Code Playgroud)

c# system.reactive

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

抽象方法覆盖抽象方法

public abstract class A
{
    public abstract void Process();
}

public abstract class B : A
{
    public abstract override void Process();
}

public class C : B
{
    public override void Process()
    {
        Console.WriteLine("abc");
    }
}
Run Code Online (Sandbox Code Playgroud)

此代码抛出编译错误:'B'不实现继承的抽象成员'A.Process()'.

有没有办法做到这一点?

c# overriding abstract

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

以datetime格式显示float的方法

我需要一个c#中的方法,它使我看起来像一个双/浮点数的日期时间.

例如

1.5 - > 01:30 2.8 - > 02:48 25.5 - > 25:30(注意:不要显示为日,显示整个小时甚至超过24)

c# floating-point datetime

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

是否有任何正则表达式引擎可以进行即时编译?

我的问题是

是否有正则表达式引擎在正则表达式模式解析期间进行实时编译,并在匹配/替换文本时使用?或者我在哪里可以学习JIT for i386或x64架构?

为什么我需要它

我最近试图对Python的内置正则表达式引擎进行测试,而普通的C代码与大约10MB的数据相比.

我发现,对于一个简单的替换(例如abzzz)它的比较快的:比C慢仅有2〜3倍

但是因为[a-z]c它花了大约5到8倍的时间.

并与分组(例如([a-z])(c)AA\2\1BB)花了20到40倍尽可能多的时间C.

它不是即时编译,但我认为,如果我可以进行即时编译,它可以加速更多.

PS:我在编译模式期间对每个正则表达式模式使用性能分析,例如,简介1的ab配置文件1,范围的[a-z]c配置文件2 ,带分组的配置文件3 ([a-z])(c),每个配置文件具有单独的代码,因此在匹配和替换简单模式时不需要额外的成本.

更新1

我用psyco尝试过它,它并没有提高速度.可能是因为我正在对大数据进行文本替换,而不是多次循环.

如果我没有错,re.sub那么我认为Python已经在原生运行了,所以pysco无法提高速度.

更新2

我尝试将boost regex包装到python中,但它甚至比Python的正则表达式慢,所以看起来瓶颈在于Python的字符串处理,Jan Goyvaerts也在答案中指出了这一点.

更新

我想将正则表达式转换ab[a-z]c为机器码,如下面的等效C代码(*s指向10MB长文本):

do{
    if(*s=='a' && s[1]=='b' && s[2]>='a' && s[2]<='z' && s[3]=='c') return 1;
}while(*s++);
return 0;
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

c c++ python regex jit

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

在UIWebView中显示网页

我尝试在没有Nib的UIWebView中显示一个简单的网页.问题是,当我点击我的buttun时,会出现一个新的页面空白页面,但没有显示任何内容.我错过了什么?


- (void)loadView {

    UIView *topView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 320, 480)];

    UIWebView *web = [[UIWebView alloc] initWithFrame:CGRectMake(0, 0, 320, 480)];
    self.webView = web;

    NSString *urlAddress = @"http://www.google.com";
    NSURL *url = [[[NSURL alloc] initWithString:urlAddress] autorelease];
    NSURLRequest *requestObj = [NSURLRequest requestWithURL:url];


    [webView loadRequest:requestObj];

    [topView addSubview:self.webView];
    [web release];
}

谢谢,

objective-c uiwebview

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

bash脚本来查看文件夹

我有以下情况:

有一个已安装在Linux机器上的Windows文件夹.在这个Windows挂载中可能有多个文件夹(手动设置).我必须做一些事情(最好是一个开头的脚本)来观看这些文件夹.

以下是步骤:监视任何传入的文件.确保它们完全转移.将其移动到另一个文件夹.我对Windows机器上的文件传输程序没有任何控制权.我相信这是一个安全的FTP.所以我不能要求该过程向我发送预告片文件以确保完成文件传输.

我写了一个bash脚本.我想知道这种方法可能存在的任何陷阱.原因是,有可能为这样的多个目录运行此脚本的多个副本.

目前,可能需要监控多达100个目录.

以下是脚本.我很抱歉在这里贴了很长一段时间.请花点时间仔细阅读并评论/批评它.:-)

它需要3个参数,必须要监视的文件夹,文件必须移动的文件夹,以及时间间隔,这已在下面说明.

对不起,对齐似乎有问题.Markdown似乎不喜欢它.我试图正确组织它,但不能这样做.

Linux servername 2.6.9-42.ELsmp #1 SMP Wed Jul 12 23:27:17 EDT 2006 i686 i686 i386 GNU/Linux

#!/bin/bash
log_this()
{
    message="$1"
    now=`date "+%D-%T"`
    echo $$": "$now ": " $message
}
usage()
{
    cat << EOF
Usage: $0 <Directory to be watched> <Directory to transfer> <time interval>
Time interval is the amount of time after which the modification time of a
file will be monitored. 
EOF
    `exit 1`
}

if [ $# -lt 2 ] …
Run Code Online (Sandbox Code Playgroud)

linux bash

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