小编Tar*_*ula的帖子

如何在使用CMake for LLVM时启用共享库构建?

问题:当从Ubuntu存储库安装LLVM 2.8时,Ubuntu 10.10不提供LLVM CMake模块(/usr/share/llvm)或(/usr/local/share/llvm).

所以我现在正在使用CMake编译LLVM 2.8,然后像这样安装它:

cmake ..
make
make install
Run Code Online (Sandbox Code Playgroud)

这将安装我需要将LLVM链接到我的库中的CMake模块.问题是当我使用CMake编译LLVM时,只编译静态库.我在LLVM文档中看到,您可以使用此参数将共享库编译到CMake中:

cmake -DBUILD_SHARED_LIBS=true ..
Run Code Online (Sandbox Code Playgroud)

但现在,CMake返回此错误:

-- Target triple: i686-pc-linux-gnu
-- Native target architecture is X86
-- Threads enabled.
-- Building with -fPIC
-- Targeting Alpha
-- Targeting ARM
-- Targeting Blackfin
-- Targeting CBackend
-- Targeting CellSPU
-- Targeting CppBackend
-- Targeting Mips
-- Targeting MBlaze
-- Targeting MSP430
-- Targeting PIC16
-- Targeting PowerPC
-- Targeting Sparc
-- Targeting SystemZ
-- Targeting X86 …
Run Code Online (Sandbox Code Playgroud)

c++ makefile cmake llvm

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

使用 unix socket 连接到 RabbitMQ

有谁知道 RabbitMQ 是否支持 unix socket 连接而不是 TCP ?我问这个是因为我所有的生产者和消费者都在同一台机器上。

谢谢 !

rabbitmq

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

std :: tr1 :: mem_fn返回类型

我想把结果这个:

std::tr1::mem_fn(&ClassA::method);
Run Code Online (Sandbox Code Playgroud)

在变量内部,这个变量的类型是什么?

这看起来像这样:

MagicalType fun = std::tr1::mem_fn(&ClassA::method);
Run Code Online (Sandbox Code Playgroud)

另外,结果类型是std::tr1::bind什么?

谢谢 !

c++ tr1 std

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

如何在Cython中声明指针向量?

我想宣布这样的事情:

cdef vector[Node*] list2node(list my_list):
Run Code Online (Sandbox Code Playgroud)

但是Cython给了我这个错误:

cdef vector[Node*] list2node(list my_list):
                ^
------------------------------------------------------------

mod.pyx:77:20: Expected an identifier or literal
Run Code Online (Sandbox Code Playgroud)

c++ python cython

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

文本的感知哈希函数

有谁知道一个简单的文本感知哈希算法?我看了一下pHash函数,ph_texthash但我想要一个更简单的算法.最好是在Python中.谢谢 !

python algorithm hash

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

QGraphicsView fitInView边距

为什么这个:

graphics_view->fitInView(scene->sceneRect(), Qt::KeepAspectRatio);
Run Code Online (Sandbox Code Playgroud)

没有按预期工作?它不能正确拟合场景,显示它周围的边距.

c++ qt qgraphicsview qgraphicsscene

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

在GCC中使用shared_ptr的便携方式

GCC 4.1使用<tr1/memory>标头和GCC 4.3使用<memory>标头,我需要一种可移植的方式来使用shared_ptrGCC 4.3.2和GCC 4.2.1,有没有办法在不检查GCC版本宏或使用像Boost这样的外部库的情况下这样做?

c++ gcc tr1 shared-ptr

4
推荐指数
1
解决办法
2778
查看次数

在C中用零覆盖整个文件的最快方法是什么?

我需要做的是以最快的方式用零填充整个文件内容.我知道一些linux命令cp实际上得到了一次写入的最佳块大小信息,但是我无法弄清楚使用这个块大小信息是否足以具有良好的性能并且看起来像st_blksize来自stat()isn给我块大小.谢谢 !

评论的一些答案:

  1. 这需要在C中完成,而不是使用像shred这样的实用程序.

  2. 使用中没有错误 stat()

  3. st_blksize 返回一个大于文件大小的块,不知道我该如何处理.

  4. 使用truncate()/ ftruncate(),只有额外的空格用零填充,我需要覆盖整个文件数据.

我想的是:

fd = open("file.txt", O_WRONLY);
// check for errors (...)
while(TRUE)
{
    ret = write(fd, buffer, sizeof(buffer));
    if (ret == -1) break;
}
close(fd);
Run Code Online (Sandbox Code Playgroud)

问题是如何"以编程方式"定义最佳缓冲区大小.

c unix linux file-io file

4
推荐指数
1
解决办法
5964
查看次数

使用Autotools创建新的共享库

我想要做的是创建一个新的共享库,称为libxxx链接另一个被称为libzzz共享库的共享库,这个共享库有一个独立的"pkg-config"式工具,假设它叫做"zzz-config",它提供了所需的cflags在编译阶段使用时libzzz.我想做的是:

  • 创建configure/makefile等..使用autotools,如automake,autoconf等;
  • 它必须使用zzz-config上面引用的脚本;
  • 它必须为源生成自动依赖项;
  • 它必须具有构建调试(没有优化)和发布(带优化)构建的模式;
  • 源代码是C++;
  • 它必须以共享库为目标;
  • 它必须读取src目录的源并将编译的文件放在另一个目录中

我已经阅读了几乎所有可用的autotools教程,但我无法想办法做到这一点,如果你能指出一些例子会非常友善.

谢谢 !

c++ gcc g++ autotools shared-libraries

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

Altair 中带有标签值的分层或分面条形图

我正在尝试创建一个简单的条形图(特定字段有多个列):

bars = alt.Chart(df_probing).mark_bar(stroke='transparent').encode(
    alt.X('model_name:N', scale=alt.Scale(rangeStep=12), axis=alt.Axis(title='')),
    alt.Y('acc:Q', axis=alt.Axis(title='Accuracy', grid=False)),
    color=alt.Color('model_name:N'),
    column='task_name:N'
).configure_view(
    stroke='transparent'
).configure_axis(
    domainWidth=0.8
) 
Run Code Online (Sandbox Code Playgroud)

现在,该图运行良好,但是当我尝试在条形顶部添加值标签时,如下所示

text = bars.mark_text(
    align='center',
).encode(
    text='acc:Q'
)

bars + text
Run Code Online (Sandbox Code Playgroud)

它引发以下错误:

ValueError: Objects with "config" attribute cannot be used within LayerChart. Consider defining the config attribute in the LayerChart object instead.
Run Code Online (Sandbox Code Playgroud)

如何将条形标签添加到分面/分层图上条形图中的每个条形?

python plot altair

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

在Cython中将NULL传递给包装的C函数

我有一个用Cython包装的函数:

cdef extern  from "myheader.h":
   int c_my_func (const_char *a, const_char* b)
Run Code Online (Sandbox Code Playgroud)

并且一个暴露给Python的函数:

def my_func(a, b):
    c_my_func(a, b)
Run Code Online (Sandbox Code Playgroud)

该函数c_my_func接受参数a和NULL b.当我从口译员那里打电话时:

my_func(None, None)
Run Code Online (Sandbox Code Playgroud)

它抛出异常:

TypeError: expected string or Unicode object, NoneType found
Run Code Online (Sandbox Code Playgroud)

如何使此功能接受None并传递NULLc_my_func?我不想手动检查None然后传递NULL.我也尝试在cdef上使用默认参数,但c_my_func它不起作用.

python cython

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