小编joc*_*oce的帖子

visual studio 2008 C++没有x64平台

我在Windows 7 x64笔记本电脑上安装了Visual Studio 2008并安装了Service Pack 1.

现在我想将x64平台添加到我的C++解决方案中.但是我的项目的配置管理器中没有可用的x64平台.我确定在Visual Studio安装过程中手动选择了x64支持并且已安装.

我的设置有什么问题?

c++ 64-bit visual-studio-2008 visual-studio windows-7-x64

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

带有线程的矢量和没有加速

我有一个C++程序,基本上执行一些矩阵计算.对于这些我使用LAPACK/BLAS并且通常根据平台链接到MKL或ACML.很多这些矩阵计算都在不同的独立矩阵上运行,因此我使用std :: thread来让这些操作并行运行.但是,我注意到在使用更多线程时我没有加速.我将问题追溯到daxpy Blas例程.似乎如果两个线程并行使用此例程,则每个线程花费两倍的时间,即使两个线程在不同的阵列上运行.

我尝试的下一件事是编写一个新的简单方法来执行向量添加以替换daxpy例程.使用一个线程,这个新方法与BLAS例程一样快,但是,当使用gcc进行编译时,它会遇到与BLAS例程相同的问题:并行运行的线程数加倍也会使每个线程需要的时间加倍,所以没有加速.但是,使用英特尔C++编译器时,这个问题就会消失:随着线程数量的增加,单个线程需要的时间是不变的.

但是,我需要在没有英特尔编译器的系统上进行编译.所以我的问题是:为什么gcc没有加速,是否有提高gcc性能的可能性?

我写了一个小程序来演示效果:

// $(CC) -std=c++11 -O2 threadmatrixsum.cpp -o threadmatrixsum -pthread

#include <iostream>
#include <thread>
#include <vector>

#include "boost/date_time/posix_time/posix_time.hpp"
#include "boost/timer.hpp"

void simplesum(double* a, double* b, std::size_t dim);

int main() {

    for (std::size_t num_threads {1}; num_threads <= 4; num_threads++) {
        const std::size_t N { 936 };

        std::vector <std::size_t> times(num_threads, 0);    

        auto threadfunction = [&](std::size_t tid)
        {
            const std::size_t dim { N * N };
            double* pA = new double[dim];
            double* pB = new double[dim];

            for (std::size_t …
Run Code Online (Sandbox Code Playgroud)

c++ multithreading gcc blas c++11

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

使用git-p4获取整个文件历史记录

正如我在前一个问题中提到的,我正在考虑将源代码控制从Perforce迁移到git.
环顾四周,我发现的git-P4(你要挖多一点,因为它不是即使在该链接指向存储库,实际的git-P4脚本很难找到).

我现在正在运行这个脚本,它在新的git存储库中导入了当前版本的文件,但无论我做什么,我都无法获得历史记录.

这是我使用的当前命令行:

P4CLIENT=my-p4-clientspec git-p4 clone --max-changes=1000 --use-client-spec //p4/path/to/be/imported/...

所以,真正的问题是:如果有人设法导入P4仓库,包括历史记录,我想知道你是怎么做到的.

migration git perforce git-p4

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

如何从通用列表中删除项目

我有一个通用列表

如何删除项目?

EX:

Class Student
{
    private number;
    public Number
    {
        get( return number;)
        set( number = value;)
    }

    private name;
    public Name
    {
        get( return name;)
        set( name = value;)
    }

    main()
    {
        static List<student> = new list<student>();

        list.remove...???
    }
}
Run Code Online (Sandbox Code Playgroud)

c# generics list

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

是否可以找到分配给指针的内存,而无需搜索malloc语句

假设我已经为函数中的某个指针分配了内存foo:

void foo()
{    
    // ...  
    int *ptr = malloc(20*sizeof(int));  

    bar (ptr);
}  
Run Code Online (Sandbox Code Playgroud)

foo(),我将这个指针传递给另一个函数bar(),让我们说bar().

现在,在某个时间点,我想检查:指针分配了多少内存.

有没有可能的方法,没有搜索声明:

int *ptr = malloc(20*sizeof(int)); 
Run Code Online (Sandbox Code Playgroud)

使用GDB计算出为指针分配了多少内存?

谢谢.

c gdb

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

如何将TypeCode转换为实际类型?

在下面的代码中,我得到colType了该类型的代码.但是,我如何将该数字转换为实际类型?谢谢!!

for (int j = 0; j < dvColumns.Count; j++)
{
    // Get the name of the column.
    drvCols = dvColumns[j];
    colName = drvCols.Row.ItemArray[3].ToString();

    // Get columns data type code and save it off.
    colType = Convert.ToInt32(drvCols.Row.ItemArray[11]);
}
Run Code Online (Sandbox Code Playgroud)

c# types

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

构建动态表达式树以过滤集合属性

我正在尝试构建一个lambda表达式,该表达式将与其他表达式组合成一个相当大的表达式树以进行过滤.这工作正常,直到我需要通过子集合属性进行过滤.

如何构建一个Lambda表达式,它将在集合的属性上使用Any()进行过滤,该集合属性是根对象的属性?

例:

CurrentDataSource.Offices.Where(o => o.base_Trades.Any(t => t.Name == "test"))
Run Code Online (Sandbox Code Playgroud)

这是我如何静态构建表达式,但我需要动态构建它.对困惑感到抱歉.

编辑:这是我如何处理不太复杂的表达式的片段:

IQueryable<Office> officeQuery = CurrentDataSource.Offices.AsQueryable<Office>();
ParameterExpression pe = Expression.Parameter(typeof(Office), "Office");
ParameterExpression tpe = Expression.Parameter(typeof(Trades), "Trades");

Expression SimpleWhere = null;
Expression ComplexWhere = null;
foreach (ServerSideFilterObject fo in ssfo)
{
    SimpleWhere = null;
    foreach (String value in fo.FilterValues)
    {
        if (!CollectionProperties.Contains(fo.PropertyName))
        {
            //Handle singleton lambda logic here.
            Expression left = Expression.Property(pe, typeof(Office).GetProperty(fo.PropertyName));
            Expression right = Expression.Constant(value);
            if (SimpleWhere == null)
            {
                SimpleWhere = Expression.Equal(left, right);
            }
            else
            {
                Expression e1 …
Run Code Online (Sandbox Code Playgroud)

c# wcf lambda entity-framework filtering

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

错误:从初始化列表分配给数组

我有一个班级,如:

class dialog
{
    public:
    double dReturnType[][5][3];
};
Run Code Online (Sandbox Code Playgroud)

 

#include <cstdlib>
#include <iostream>
include <string>

using namespace std;
#include "dialog.h";

int main(int argc, char *argv[])
{
    dialog People;
    People.dReturnType[0][1] = {1.2,2.3,6.6};
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

它返回:

[警告]扩展初始化程序列表仅适用于-std = c ++ 11或-std = gnu11 [默认启用] [错误]:从初始化程序列表分配数组

我在网上看了一下,真的找不到解决这个问题的方法.我不希望在类文件中编辑类(有点打败目的).有帮助吗?

注意:该类位于单独的项目文件中

c++ arrays assign

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

如何将Araxis设置为MSYS git的差异/合并工具?

我正在尝试使用Araxis Merge作为MSYSGit的差异/合并工具.

我在网上找到了一些资源:

  • Araxis网站上,他们提到了一种"简单"的方式,但它暗示了一个不属于我的发行版的可执行文件(araxisgitdiff.exe和araxisgitmerge.exe).
  • 我也在gitguru中找到了一些信息,但实际的信息是:Araxis充其量只是稀疏,我无法做出任何改变.
  • 最后,有一些旧的stackoverflow帖子的信息,但建议的方法不适合我.这个特定的信息面向OS X.我尽可能地"翻译"到Windows,但没有成功:

我建立 /bin/git-diff-driver.sh

#!/bin/sh

"/c/Program Files/Araxis/Araxis Merge/compare.exe" -title1:"$1 (repo version)" -title2:"$1 " -max "$2" "$5"
Run Code Online (Sandbox Code Playgroud)

并编辑 gitconfig

[merge]
    tool = araxismerge
[mergetool "araxismerge"]
    cmd = "/c/Program Files/Araxis/Araxis Merge/compare.exe" -3 -merge -wait $LOCAL $BASE $REMOTE $MERGED
[diff]
    external = "/bin/git-diff-driver.sh"
Run Code Online (Sandbox Code Playgroud)

我得到的唯一结果是:

$ git diff HEAD ^ HEAD
外部差异死亡,停在PowerEditor/src/Notepad_plus.cpp.


编辑:

我也尝试过使用"c:/Program Files/Araxis/Araxis Merge/compare.exe"其中一个答案所建议的exe ,并得到相同的结果.


编辑:

我发现如果你使用TortoiseGit它可以轻松设置,但它似乎自己处理diff并且没有来自TortoiseGit的设置给出任何关于如何在从命令行调用diff时将Araxis设置为合并工具的指示.


编辑:

所以,问题是:是否有人成功使用Araxis Merge来区分和合并MSYSGit,如果是这样,你怎么样?

windows git diff msysgit araxis

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

Python 3中的FastCGI WSGI库?

对于Python 3,是否存在可以作为FastCGI服务器为WSGI应用程序提供服务的库?(那么nginx可以代理请求吗?)

Python 3文档提到了flup,但是flup甚至没有安装在Python 3中:

% env3/bin/pip install flup
Downloading/unpacking flup
  Downloading flup-1.0.2.tar.gz (49kB): 49kB downloaded
  Running setup.py (path:/Users/me/tmp/env3/build/flup/setup.py) egg_info for package flup
    Traceback (most recent call last):
      File "", line 17, in 
      File "/Users/me/tmp/env3/build/flup/setup.py", line 2, in 
        from ez_setup import use_setuptools
      File "./ez_setup.py", line 98
        except pkg_resources.VersionConflict, e:
                                            ^
    SyntaxError: invalid syntax
    Complete output from command python setup.py egg_info:
    Traceback (most recent call last):

  File "", line 17, in 

  File "/Users/me/tmp/env3/build/flup/setup.py", line 2, in 

    from ez_setup …

python wsgi fastcgi python-3.x

14
推荐指数
3
解决办法
7748
查看次数