小编Mat*_*ias的帖子

是否可以将Visual C++ v120编译器工具集添加到Visual Studio 2015?

我有一个使用GSL库的程序,它在Visual Studio 2013中运行良好.现在我设置了一个新的Windows版本并安装了Visual Studio 2015 RC社区.

之后我再也无法编译代码了.将代码转换为新工具集后,我得到了一些错误,即无法找到库的某些外部符号.我认为这与事实有关,即使用Visual C++ v120构建库.

那么将这个编译器版本添加到Studio是否有可能?并且在安装的新版本旁边没有问题.我不想安装旧版本的VS,因为可能会出现一些版本并行安装的麻烦.

visual-c++ visual-studio-2015

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

防止将未更改的组件呈现到虚拟DOM中

我在typescript中编写了一个简单的树视图,使用react来呈现DOM.

每个节点都必须遵循简单的界面.

interface INode {
    label: string;
    children: INode[];
}
Run Code Online (Sandbox Code Playgroud)

然后通过以下方式描述树:

var tree = {
    label: "root",
    children: [
        {
            label: "node 1",
            children: [
                {
                    label: "node 1.0",
                    children: []
                },
                {
                    label: "node 1.1",
                    children: []
                }
            ]
        },
        {
            label: "node 2",
            children: []
        }
    ]
};
Run Code Online (Sandbox Code Playgroud)

非常简单.组件现在也非常简单.对于我有的节点:

class Node extends React.Component<INode, void>{
    render() {
        console.log(`Rendering ${this.props.label}`);
        var list = this.props.children.map((node, i) => <li key={i}><Node {...node}/></li>);
        return (
            <div>
                <span>{this.props.label}</span>
                {this.props.children.length > 0 ? <ul>{list}</ul> : ""} …
Run Code Online (Sandbox Code Playgroud)

reactjs

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

Gitlab CI不执行npm脚本

我尝试在gitlab运行器上运行一个CI脚本.

我想要的很简单:

首先应该执行npm install命令来获取所有必需的npm包.

在这以后,npm testnpm run build应执行.

.gitblab-ci.yml脚本如下所示:

before_script:
  - cd my/folder/
  - npm install --silent

stages:
  - test
  - build

run_tests:
  script:
    - npm test
  stage: test

build:
  script:
    - npm run build
  stage: build
Run Code Online (Sandbox Code Playgroud)

不幸的是,只有npm install两次被执行.这不是沉默.
npm testnpm run build获得从不叫.

谁能告诉我,我做错了什么?

continuous-integration gitlab npm-install npm-scripts

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

什么是已弃用的 $(InputDir) 宏?

尝试为单个文件设置自定义预处理器,我尝试使用

"$(testDir)test.exe" "$(InputPath)" "$(ProjectDir)model.c"
Run Code Online (Sandbox Code Playgroud)

作为命令行。但是"$(InputPath)在 Visual Studio 2013 中已弃用,我不知道如何用未弃用的宏替换它。

c-preprocessor visual-studio-2012 visual-studio-2013 visual-studio-2015

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

未知模板类型的默认值或零值

假设模板功能

template<typename T>
T foo(){
  // ...
  // Error occured
  if(error)
     return 0;
  // ...
}
Run Code Online (Sandbox Code Playgroud)

这应该返回0,0.0f,nullptr,...取决于类型T,当错误发生.

如何获取0未知模板类型?在C#中你可以写default(T)这个来做.

如何在C++中执行此操作?

c++ templates default default-value

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

强制编译器推出for循环的可能性

为了在运行时提高性能,是否有可能强制编译器使用编译器已知的迭代次数来完成这样的for循环?
这样的代码.

template <int dim>
void foo()
{
   ...
   int temp[i];
   for(int i=0; i<dim; i++)
   {
      temp[i] = ...;
      ...
   }
   ...
}
Run Code Online (Sandbox Code Playgroud)

是按照原样建造的

template <int dim>
void foo()
{
   ...
   int temp[i];

      temp[0] = ...;
      temp[1] = ...;
      temp[2] = ...;
      (...)
      temp[dim-1] = ...;
      ...
   }
   ...
}
Run Code Online (Sandbox Code Playgroud)

c++ templates for-loop visual-c++

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