小编tur*_*1ng的帖子

更改"列表清单"文本

我试图用命令更改"列表清单"文本

\renewcommand*{\lstlistlistingname}{List of XYZ}
Run Code Online (Sandbox Code Playgroud)

在我之前\begin{document}.这有什么问题?

顺便说说

\renewcommand*{\lstlistingname}{NewListing}
Run Code Online (Sandbox Code Playgroud)

像魅力一样工作.

编辑:没有发生错误,只是文本没有变化.它仍然是"列表清单".

顺便说一下,这是我包含它的方式:

\pagestyle{scrheadings}
\pagenumbering{Roman}

\pdfbookmark[0]{\contentsname}{Contents}
\tableofcontents
\listoftables
\listoffigures
\listoflistings

\pagestyle{scrheadings}
\pagenumbering{arabic}
Run Code Online (Sandbox Code Playgroud)

我已经在"列表清单"页面上看到编号以"1"开头但它应该是"V".一些提示?

谢谢

latex listings lstlisting

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

在switch语句中第一个'case'之前的代码

在C中,可以在第一个case标签之前编写代码.有没有这样做的情况,或者它只是一个"死代码块"?

例如:

switch (...)    {
  {
    int a = 0x2a;
    printf("%d\n", a);
  }
  case 0:
    ...
}
Run Code Online (Sandbox Code Playgroud)

c switch-statement

15
推荐指数
3
解决办法
3008
查看次数

使用setrlimit()设置堆栈大小并引发堆栈溢出/段错误

在下面的给出示例中,我尝试将stacksize设置为1kb.

为什么现在可以在堆栈中分配一个大小为8kbin 的int数组foo()

#include <stdio.h>
#include <sys/resource.h>

void foo(void);

int main() {
 struct rlimit lim = {1024, 1024};

 if (setrlimit(RLIMIT_STACK, &lim) == -1)
  return 1;

 foo();

 return 0;
}

void foo() {
 unsigned ints[2048];

 printf("foo: %u\n", ints[2047]=42);
}
Run Code Online (Sandbox Code Playgroud)

c linux stack segmentation-fault setrlimit

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

ANSI-C语法 - 数组声明,如[*] et alii

来自-link-的ANSI C语法给出了以下数组声明规则:

 (1) | direct_declarator '[' type_qualifier_list assignment_expression ']'
 (2) | direct_declarator '[' type_qualifier_list ']'
 (3) | direct_declarator '[' assignment_expression ']'
 (4) | direct_declarator '[' STATIC type_qualifier_list assignment_expression ']'
 (5) | direct_declarator '[' type_qualifier_list STATIC assignment_expression ']'
 (6) | direct_declarator '[' type_qualifier_list '*' ']'
 (7) | direct_declarator '[' '*' ']'
 (8) | direct_declarator '[' ']'
Run Code Online (Sandbox Code Playgroud)

现在我对这些问题有一些疑问:

  • 除了(3)只能在C99中使用(1) - (6)吗?
  • 什么是(4)和(5)?关键字"静态"让我困惑.
  • 在哪里使用(6)?
  • 以下两个函数原型之间的区别是什么:

    void foo(int [*]);

    void foo(int []);

谢谢.

c arrays grammar declaration

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

为什么__mro__没有显示在dir(MyClass)中?

class MyClass(object):
    pass

print MyClass.__mro__
print dir(MyClass)
Run Code Online (Sandbox Code Playgroud)

输出:

(<class '__main__.MyClass'>, <type 'object'>)
['__class__', '__delattr__', '__dict__', '__doc__', '__format__', '__getattribute__', '__hash__', '__init__', '__module__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '__weakref__']
Run Code Online (Sandbox Code Playgroud)

为什么__mro__没有列出dir()

python method-resolution-order

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

libc的backtrace_symbols()和libunwind的unw_get_proc_name()中的不同偏移量

我在程序中的某个点上进行了堆栈跟踪.一旦与libc中backtrace_symbols()功能,一旦与unw_get_proc_name()来自libunwind.

backtrace_symbols()输出:

/home/jj/test/mylib.so(+0x97004)[0x7f6b47ce9004]
Run Code Online (Sandbox Code Playgroud)

unw_get_proc_name()输出:

ip: 0x7f6b47ce9004, offset: 0x458e4
Run Code Online (Sandbox Code Playgroud)

在这里,您可以看到指令指针地址(0x7f6b47ce9004)是相同且正确的.功能失调0x97004来自backtrace_symbols()也是正确的,但没有一个我从拿到unw_get_proc_name() (0x458e4).

有人知道这里发生了什么以及可能导致这种抵消差异的原因是什么?

两种方法都使用类似的代码,如下面的示例:

回溯():

void *array[10];
size_t size;

size = backtrace(array, 10);
backtrace_symbols_fd(array, size, STDERR_FILENO);
Run Code Online (Sandbox Code Playgroud)

libunwind:

unw_cursor_t    cursor;
unw_context_t   context;

unw_getcontext(&context);
unw_init_local(&cursor, &context);

while (unw_step(&cursor) > 0) {
    unw_word_t  offset, pc; 
    char        fname[64];

    unw_get_reg(&cursor, UNW_REG_IP, &pc);

    fname[0] = '\0';
    (void) unw_get_proc_name(&cursor, fname, sizeof(fname), &offset);

    printf ("%p : (%s+0x%x) [%p]\n", pc, fname, offset, …
Run Code Online (Sandbox Code Playgroud)

libc stack-trace backtrace libunwind

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

多边形裁剪:仅"可视"区域

在下图中,您可以看到(1)三角形和圆形.给定该三角形中的专用点X,我想要剪掉从这一点看不到的所有东西.使用如(2)中的简单多边形差异算法去除圆圈没有问题.但是我可以使用什么样的算法来获得(3)中的多边形?

Polygon总是很简单.

编辑:圆圈只是一个例子.应该可以使用每个简单的多边形

图片#1

你可以通过观看游戏"突击队 - 敌后线"的形象来描绘我的需求:

图片#2

algorithm math clipping polygon computational-geometry

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

C:转换A?B:C进入if(A)B else C

我正在寻找一个可以转换表单的C代码表达式的工具:

a = (A) ? B : C;
Run Code Online (Sandbox Code Playgroud)

使用if/ elsestatements 进入'default'语法:

if (A)
  a = B
else
  a = C
Run Code Online (Sandbox Code Playgroud)

有人知道一个能够做这种转变的工具吗?

我使用GCC 4.4.2并创建一个预处理文件,-E但不希望这样的结构.

编辑:以下代码也应该转换:

a = ((A) ? B : C)->b;
Run Code Online (Sandbox Code Playgroud)

c if-statement transformation

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

在较大的图像中查找小图像

可能重复:
将旋转的位图与拼贴图像匹配

给定具有大尺寸(> 1.000 x 1.000)的图像.在大型图像中找到小图像(例如50 x 50)的好方法是什么?

较小的图像可以旋转并且尺寸不同,但只有1:1的比例.

它与任何编程语言无关 - 我只对模式识别感兴趣.

谢谢.

algorithm pattern-recognition image image-processing

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

不同机器和尺寸的C数据类型的大小(复数长双)

有人知道在不同机器上比较C数据类型大小的网站或论文吗?我对像System z之类的一些"大型"机器的价值感兴趣.

并且:是否存在任何计算机上最大的本机数据类型可以具有的字节上限,并且它总是类型complex long double

编辑:我不确定,但SIMD寄存器数据是否也利用了CPU的缓存?将存储在特殊单元中但不使用L1/L2/L高速缓存的数据类型超出了我的目的.只检查{char,short,int,long,long long,float,double,long double,_Bool,void*}(和_Complex)类型.

c comparison types sizeof

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

计算给定正数的总位数,而不在C中循环

如何计算给定正数的总位数而不在C中循环?

c

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

创建一个缓冲区并对其进行处理

是否有可能创建一个任意大小的缓冲区并像在canvas元素上一样工作?

我想创建一个图形(> 10'000 x 10'000像素)并使用类似的方法drawImage().完成所有操作后,应将部件复制到canvas元素. createImageData()可以制作一个缓冲区但是没有办法使用像drawImage()它这样的方法.

有没有办法在不制作隐形画布元素的情况下实现我的需求?

谢谢!

javascript html5 canvas

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