小编hoc*_*chl的帖子

如何将具体类名称作为字符串?

我想避免调用很多isinstance()函数,所以我正在寻找一种方法来将实例变量的具体类名称作为字符串.

有任何想法吗?

python

102
推荐指数
3
解决办法
8万
查看次数

何时检查EINTR并重复功能调用?

我正在为嵌入式Linux系统编写用户应用程序,我正在使用常用功能,如open,close,read,ioctl等设备.现在,我读到了有关EINTR的信息,表明该功能被信号中断,但我不确定其含义.在我所有的示例程序中,有时它已完成,例如ioctl(),有时它没有完成,例如read().所以,我有点困惑.

我什么时候最好检查EINTR并重复功能调用?

linux eintr

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

CMake:何时使用add_definitions而不是set_target_properties(目标PROPERTIES COMPILE_DEFINITIONS定义)

在CMake文档中,我们可以阅读:

add_definitions

在当前目录及以下的源中为编译器命令行添加标志.

目录上的COMPILE_DEFINITIONS属性

COMPILE_DEFINITIONS:用于编译目录源的预处理器定义.

目标上的COMPILE_DEFINITIONS属性

COMPILE_DEFINITIONS:用于编译目标源的预处理器定义.

源文件上的COMPILE_DEFINITIONS属性

COMPILE_DEFINITIONS:用于编译源文件的预处理程序定义.

COMPILE_DEFINITIONSadd_definitions功能似乎重叠.COMPILE_DEFINITIONS财产似乎更灵活.

因此,似乎COMPILE_DEFINITIONS属性可以执行add_definitions所做的一切,甚至更多.

那么,在哪些情况下我们必须调用add_definitions因为COMPILE_DEFINITIONS属性不能使用?

c++ cmake

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

如何在将存储库从Mercurial转换为Subversion时保留修订时间戳?

由于工作策略,我被迫使用Subversion.目前我已经使用Mercurial开发了一些代码,我必须将此存储库转换为新的Subversion存储库.当前的Mercurial存储库还包含我从另一个SVN存储库(HW驱动程序)复制的遗留代码部分,此代码包含$Id: ...$在复制代码时扩展的关键字(如).

我目前进行转换的方法是:

hg convert --dest-type svn repository.hg repository.svn
Run Code Online (Sandbox Code Playgroud)

遗憾的是,它不能保留Mercurial修订版的时间戳.此外,它还扩展了某些遗留代码部分中的标记,其中有人写了$Id: ...$东西.

问题:

  1. 如何导出到Subversion,保留修订的时间戳.
  2. 如何在不扩展$ Id:$ style关键字的情况下进行转换,或者更好的是,在转换时删除有问题的行.这是可能的,还是我必须在转换之前修改Mercurial转储的历史记录以确保没有关键字?

很抱歉,如果这个问题已经得到解答,我已经在谷歌和这里进行了强烈的搜索,但我找不到这个问题的答案.特别是时间戳问题必须是其他人已经遇到的问题.

干杯,H

编辑:我已经创建了一个脚本,从Mercurial导出文件中提取时间戳并更新Subversion转储文件,这只是一个kludge,但它的工作原理.$Id:遗憾的是,这个问题仍未得到解决.

svn version-control mercurial

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

调用工作的区别

就是从调用MapReduce工作之间的区别main(),并从ToolRunner.run()?当我们说主要课程说,MapReduce extends Configured implements Tool如果我们只是从main方法中简单地完成工作,我们得到的额外特权是什么呢?谢谢.

java hadoop mapreduce

15
推荐指数
2
解决办法
7063
查看次数

std :: endl在每个平台上的确切代表是什么?

考虑UNIX,Windows和Mac以及输出流(二进制和文本),

什么std::endl代表,即<CR><LF>,<LF><CR>?或者无论平台/编译器是什么,它总是一样的吗?

我问的原因是我正在编写一个TCP客户端,该客户端会讨论一个期望每个命令结束的协议<CR><LF>.所以我想知道是否使用std::endl"\r\n"在我的流中.

编辑:好的,所以一个冲洗缓冲区而另一个没有.我明白了.但是,如果我将文本输出到文件,'\n'等于<LF>或者是否<CR><LF>在Windows上和<LF>Unix 上进行转换?我还没有看到明确的答案.

c++

11
推荐指数
2
解决办法
2745
查看次数

替换XKeycodeToKeysym

当我尝试使用Ubuntu 12.04中的X11标头构建我的代码时

    case KeyPress:
        xcommon_update_server_time( event.xkey.time );
        /* if( event.xkey.state & ShiftMask ) arg |= I_SHIFT; */
        /* this alternate approach allows handling of keys like '<' and '>' -- mrallen */
        if( event.xkey.state & ShiftMask ) {
            mykey = XKeycodeToKeysym( display, event.xkey.keycode, 1 );
        } else {
            mykey = XKeycodeToKeysym( display, event.xkey.keycode, 0 );
        }
Run Code Online (Sandbox Code Playgroud)

预期结果是什么?编译.

会发生什么?

warning: 'XKeycodeToKeysym' is deprecated (declared at /usr/include/X11/Xlib.h:1695) [-Wdeprecated-declarations]
Run Code Online (Sandbox Code Playgroud)

由于https://bugs.freedesktop.org/show_bug.cgi?id=5349 XKeycodeToKeysym现已正确标记为已弃用.

如何修复我的代码以警告免费和正确的构建?

谢谢

c linux x11

8
推荐指数
2
解决办法
8723
查看次数

由于未解析的外部因素,OpenCV将无法编译 - LNK2019

我是OpenCV的新手,并一直试图在Visual Studios 2010 Ultimate中进行设置.我完全按照文档,并按照它说的链接文件.以下是我正在使用的其他库:

opencv_core231d.lib
opencv_imgproc231d.lib
opencv_highgui231d.lib
opencv_ml231d.lib
opencv_video231d.lib
opencv_features2d231d.lib
opencv_calib3d231d.lib
opencv_objdetect231d.lib
opencv_contrib231d.lib
opencv_legacy231d.lib
opencv_flann231d.lib
Run Code Online (Sandbox Code Playgroud)

以及他们所有的Release版本.但是,当我尝试调试和编译给我的示例代码时,我收到以下错误.(我在某处读到你必须编译和发布项目以使其正常工作?这也是正确的吗?)

1>------ Build started: Project: openCVTest, Configuration: Debug Win32 ------
1>Build started 5/6/2012 10:39:03 AM.
1>InitializeBuildStatus:
1>  Touching "Debug\openCVTest.unsuccessfulbuild".
1>ClCompile:
1>  All outputs are up-to-date.
1>ManifestResourceCompile:
1>  All outputs are up-to-date.
1>openCVTest.obj : error LNK2019: unresolved external symbol _cvWaitKey referenced in function _main
1>openCVTest.obj : error LNK2019: unresolved external symbol "void __cdecl cv::imshow(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,class cv::_InputArray const &)" (?imshow@cv@@YAXABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@ABV_InputArray@1@@Z) referenced in …
Run Code Online (Sandbox Code Playgroud)

c++ opencv visual-studio-2010 unresolved-external lnk2019

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

如何从位图创建"像素化"SVG图像?

我有一个16x16的位图,想要创建一个包含16x16方块的SVG,其中包含图像像素的颜色.有没有一种简单的方法来实现这一目标?

我目前的想法是使用Python和PIL读取位图图像并使用相应的对象动态创建SVG图像文件.但这感觉有点笨拙,就像重新发明轮子一样.

有一个更好的方法吗?

graphics svg bitmap

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

如何制作复杂列表的完全非共享副本?(深层复制还不够)

看看这个Python代码:

a = [1, 2, 3]
b = [4, 5, 6]
c = [[a, b], [b, a]] # [[[1, 2, 3], [4, 5, 6]], [[4, 5, 6], [1, 2, 3]]]
c[0][0].append(99)   # [[[1, 2, 3, 99], [4, 5, 6]], [[4, 5, 6], [1, 2, 3, 99]]]
Run Code Online (Sandbox Code Playgroud)

请注意修改一个元素如何修改c到处.也就是说,如果99附加到c[0][0],则也附加到c[1][1].我猜这是因为Python巧妙地引用相同的对象 for c[0][0]c[1][1].(那是他们的id()是一样的.)

问题:是否可以执行某些操作以c使其列表元素可以安全地进行本地修改?上面只是一个例子,我的真正问题有一个更复杂的列表,但有类似的问题.

(对不起,上面提到的问题很糟糕.Python大师请随意修改问题或标签以更好地表达此查询.)

python copy list

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