小编Ash*_*ppa的帖子

如何在Python3中进行ROT13编码?

Python 3文档在其编解码器页面上列出了rot13 .

我尝试使用rot13编码对字符串进行编码:

import codecs
s  = "hello"
os = codecs.encode( s, "rot13" )
print(os)
Run Code Online (Sandbox Code Playgroud)

这给出了一个unknown encoding: rot13错误.是否有不同的方法来使用内置的rot13编码?如果在Python 3中删除了这种编码(正如Google搜索结果似乎表明的那样),为什么它仍然在Python3文档中列出?

rot13 python-3.x

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

如何使CMake附加链接器标志而不是前置它们?

CMake似乎在GCC编译命令的前面添加链接器标志,而不是在末尾附加它.如何使CMake附加链接器标志?

这是一个重现问题的简单示例.考虑使用以下C++代码clock_gettime:

// main.cpp
#include <iostream>
#include <time.h>

int main()
{
    timespec t;
    clock_gettime(CLOCK_REALTIME, &t);
    std::cout << t.tv_sec << std::endl;
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

这是一个CMakeLists.txt来编译上面的C++文件:

cmake_minimum_required(VERSION 2.8)
set(CMAKE_EXE_LINKER_FLAGS "-lrt")
add_executable(helloapp main.cpp)
Run Code Online (Sandbox Code Playgroud)

请注意,我们已添加,-lrt因为它有定义clock_gettime.

使用以下方法编译:

$ ls
  CMakeLists.txt main.cpp
$ mkdir build
$ cd build
$ cmake ..
$ make VERBOSE=1
Run Code Online (Sandbox Code Playgroud)

即使您可以-lrt在命令中看到,这会引发此错误:

/usr/bin/c++ -lrt CMakeFiles/helloapp.dir/main.cpp.o -o helloapp -rdynamic 
CMakeFiles/helloapp.dir/main.cpp.o: In function `main':
main.cpp:(.text+0x15): undefined reference to `clock_gettime'
collect2: ld returned 1 exit status
make[2]: *** …
Run Code Online (Sandbox Code Playgroud)

linker gcc cmake linker-flags

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

如何使用TUI或CGDB在GDB中使用颜色?

我通过将此行添加到以下内容为GDB提示设置了颜色~/.gdbinit:

set prompt \033[0;32m(gdb) \033[0m
Run Code Online (Sandbox Code Playgroud)

这在GDB中工作正常,直到我打开TUI.然后丢弃颜色并显示原始颜色代码.如果我使用CGDB,也会发生同样的事情.

这是2015年.有没有什么方法可以在GDB中同时使用这两种颜色,还可以查看我在终端的子窗口(如TUI/CGDB)中调试的源代码?

gdb tui colors cgdb

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

Visual C++:如何在代码中嵌入和显示编译时消息?

有没有办法在编译期间显示的代码中嵌入消息,当编译该代码时?消息本质上是诊断性的,不应修改或中止编译过程.

(免责声明:我知道这个问题的答案.我没有在Stack Overflow上找到它,我认为这对知识库来说是一个有用的补充.)

preprocessor directive messages visual-c++

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

C的常用库有哪些?

C++有STL和Boost,C#有.net Framework库.同样,对C程序员有用的最常见的库是什么?(除了C标准库.)

我正在寻找STL中可用的大多数功能:容器(向量,链表,树,哈希表),算法(排序,搜索),文件IO和字符串.

理想情况下,库应该是开源的,在Windows上工作(跨平台很好)并且正在积极使用.

c libraries

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

CUDA:CPU计时器和CUDA计时器事件之间的区别?

使用CPU计时器CUDA计时器事件来测量执行某些CUDA代码所需的时间有什么区别?CUDA程序员应该使用以下哪些,为什么?

CPU计时器使用将涉及cudaThreadSynchronize在记录任何时间之前调用.注意clock()可以使用时间或者QueryPerformanceCounter可以查询(在Windows上)高分辨率性能计数器.

CUDA计时器事件将涉及使用之前和之后的记录cudaEventRecord.稍后,通过调用cudaEventSynchronize事件cudaEventElapsedTime获得经过的时间,然后获得经过的时间.

cuda timer

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

BST来自​​两个未排序的数组

在一次采访中询问了这个问题:给定两个未排序的数组,检查它是否会创建相同的bst.例如:2,1,4,0​​和2,1,0,4都将形成相同的BST.

     2
    / \
   1   4
  /
 0
Run Code Online (Sandbox Code Playgroud)

请建议一些好的算法.

algorithm binary-tree

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

如何只为Vim中的某些文件类型启用换行?

我已经关闭了自动换行Vim的在我加入这个的vimrc:

set nowrap
Run Code Online (Sandbox Code Playgroud)

但是,我想在编辑*.tex文件时自动打开换行.所以,我把它添加到我的vimrc:

augroup WrapLineInTeXFile
    autocmd!
    autocmd FileType tex set wrap
augroup END
Run Code Online (Sandbox Code Playgroud)

当检测到文件类型为TeX时,这应该启用换行.这与tex文件的预期效果一样,但是如果我在同一个Vim会话中打开一个非tex文件,它会打开换行!

在Vim上的不同文件扩展名上自动启用和禁用自动换行建议使用BufRead.但是,即使这样也会产生相同的效果:如果我先打开TeX文件,然后打开非TeX文件,则非TeX文件会打开换行.

如何仅针对特定文件类型正确启用换行?

vim word-wrap

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

atomicAdd()for GPU上的double

我正在GPU上做一个项目,我必须使用atomicAdd()for double,因为cuda不支持double,所以我使用下面的代码,这是NVIDIA提供的.

__device__ double atomicAdd(double* address, double val)
{
    unsigned long long int* address_as_ull =
                                          (unsigned long long int*)address;
    unsigned long long int old = *address_as_ull, assumed;
    do {
        assumed = old;
        old = atomicCAS(address_as_ull, assumed, 
                        __double_as_longlong(val + 
                        __longlong_as_double(assumed)));
    } while (assumed != old);
    return __longlong_as_double(old);
}
Run Code Online (Sandbox Code Playgroud)

现在我想知道为什么工具需要一个循环,而(假设!=旧)

cuda atomic

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

代码具有min()/ max()调用的奇怪C++错误

当我的C++代码有min()或max()调用时,我看到了奇怪的错误.我正在使用Visual C++编译器.

c c++

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