小编Why*_*rrh的帖子

GNU Make中通配符目标的正确方法

我试图编写一个Makefile与我的源文件和目标文件分开,我似乎无法找到实现这一目标的正确方法.我有两种方法可行,但我希望有人可以指出"正确"的方法来做到这一点.

我的项目被分成一个srcobj文件夹,Makefile与这些文件处于同一级别.

第一种方法使用通配符函数查找源文件,src然后使用文本替换来确定相应的目标文件.

SRC = $(wildcard src/*.cpp)
OBJ = $(SRC:.cpp=.o)

prog: $(OBJ)
       $(CC) $(CFLAGS) $(LDFLAGS) $(LIBS) -o prog $(patsubst src/,obj/,$(OBJ))

%.o: %.cpp
     $(CC) $(CFLAGS) -c $< -o $(COMPILE)/$(@F)  
Run Code Online (Sandbox Code Playgroud)

这似乎有效,但是,每次运行make prog它都会重新编译所有目标文件.该OBJ变量必须具有src/的所有对象的前面,否则我得到了"没有规则,使目标".从好的方面来说,我可以轻松地使用prog 目标中的patsubst 来指定目标文件.

第二种方法类似,但在OBJ变量上使用vpath和文本替换:

 vpath = %.cpp src
 vpath = %.o obj

 SRC = $(wildcard src/*.cpp)
 OBJ = $(subst src/,,$(SRC:.cpp=.o))
 POBJ = $(patsubst src/,obj/$(SRC:.cpp=.o))

 prog: $(OBJ)
       $(CC) $(CFLAGS) $(LDFLAGS) $(LIBS) -o prog $(POBJ)

 %.o: %.cpp
     $(CC) …
Run Code Online (Sandbox Code Playgroud)

makefile wildcard gnu-make target

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

从剪贴板Firefox获取粘贴图像

我试图让用户将图像粘贴到div.问题是我需要它在Firefox中工作.

根据我的阅读,自版本13以来的Firefox(我认为)不允许JavaScript访问剪贴板,并且event.clipboard不存在于剪贴板中.我知道它可以做到,因为Gmail和雅虎甚至在Firefox中也是如此.

我只是希望它无论如何都可以工作,使用jQuery,JavaScript,HTML5,只要它在最新的Firefox中工作就没关系.(虽然没有Flash).

html javascript firefox jquery html5

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

是否可以使用gradle'application'插件指定多个主类

我想使用Gradle"application"插件为第二个mainClass创建startScripts.这可能吗?即使应用程序插件没有内置此功能,是否可以利用startScripts任务为不同的mainClass创建第二对脚本?

java gradle

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

Eclipse ADT插件 - 没有可用的构建目标

尝试使用Eclipse创建新的Android项目时,没有可用的Build Target.

我有:

  • 已安装的ADT插件
  • 创建了一个虚拟设备
  • 安装Android SDK,安装平台+平台工具
  • 将Android SDK路径设置为Eclipse.

我已经尝试了我找到的每一个修复,但他们只是告诉我做我刚刚提到的那些事情.

编辑:

在Window - > Preferences - > Android中,它接受了我的路径,但是那里没有可用的目标.

是的,我安装了:

Android SDK工具,修订版10 Android SDK平台工具,修订版3 SDK平台Android 2.2 API 8,修订版2

eclipse android adt

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

为什么`git diff`不适用于进程替换?

为什么不git diff使用流程替换?

$ echo hallo > hallo
$ echo holla > holla

$ git diff hallo holla  # works

$ git diff hallo <(cat holla)  # works not

diff --git a/hallo b/hallo
deleted file mode 100644
index 4cf5aa5..0000000
--- a/hallo
+++ /dev/null
@@ -1 +0,0 @@
-hallo
diff --git a/dev/fd/63 b/dev/fd/63
new file mode 120000
index 0000000..864a6ca`
Run Code Online (Sandbox Code Playgroud)

与...相同git diff --no-index.

它适用于普通diff.cat只是一个简单的例子,可以用一个非平凡的sed表达式代替.

解决方法:

$ cat holla | git diff hallo - …
Run Code Online (Sandbox Code Playgroud)

git bash git-diff

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

如何在C#中重定向IronPython的标准输出?

我有以下内容:

public partial class Form1 : Form
{
    public Form1()
    {
        InitializeComponent();
    }

    private void button3_Click(object sender, EventArgs e)
    {
        try
        {
            var strExpression = @"
            import sys
            sys.stdout=my.write
            print 'ABC'
            ";
            var engine = Python.CreateEngine();
            var scope = engine.CreateScope();
            var sourceCode = engine.CreateScriptSourceFromString(strExpression);
            scope.SetVariable("my", this);
            var actual = sourceCode.Execute<string>(scope);
            textBox1.Text += actual;
        }
        catch (System.Exception ex)
        {
            MessageBox.Show(ex.ToString());
        }
    }

    public void write(string s)
    {
        textBox1.Text += s;
    }
}
Run Code Online (Sandbox Code Playgroud)

但我得到一个Exception说没有write.

我做错了什么?

c# redirect ironpython stdout

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

解析食谱的自然语言成分数量

我正在构建一个ruby配方管理应用程序,作为其中的一部分,我希望能够将成分数量解析为我可以比较和扩展的形式.我想知道这样做的最佳工具是什么.

我原本计划在一个复杂的正则表达式,然后在该转换人类可读的数字像其他一些代码twofive成整数,最后的代码,将转换说1 cup3 teaspoons到一些基本的测量.我控制输入,所以我将实际成分分开.但是,我注意到用户输入了像to taste和的抽象测量1 package.至少在抽象测量中,我想我可以忽略它们并进行缩放,只需刮掉它们之前的任何数字.

这里有一些例子

1 tall can
1/4 cup
2 Leaves
1 packet
To Taste
One
Two slices
3-4 fillets
Half-bunch
2 to 3 pinches (optional)
Run Code Online (Sandbox Code Playgroud)

这有什么窍门吗?我注意到用户似乎对构成数量的内容感到困惑.我可以尝试强制实施更严格的规则和推之类的东西tall can,并leaves进入组分的部分.但是,为了强制执行,我需要能够传达什么是无效的.

我可以使用api或gem吗?WolframAlpha最初看起来很有希望,但最终,我不认为它会起作用,除非我能告诉他们我只是喂食他们的配方量.

我也不确定我应该将数量转换成什么"基础"测量.

编辑:只是为了消除任何困惑,这些是我的目标.

  1. 能够扩展食谱. 测量像的任意单位 packages不必进行缩放,但精确的像cupsounces需要的人.

  2. 找出"主要"成分. 在这个问题的背景下,这将主要通过弄清楚配方中最大的成分是什么来完成.在生产中,必须有一些基于成分类型的改性剂,因为显然,flour几乎从未被认为是"主要"成分.但是,chocolate可以谨慎使用,它仍然可以说是一个chocolate cake.

  3. 标准化输入. 为了保持网站的一致性,我希望保留一致的缩写.例如,pounds应该是,而不是lbs.

我还添加了NLTK标签,因为我想知道在使用NLTK的 python中这是否更容易.

ruby regex nlp nltk wolframalpha

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

动作栏中的中心SearchView

如何将ActionView(特别是SearchView)置于Action Bar的中心?

如Google图书应用中所示:

  Google图书应用SearchView http://i46.tinypic.com/2z909is.png

我当前的布局设置(search_layout.xml):

<?xml version="1.0" encoding="utf-8"?>
<SearchView
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:queryHint="@string/search_hint" />
Run Code Online (Sandbox Code Playgroud)

我的Action Bar XML文件(menu.xml):

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
    <item
        android:icon="@+android:drawable/ic_menu_search"
        android:title="@string/search"
        android:showAsAction="always|collapseActionView"
        android:id="@+id/searchMenuItem"
        android:actionLayout="@layout/search_layout" />
</menu>
Run Code Online (Sandbox Code Playgroud)

有没有办法模仿Books的SearchView的行为?

android android-actionbar searchview

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

iOS 7是否通过蓝牙低功耗(v4.0)支持串行端口配置文件(SPP)?

我是否可以使用串行端口配置文件(SPP)通过蓝牙低功耗(v4.0)与iOS设备通信,而无需使用MFi芯片?

profile spp bluetooth-lowenergy ios7

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

python中的文字是什么?

我是一名正在研究python细微差别的新程序员.我的问题是,python中的文字究竟是什么?我在谷歌和python文档中搜索答案,但谷歌只是引用字符串文字,而python文档没有明确说明文字是什么.我遇到了这个页面http://www.dalkescientific.com/writingings/NBN/python_intro/literals.html,提供了以下答案:

对象也称为数据结构.Python附带了一些内置对象.有些经常被使用,Python可以快速制作这些对象,称为文字.文字包括字符串,unicode字符串,整数,浮点数,长列表,列表,元组和字典类型.

它是否正确?我可以假设文字只是python内置对象的另一个术语吗?还有更多的文字没有在描述中涵盖?我的印象是有二元文字这样的东西,而且布尔也被认为是文字.

python

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