小编hoc*_*age的帖子

是否有任何C库为GNU/Linux实现C11线程?

已经有很多关于C11和C11线程的问题,但我没有看到一个明确的答案的任何地方:

是否有任何 C库实现了在GNU/Linux上可用的C11线程接口?例如,提供"可选" <threads.h>线程支持库一样thrd_create(),从该C11标准近页.376.

理想情况下,我想找到一个普通的,开源的或免费的库,用于通用/通用/多架构(例如,GNU/Linux,x86_64或portable-ish).

一些更有用和相关的SO链接:

库的一些非启动选项:

我对POSIX线程(很多很好的选项),Windows,IDE和C++ 11 都不感兴趣(我知道GNU libstdc++ …

c multithreading c11

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

Redux:在Hadoop中运行时,如何让Jython在其自己的jar文件中使用存储在Lib中的Python模块?

我正在尝试使用Jython来实现Hadoop 1.2.1中的实现.除了陈旧的项目(比如code.google.com/p/happy)之外,我已经看到了很少关于Jython + Hadoop的事情,以及一个过时的实现$HADOOP_HOME/src/examples/python/WordCount.py,所以也许我正在吵着错误的树开始......但是这个似乎合情合理.我也非常了解Hadoop Streaming,我可以在不使用Jython的情况下在Hadoop中使用Python,但这不是我在这里要做的.

基本上,当我使用调用嵌入式/独立Jython的jar文件java -jar /full/path/to/myjythonjar.jar中,/full/path/to/myjythonjar.jar/Lib在我的Python sys.path,但是当我调用使用bin/hadoop jar /full/path/to/myjythonjar.jar input output...jar/Lib是不是在我的道路,并且脚本无法找到Python模块,我引用.

这就是我正在做的......

我正在使用Jython jar的独立版本,并使用该JarRunner界面,大致如此和其他地方所描述的那样; 基本如下:

 cp jython-standalone-2.7-b1.jar jythonsalib_test.jar  
 jar ufe jythonsalib_test.jar org.python.util.JarRunner __run__.py  
Run Code Online (Sandbox Code Playgroud)

也就是说,拿一个独立jar的副本,添加我的脚本名称__run__.py,然后更改Manifest来执行JarRunner- 非常感谢@Frank Wierzbicki为那个gem.

当我直接跑步时,这一切都很好,例如,

java -jar jythonsalib_test.jar
Run Code Online (Sandbox Code Playgroud)

我的sys.path报告包括'/full/path/to/jar/file/jythonsalib_test.jar/Lib',这正是我所期望的,它是我从中获取Python模块的路径(通过设置sys.path为空列表(失败)和仅通过路径(工作)进行经验测试).

当我在Hadoop中运行这个相同的jar时,例如,as

bin/hadoop jar /full/path/to/jar/file/jythonsalib_test.jar input output
Run Code Online (Sandbox Code Playgroud)

sys.path 只包括

['__classpath__', '__pyclasspath__']
Run Code Online (Sandbox Code Playgroud)

我还使用了Jython独立jar版本2.5.4-rc1(它具有上述相同的行为)和2.5.3(由于无关原因,这对我不起作用).

正如其他SO答案所指出的,我目前使用的解决方法基本上是直接添加我的jar的Lib目录,在Jython脚本里面

import sys
sys.path.append('/full/path/to/jar/file/jythonsalib_test.jar/Lib')
Run Code Online (Sandbox Code Playgroud)

这基本上有效 - 但这应该是一个分布式应用程序!我没有可以用这种方式引用的路径.其他SO文章提出了各种机制,但基本上都添加到库路径(再次,没有链接因为我有<10rep),如上面的Python,Java或Jython安装或Jython"注册表"(startup/rc)文件.当然,我可以使用HDFS或引导机制或其他机制将某些东西分发给计算节点,比如jar或Jython或其他什么,但代码已经在jar中了! 所以我不应该再单独分发它......

总而言之:看起来我需要在一个文件系统上,该文件系统可以直接并单独 …

python java hadoop jython

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

如何在GNU make中将目标设为"私有"仅供内部使用?或者:如何最好地执行特定于目标的变量值?

我在makefile中有一些辅助目标,我想在makefile中限制内部或"私人"使用(仅限).也就是说,我希望能够在makefile中将这些目标指定为依赖项,但我想阻止将目标从命令行指定为构建目标.有点类似于privateOOP中的函数:目标是单独构建的有害(或根本没有意义).

我希望有一个特殊目标.HIDDEN或者.PRIVATE其他东西可以做到这一点,类似于.PHONY非文件目标,但我认为这不存在.该private关键字仅用于变量.

什么是保护目标仅供内部/私人使用的好/一般/优雅方式?

我能想出的最好的解决方法是检查$(MAKECMDGOALS)"不可接受的"目标,然后指出错误输出; 这似乎不优雅.我确信makefile可以被重写以避免这种情况 - 也许是一个更好的解决方案 - 但这在这里不实用.


在切割线下面......这是一个人为的例子.

虽然我正在寻找一般解决方案,但作为个人/主要目标有害的目标的一个示例是继承特定于目标的变量值:

override CFLAGS += -Wall
all : debug
%.o : %.c
    $(CC) $(CFLAGS) $(CPPFLAGS) -c -o $@ $<
debug   : CFLAGS += -g3 -O0
release : CFLAGS +=     -O3
debug   : CPPFLAGS += -DDEBUG
release : CPPFLAGS += -DRELEASE
debug release : foo.o bar.o main.o
    $(CC) -o $@ $^ $(LDFLAGS) $(LDLIBS)
clean:
    -rm -f *.o debug release
.PHONY: …
Run Code Online (Sandbox Code Playgroud)

makefile gnu-make

9
推荐指数
2
解决办法
5739
查看次数

Octave/MATLAB中的deal()函数有什么意义?

一些参考代码使用该功能deal(),如

[a, b, c] = deal (1,2,3)
Run Code Online (Sandbox Code Playgroud)

如文档中所述(对于OctaveMATLAB),该函数只是将输入复制到输出. 为什么deal()在这种情况下使用,甚至一般? 我正在尝试学习"更正确"的MATLAB/Octave用法,并想知道我是否遗漏了一些重要内容.也许,这是用法......

  • 传统的风格或惯用,代替简单的赋值,a=1, b=2, c=3或更像是神秘的列表 - 解包单元格数组[a,b,c] = {1,2,3}{:},但比Python 参数解包更受限制,就像这个问题一样
  • 对于一些更优雅的功能有用 - 例如,"深"与"浅"复制,如果这样的概念在这里存在,如果deal()用于复杂/可变参数?

我也理解单一论证,[a,b,c]=deal(42)但这基本上是a=b=c=42,并且[a,b,c]=deal(x)分配x给所有人,而不是x每个人的元素.

或者也许只是因为我过度思考这个功能的微不足道的使用.

matlab octave

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

标签 统计

c ×1

c11 ×1

gnu-make ×1

hadoop ×1

java ×1

jython ×1

makefile ×1

matlab ×1

multithreading ×1

octave ×1

python ×1