小编Laz*_*zer的帖子

makefile中.PHONY的目的是什么?

.PHONYMakefile 中的含义是什么?我已经完成了这个,但它太复杂了.

有人可以用简单的语言向我解释一下吗?

makefile phony-target

1535
推荐指数
10
解决办法
36万
查看次数

如何使用Python从字符串中删除字符

例如,有一个字符串.EXAMPLE.

如何删除中间字符,即M从中删除?我不需要代码.我想知道:

  • Python中的字符串是否以任何特殊字符结尾?
  • 这是一个更好的方法 - 从中​​间字符开始从右到左移动或创建一个新字符串而不是复制中间字符?

python string

421
推荐指数
9
解决办法
141万
查看次数

为什么我们使用Base64?

维基百科

当需要编码需要通过设计用于处理文本数据的媒体存储和传输的二进制数据时,通常使用Base64编码方案.这是为了确保数据在运输过程中保持完好无需修改.

但是,数据是否总是以二进制形式存储/传输,因为我们的机器存储二进制文件的内存只取决于你如何解释它?因此,无论您编码位模式010011010110000101101110ManASCII或如TWFu为Base64,你最终将存储相同的位模式.

如果最终编码是零和1,并且每台机器和媒体都可以处理它们,那么如果数据表示为ASCII或Base64,这又如何重要?

什么是"旨在处理文本数据的媒体"?他们可以处理二元=>他们可以处理任何事情.


谢谢大家,我想我现在明白了.

当我们发送数据时,我们无法确定数据的解释格式是否与我们预期的相同.因此,我们发送以双方都理解的某种格式(如Base64)编码的数据.这样,即使发送方和接收方以不同方式解释相同的内容,但由于它们对编码格式达成一致,因此数据不会被错误地解释.

来自Mark Byers的例子

如果我想发送

Hello
world!
Run Code Online (Sandbox Code Playgroud)

一种方法是用ASCII发送它

72 101 108 108 111 10 119 111 114 108 100 33
Run Code Online (Sandbox Code Playgroud)

但是字节10可能无法正确解释为另一端的换行符.因此,我们使用ASCII的子集对此进行编码

83 71 86 115 98 71 56 115 67 110 100 118 99 109 120 107 73 61 61
Run Code Online (Sandbox Code Playgroud)

以相同数量的信息传输的更多数据为代价,确保接收器能够以预期的方式解码数据,即使接收器恰好对字符集的其余部分有不同的解释.

algorithm binary base64 ascii character-encoding

246
推荐指数
12
解决办法
8万
查看次数

如何将反射添加到C++应用程序?

我希望能够内省一个C++类的名称,内容(即成员及其类型)等.我在这里说的是原生C++,而不是托管C++,它有反射.我意识到C++使用RTTI提供一些有限的信息.哪些额外的库(或其他技术)可以提供此信息?

c++ reflection templates sfinae

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

如何使用合并排序算法进行就地排序?

我知道问题不是太具体.

我想要的只是告诉我如何将普通合并排序转换为就地合并排序(或具有恒定额外空间开销的合并排序).

我所能找到的(网上)是"太复杂"或"超出本文范围"的网页.

唯一已知的就地合并方式(没有任何额外空间)太复杂,无法简化为实际程序.(取自这里)

即使它太复杂,如何使合并排序到位的基本概念是什么?

arrays sorting algorithm mergesort in-place

229
推荐指数
7
解决办法
14万
查看次数

究竟什么是折返函数?

大多数 时代,再进入的定义转引自维基百科:

如果计算机程序或例程在其先前的调用完成之前可以被安全地再次调用(即可以同时安全地执行),则将其描述为可重入的 .可重入,计算机程序或例程:

  1. 必须不保留静态(或全局)非常量数据.
  2. 不得将地址返回到静态(或全局)非常量数据.
  3. 必须仅对调用者提供给它的数据有效.
  4. 不能依赖于锁定单例资源.
  5. 不得修改自己的代码(除非在自己独特的线程存储中执行)
  6. 不得调用不可重入的计算机程序或例程.

如何安全地定义?

如果一个程序可以安全地同时执行,它是否总是意味着它是可重入的?

在检查我的代码是否具有重入功能时,我应该记住的六点之间的共同点是什么?

也,

  1. 所有递归函数都是可重入的吗?
  2. 所有线程安全功能都是可重入的吗?
  3. 所有递归和线程安全函数都是可重入的吗?

在写这个问题的时候,有一件事情浮现在脑海中:像重入线程安全这样的术语是否完全绝对,即他们是否有固定的具体定义?因为,如果他们不是,这个问题不是很有意义.

c c++ recursion thread-safety reentrancy

190
推荐指数
4
解决办法
7万
查看次数

编译代码和可执行代码之间有什么区别?

我总是使用术语编译构建可互换.

这些术语究竟代表什么?

terminology compilation build

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

什么是沙盒?

我已阅读维基百科文章,但我不确定它的含义,以及它与版本控制有多相似.

如果有人能用非常简单的术语解释什么是沙盒,那将会很有帮助.

sandbox

111
推荐指数
4
解决办法
7万
查看次数

仿真和模拟之间有什么区别?

可能重复:
模拟器还是模拟器?有什么不同?

用简单易懂的术语来说,这两个术语有什么区别?

[我已经看过这个,这个这个 ]

simulation emulation

104
推荐指数
3
解决办法
11万
查看次数

如何匹配除特定字符之外的任何非空格字符?

在Perl中\S匹配任何非空白字符.

如何匹配除反斜杠之外的任何非空白字符\

regex perl

100
推荐指数
3
解决办法
17万
查看次数