小编mav*_*vam的帖子

使用BSD制作Catchall目标

在BSD Makefile中,是否可以定义一个包罗万象的目标?我正在寻找相当于GNU的GNU:

%:
    @echo caught target $@
Run Code Online (Sandbox Code Playgroud)

我希望预处理器拥有足够的魔力来动态定义目标,但无法弄清楚如何这样做.所有局部变量(例如.TARGET,仅目标工作但不在全局范围内工作).

makefile bsdmake

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

C++模板实例化函数模板参数

我使用模板实例化[*]有以下问题.

文件foo.h

class Foo
{
public:
    template <typename F>
    void func(F f)

private:
    int member_;
};
Run Code Online (Sandbox Code Playgroud)

文件foo.cc

template <typename F>
Foo::func(F f)
{
     f(member_);
}
Run Code Online (Sandbox Code Playgroud)

file caller.cc

Foo::func(boost::bind(&Bar::bar_func, bar_instance, _1));
Run Code Online (Sandbox Code Playgroud)

虽然编译良好,但链接器会抱怨未定义的符号:

void Foo::func<boost::_bi::bind_t...>

如何实例化该功能 Foo::func?由于它需要一个函数作为参数,我有点困惑.我试图在foo.cc中添加一个实例化函数,因为我习惯使用常规的非函数类型:

instantiate()
{
    template<> void Foo::func<boost::function<void(int)> >(boost::function<void(int)>);
}
Run Code Online (Sandbox Code Playgroud)

显然,这不起作用.如果有人能指出我正确的方向,我将不胜感激.

谢谢!

[*]是的,我读了parashift FAQ lite.

c++ linker templates boost function

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

进入环境时抑制换行

在下面的LaTeX片段中,如何在进入align*环境后抑制在XXX和YYY之间自动生成的换行符.

XXX
\begin{minipage}{t}{0.1in}
  YYY
  \begin{align*}
     ZZZ...
  \end{align*}
\end{minipage}
Run Code Online (Sandbox Code Playgroud)

产量

XXX YYY
ZZZ...
Run Code Online (Sandbox Code Playgroud)

但我想要

XXX YYY ZZZ...
Run Code Online (Sandbox Code Playgroud)

也许align*只是错误的环境,但我找不到提供类似功能的替代方案,但却没有引入换行符.

latex newline

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

libcppa actor,它在套接字连接上产生actor

我正在寻找一个libcppa actor的示例代码,该代码侦听端口以获得新连接,然后生成新的actor以处理新连接.

任何帮助,将不胜感激.

谢谢

c++ sockets actor c++-actor-framework

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

有效地截断Ruby Time对象

我试图提出一种根据给定的分辨率截断Ruby Time对象的有效方法.

class Time
  def truncate resolution
    t = to_a
    case resolution
    when :min   
      t[0] = 0
    when :hour
      t[0] = t[1] = 0
    when :day
      t[0] = t[1] = 0
      t[2] = 1
    when :month 
      t[0] = t[1] = 0
      t[2] = t[3] = 1
    when :week  
      t[0] = t[1] = 0
      t[2] = 1
      t[3] -= t[6] - 1
    when :year
      t[0] = t[1] = 0
      t[2] = t[3] = t[4] = 1
    end

    Time.local *t
  end
end …
Run Code Online (Sandbox Code Playgroud)

ruby time truncate date

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

计算可变参数模板的函数

我试图弄清楚哪种是在变量类型列表上实现函数的最惯用的方式.例如,计算所有类型的最大大小.我知道有几种方法可以完成这样的任务,但我想知道何时选择哪种策略.

这些是我会考虑的机制(可能存在更多,如果是这样,请提及):

  • 输入特征(理想情况下使用声明):

    template <typename Head>
    using max_size = typename std::integral_constant<size_t, sizeof(Head)>::type;
    
    template <typename Head, typename... Tail>
    using max_size = ?;
    
    Run Code Online (Sandbox Code Playgroud)
  • constexpr 功能:

    template <typename Head>
    constexpr size_t max_size() { return sizeof(Head); }
    
    template <typename Head, typename... Tail>
    constexpr size_t max_size() { ? }
    
    Run Code Online (Sandbox Code Playgroud)

我的问题是双重的:

  1. 计算的哪些特征决定了选择什么策略?

  2. 在每种情况下,上述最大尺寸示例的示例实现如何?

c++ variadic-functions variadic-templates constexpr c++11

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

如何从awk中的文件中获取10个最后的值

我有一个包含这些数据的文件:

345
234
232
454
343
676
887
324
342
355
657
786
343
879
088
342
121
345
534
657
767
Run Code Online (Sandbox Code Playgroud)

我需要剪切最后10个值并将其放在另一个文件中:

786
343
879
388
342
121
345
534
657
767
Run Code Online (Sandbox Code Playgroud)

awk

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