小编str*_*ger的帖子

从make调用cmake来创建Makefile?

我正在cmake用来构建我的项目.对于UNIX,我想make从我的项目的根目录中键入,并cmake调用以创建正确的Makefile(如果它们还不存在),然后构建我的项目.我希望隐藏cmake"内部"文件(目标文件,cmake内部Makefile等)(例如放在.build目录中),这样它就不会混乱我的项目目录.

我的项目有几个子项目(特别是库,用户可执行文件和单元测试可执行文件).我希望Makefiles(即我输入make并且这种情况发生)为每个子项目执行cmake(如上所述)并仅构建该子项目(具有依赖性,因此如果需要,将从可执行文件的Makefile构建库).生成的二进制文件(.so库或可执行文件)应位于子项目的目录中.

我做了一个Makefile,主要项目有点好,虽然感觉有点hackish.我无法使用它构建特定目标,因为我的Makefile只是调用makecmake构建目录.

请注意,因为库是唯一的依赖项(可能不需要手动构建,因为我很懒)我在Makefile中省略了它.

BUILD_DIR   :=  .build

.PHONY: all clean project-gui ${BUILD_DIR}/Makefile

all:    project-gui project-test

clean:
    @([ -d ${BUILD_DIR} ] && make -C ${BUILD_DIR} clean && rm -r ${BUILD_DIR}) || echo Nothing to clean

project-gui:  ${BUILD_DIR}/Makefile
    @make -C ${BUILD_DIR} project-gui
    @cp ${BUILD_DIR}/project-gui/project-gui $@

project-test:  ${BUILD_DIR}/Makefile
    @make -C ${BUILD_DIR} project-test
    @cp ${BUILD_DIR}/project-test/project-test $@

${BUILD_DIR}/Makefile:
    @[ -d ${BUILD_DIR} ] || mkdir -p …
Run Code Online (Sandbox Code Playgroud)

build-automation build-process makefile cmake

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

将set访问器添加到类中的属性,该类派生自仅具有get访问器的抽象类

我有一个抽象类,AbsClass实现了一个接口,IClass.IClass有几个属性,只有Get访问器.AbsClass实现的属性ICLASS为抽象属性,以在从派生的类中定义AbsClass.

因此,从AbsClass派生的所有类也需要通过与Get访问器具有相同的属性来满足IClass.但是,在某些情况下,我希望能够从IClass向属性添加set访问.然而,如果我尝试使用set访问器覆盖AbsClass中的抽象属性,我会收到此错误

ConcClassA.Bottom.Set无法覆盖,因为AbsClass.Bottom没有可覆盖的set访问器

请参阅下面的ConcClassA.

如果我有一个只实现IClass接口但没有继承自AbsClass的类,那么我可以添加一个没有问题的set访问器.请参阅 下面的ConcClassB.

我可以在AbsClass的每个派生中实现IClass,而不是直接为AbsClass实现.但是我从我的设计中知道每个AbsClass也需要一个IClass,所以我宁愿在层次结构中指定更高的值.

public interface IClass
{
    double Top
    {
        get;
    }
    double Bottom
    {
        get;
    }
}

abstract class AbsClass:IClass
{
    public abstract double Top
    {
        get;
    }

    public abstract double Bottom
    {
        get;
    }
}



class ConcClassA : AbsClass
{
    public override double Top
    {
        get …
Run Code Online (Sandbox Code Playgroud)

c# abstract-class properties interface

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

令人困惑的JavaScript语句:"var x = new this();"

我以为我理解了JavaScript原型对象的概念,以及[[proto]],直到我看到一些关于类继承的帖子.

首先,"JavaScript OOP - 智能方式",网址http://amix.dk/blog/viewEntry/19038

请参阅实施部分:

var parent = new this('no_init');
Run Code Online (Sandbox Code Playgroud)

还有John Resig的伟大博客上的"简单JavaScript继承".

var prototype = new this();
Run Code Online (Sandbox Code Playgroud)

究竟new this();是什么意思?

这句话对我没有意义,因为我的理解是this指向一个对象而不是构造函数.我也尝试在Firebug中测试语句来解决这个问题,我收到的只是语法错误.

我的头已经完全旋转了.

有人可以详细解释一下吗?

javascript inheritance class

16
推荐指数
3
解决办法
7818
查看次数

什么是PHP中使用的刻度?

我想知道为什么,如何以及何时在PHP中使用ticks:

declare(ticks=1);

// A function called on each tick event
function tick_handler()
{
    echo "tick_handler() called\n";
}

register_tick_function('tick_handler');

$a = 1;

if ($a > 0) {
    $a += 2;
    print($a);
}
Run Code Online (Sandbox Code Playgroud)

php

16
推荐指数
3
解决办法
4581
查看次数

std :: initializer_list {x,y,z}(CTAD)有效吗?

std::initializer_list<U>显式构造时,可以U推导出模板参数()(例如,使用类模板参数推导(CTAD))吗?

换句话说,我知道以下语句是有效的:

std::initializer_list<int> x1{1, 2, 3};
std::initializer_list<int> x2 = {1, 2, 3};
auto x3 = std::initializer_list<int>{1, 2, 3};
Run Code Online (Sandbox Code Playgroud)

但是以下陈述也有效吗?

std::initializer_list x1{1, 2, 3};
std::initializer_list x2 = {1, 2, 3};
auto x3 = std::initializer_list{1, 2, 3};
Run Code Online (Sandbox Code Playgroud)

编译器不同意是否std::initializer_list可以推导的模板参数:

#include <initializer_list>

struct s {
    s(std::initializer_list<int>);
};

void f() {
    std::initializer_list x1{1, 2, 3};         // Clang ERROR; GCC OK;    MSVC OK
    std::initializer_list x2 = {1, 2, 3};      // Clang ERROR; GCC OK;    MSVC OK
    auto x3 = std::initializer_list{1, …
Run Code Online (Sandbox Code Playgroud)

c++ language-lawyer c++17

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

关于C++模板的最重要的事情......经验教训

您对模板了解最重要的事项:隐藏功能,常见错误,最佳和最有用的实践,提示...... 常见错误/疏忽/假设

我开始使用模板实现我的大多数库/ API,并希望收集在实践中发现的最常见的模式,提示等.

让我正式化问题:你对模板学到的最重要的事情是什么?

请尝试提供示例 - 与更复杂和过于干燥的描述相比,它更容易理解

谢谢

c++ templates

14
推荐指数
4
解决办法
5126
查看次数

Smarty:如何引用关联数组索引

Array $imagelist:

Array ( 
    [additional] => Array ( 
        [count] => 2 
        [image] => Array ( 
            [nokia_e61_1.jpg] => Array ( 
                [name_body] => nokia_e61_1 
                [name_ext] => jpg 
            ) 
            [nokia_e61_2.jpg] => Array ( 
                [name_body] => nokia_e61_2 
                [name_ext] => jpg 
            ) 
            [nokia_e61_3.jpg] => Array ( 
                [name_body] => nokia_e61_3 
                [name_ext] => jpg 
            ) 
            [nokia_e61_4.jpg] => Array ( 
                [name_body] => nokia_e61_4 
                [name_ext] => jpg 
            ) 
        ) 
    ) 
    [main] => nokia_e61 
) 
Run Code Online (Sandbox Code Playgroud)

该值nokia_e61_1.jpg保留在{$getvars.imagename}.

我写了,{$imagelist.additional.image.`$getvars.imagename`.name_body}但它不起作用.

请帮忙.

php arrays indexing reference smarty

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

输入背景颜色会破坏样式吗?

我正在创建一个在jQuery Validation验证的表单.我想将浅红色背景颜色应用于无效且需要更正的输入.

当我应用于background-color: #FFCCCC;输入时,有吸引力的样式似乎被删除,硬边框取代它.例如,在Firefox中输入文本:

样式和非样式文本输入http://liranuna.com/strager/b/textbox-difference.png
(现场演示)

这种情况发生在几个浏览器 如果我设置background除了以外的任何其他,也会发生#FFFFFF.

有没有办法在应用背景颜色时保留样式?

我对Javascript解决方案持开放态度,以某种方式模仿风格.

css browser

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

Vim:缩进当前(空白)行并插入

假设我在缓冲区中有当前文本,其中_标记了光标

int main(int argc, char **argv) {
    printf("Hello, world!\n");

_
}
Run Code Online (Sandbox Code Playgroud)

我有indentexpr(虽然解决方案cindentautoindent可能也会工作).

如何开始插入,以便将光标放在适当的列以遵循缩进规则,即:

int main(int argc, char **argv) {
    printf("Hello, world!\n");

    _
}
Run Code Online (Sandbox Code Playgroud)

目前我发现自己ddO经常使用(或ddo在缓冲区的末尾),但似乎应该有更好的方法.使用==或甚至>>v>似乎不起作用,因为该行是空白的.

vim indentation

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

NetBeans jQuery插件代码完成

我正在使用NetBeans for PHP.当我编辑.js文件时,它给了我JavaScript代码完成.我怎样才能让它也给我jQuery代码完成?

NetBeans 6.9代码自动完成不适用于jQuery插件.

代码自动完成适用于jQuery,但不适用于诸如validate插件之类的插件.

这是NetBeans 6.9中的错误吗?

netbeans autocomplete jquery-plugins

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