取消(“ your _ tification _ id”) </code></pre> 在远程 Linux 机器上编译 C + +-“检测到时钟偏移”警告

那么,我应该担心吗? 我该如何解决/预防这个问题?

272416 次浏览

在 VS 2022中(我假设在旧版本中也是如此) ,您可能必须检查查找类/类型的快捷方式。在我的例子中,我必须手动配置快捷方式在工具-> 选项-> 键盘: enter image description here

这通常仅仅是由于主机和客户机之间的时间不匹配造成的。您可以尝试使用 Ntp同步计算机上的时间。

如果你试图在另一台机器上修改文件,提前几分钟把它们传输到你的机器上,然后尝试编译它,可能会得到一个警告,说这个文件是从未来修改过的。时钟可能歪斜了或者其他什么原因(记不太清楚了)。你可以直接打开违规文件,然后这样做:

# touch < 文件名的违规文件 >

检查编译的结果是否比源代码的结果更早,例如 somfile.o,例如 somfile.c。上面的警告意味着文件的时间戳有些奇怪。可能大学服务器的系统时钟与你的时钟不同,例如,下午1点推送一个修改日期为下午2点的文件。您可以通过键入 date 查看控制台上的时间。

有人能解释一下为什么 Double.MIN_VALUE实际上不是双打可以接受的最小值吗?它是一个正值,而 Double 当然可以是负值。

Ode > MIN _ INCREMENT 或类似的代码会有更清晰的语义

我明白为什么它是一个有用的数字,但它似乎是一个非常不直观的名称,尤其是当与 Integer.MIN_VALUE相比。将其命名为 Double.SMALLEST_POSITIVEMIN_INCREMENT或类似的名称会有更清晰的语义。

还有,双打最小能承受的价格是多少? 是 -Double.MAX_VALUE吗? 医生好像没有说。

双精度的最小值是 Double.NEGATIVE_INFINITY,这就是为什么 Double.MIN_VALUE实际上不是 Double的最小值。

该消息通常表示某些文件的修改时间晚于当前系统时间。由于 make通过检查源文件是否比目标文件更新得更晚来决定在执行增量构建时编译哪些文件,这种情况可能导致构建不必要的文件,或者更糟糕的是,构建 没有所需的文件。

但是,如果您是从头开始构建(而不是增量构建) ,那么您可能会忽略这个警告而不必承担后果。

* < code > 0x0.00000000001P-1022 ,也等于

IEEE 754格式为符号保留了一位,其余的位表示大小。这意味着它是“对称的”围绕原点(相对于整数值,它有一个更多的负值)。因此,最小值与最大值简单地相同,只是符号位被翻转了,所以 是的-Double.MAX_VALUE是用 double可以表示的最小实际数字。

* < code > Double.longBitsToDouble (0x1L) . */

但是我同意它应该有个更好的名字:)

我认为 Double.MAX_VALUE应该被看作是 最大震级最大震级,在这种情况下,简单地编写 -Double.MAX_VALUE实际上是有意义的。它还解释了为什么 Double.MIN_VALUE是最小的正值(因为它代表了最小可能的大小)。

在这种情况下,简单地编写 -Double.MAX_VALUE实际上是有意义的。它还解释了为什么 Double.MIN_VALUE是最小的正值(因为它代表了最小可能的大小)。

但是当然,我同意这个命名有点误导。习惯了 Integer.MIN_VALUE的意思,当我读到 Double.MIN_VALUE是可以表示的最小的 绝对的值时,我也有点惊讶。也许他们认为用一个表示最小可能值的常数是多余的,因为它只是一个远离 MAX_VALUE-: -)

但是当然,我同意这个命名有点误导。习惯了 Integer.MIN_VALUE的意思,当我读到 Double.MIN_VALUE是可以表示的最小的 绝对的值时,我也有点惊讶。也许他们认为用一个表示最小可能值的常数是多余的,因为它只是一个远离 MAX_VALUE-: -)

(注意,也有 Double.NEGATIVE_INFINITY,但是我忽略了这一点,因为它被视为一个“特殊情况”,实际上并不代表任何实际数字。)

(注意,也有 Double.NEGATIVE_INFINITY,但是我忽略了这一点,因为它被视为一个“特殊情况”,实际上并不代表任何实际数字。)

这里 是关于这个主题的一篇好文章。

我以前也有过这种情况——因为机器上的时钟出了故障。考虑设置 NTP,以便所有计算机都有相同的时间。

这些常数与符号无关。如果你把一个替身看作是由三个部分组成的话,这就更有意义了,这三个部分分别是: 签名、指数和 Mantissa。 安蒂萨。 MIN _ VALUE 实际上是 Mantissa 在指数处于最小值时,在刷新到零之前可以假定的最小值。同样,MAX _ VALUE 可以理解为当指数达到最大值时,Mantissa 可以假设的最大值,然后才会出现无穷大。

MIN _ VALUE 实际上是 Mantissa 在指数处于最小值时,在刷新到零之前可以假定的最小值。同样,MAX _ VALUE 可以理解为当指数达到最大值时,Mantissa 可以假设的最大值,然后才会出现无穷大。

这两个值的更具描述性的名称可以是 最大纯度(为详细性添加非零)和 最小的绝对值(为详细性添加非无穷大)。

这两个值的更具描述性的名称可以是 最大纯度(为详细性添加非零)和 最小的绝对值(为详细性添加非无穷大)。

详情请参阅 IEEE 754(1985)标准。有一个修订版(2008年) ,但只是引入了更多的格式,甚至不支持 Java (严格来说,Java 甚至缺乏对 IEEE 7541985的一些强制性特性的支持,就像许多其他高级语言一样)。

双精度浮点数可以表示2,098次方的2次方,从2 ^ -1074到2 ^ 1023。2的归一化幂是从2 ^ -1074到2 ^ -1023的幂; 2的归一化幂是从2 ^ -1022到2 ^ 1023的幂。参考 这个这个

f = open("file.txt")
lines = f.readlines()

我试过使用 open,但它给我无效的语法(我选择的文件名是“数字”,它自动保存到 "My Documents",所以我试了 open(numbers, 'r')open(C:\name\MyDocuments\numbers, 'r'),没有一个工作)。

文件。

将 strint 转换为整数很容易: int("12")

看看 给你readlines()返回包含每个元素一行的列表。请注意,这些行的末尾包含 \n(换行符)。可以使用 strip()-方法去掉这个换行符。例如,调用 lines[index].strip()以获得没有换行符的字符串。

正如 Joaquin 所说,不要忘了 f.close()文件。

更换计算机中的手表电池。我已经看到这个错误消息时,硬币寻找电池的主板是需要更换。

(请注意,这个问题不能通过运行 ntpdate来解决。这只能暂时解决时差问题,而不是将来的问题。)

您需要向 open传递一个文件名字符串。如果字符串中包含 \,则会出现额外的复杂情况,因为这是 Python 的一个特殊字符串转义字符。您可以通过将每个字符串加倍为 \\或者在字符串前面放置一个 r来修复这个问题,如下所示: r'C:\name\MyDocuments\numbers'

对于 Ubuntu 和 Debian 派生的系统,只需在命令行中键入以下代码行:

$ sudo apt install ntp

编辑: 对这个问题的编辑使得它与原版完全不同,而且因为它们都不是来自原版海报,所以我不确定它们是否被授权使用。然而,它确实指出了一个可能被忽略的显而易见的事情,那就是如何将“我的文档”添加到文件名中。

此外,仍然需要在受影响的目录中发出命令 touch *一次(并且只有一次) ,以便一劳永逸地纠正文件修改次数。

$ touch *

有关 ntpntpdate的分别,请参阅:

with open('C:/path/numbers.txt') as f:
lines = f.read().splitlines()

这里的其他答案很好地解释了这个问题,所以我不在这里重复。但有一种解决方案尚未列出: 只需运行 make clean,然后重新运行 make

这将为您提供文件中的值(字符串)列表,其中删除了换行符。

删除任何已经编译的文件将防止 make 拥有任何文件来比较时间戳,从而解决警告问题。

这事发生在我身上。这是因为我运行 make -j 4和一些工作完成了秩序。在使用 -j选项时,应该预料到会出现此警告。

在 python 中将 file 读入 list 的两种方法(注意,这两种方法都不是要么是要么)-

    理解
  • 使用由 python 2.5及以上版本支持的 with
  • 1. 使用 with

  • 列表理解的使用
  • 1. 使用 with

    这是打开和读取文件的 Python 方式。

    #Sample 1 - elucidating each step but not memory efficient
    lines = []
    with open("C:\name\MyDocuments\numbers") as file:
    for line in file:
    line = line.strip() #or some other preprocessing
    lines.append(line) #storing everything in memory!
    
    
    #Sample 2 - a more pythonic and idiomatic way but still not memory efficient
    with open("C:\name\MyDocuments\numbers") as file:
    lines = [line.strip() for line in file]
    
    
    #Sample 3 - a more pythonic way with efficient memory usage. Proper usage of with and file iterators.
    with open("C:\name\MyDocuments\numbers") as file:
    for line in file:
    line = line.strip() #preprocess line
    doSomethingWithThisLine(line) #take action on line instead of storing in a list. more memory efficient at the cost of execution speed.
    

    这是打开和读取文件的 Python 方式。

    #Sample 1 - elucidating each step but not memory efficient
    lines = []
    with open("C:\name\MyDocuments\numbers") as file:
    for line in file:
    line = line.strip() #or some other preprocessing
    lines.append(line) #storing everything in memory!
    
    
    #Sample 2 - a more pythonic and idiomatic way but still not memory efficient
    with open("C:\name\MyDocuments\numbers") as file:
    lines = [line.strip() for line in file]
    
    
    #Sample 3 - a more pythonic way with efficient memory usage. Proper usage of with and file iterators.
    with open("C:\name\MyDocuments\numbers") as file:
    for line in file:
    line = line.strip() #preprocess line
    doSomethingWithThisLine(line) #take action on line instead of storing in a list. more memory efficient at the cost of execution speed.
    

    .strip()用于文件的每一行,以删除每一行可能具有的 \n换行符。当 with结束时,文件将为您自动关闭。即使在异常内部引发了异常,也是如此。

    .strip()用于文件的每一行,以删除每一行可能具有的 \n换行符。当 with结束时,文件将为您自动关闭。即使在异常内部引发了异常,也是如此。

    2. 使用列表内涵

    2. 使用列表内涵

    这可能被认为是低效的,因为文件描述符可能不会立即关闭。当在打开数千个文件的函数中调用这个函数时,可能会出现一个潜在的问题。

    data = [line.strip() for line in open("C:/name/MyDocuments/numbers", 'r')]
    

    这可能被认为是低效的,因为文件描述符可能不会立即关闭。当在打开数千个文件的函数中调用这个函数时,可能会出现一个潜在的问题。

    data = [line.strip() for line in open("C:/name/MyDocuments/numbers", 'r')]
    

    请注意,文件关闭依赖于实现。通常未使用的变量是由 python 解释器收集的垃圾。在 cPython (python.org 的常规解释器版本)中,这将立即发生,因为它的垃圾收集器通过引用计数工作。在另一个解释器(如 Jython 或 Iron Python)中,可能会出现延迟。

    每一行都包含一个数字,

    numbers =[int(e.strip()) for e in lines]
    

    总结一下人们一直在说的话:

    f=open('data.txt', 'w') # will make a new file or erase a file of that name if it is present
    f=open('data.txt', 'r') # will open a file as read-only
    f=open('data.txt', 'a') # will open a file for appending (appended data goes to the end of the file)
    
    你希望在某处有类似于 try/catch 的东西

    with open('data.txt') as f:
    for line in f:
    print line
    

    如果您希望有类似于 try/catch 的东西

    with open('data.txt') as f:
    for line in f:
    print line
    

    不过我觉得你还是应该用@film eyoda 代码

    虽然我承认我可能遗漏了什么。但是尽管如此,对于另一个开发人员来说,这可能并不明显,也不可取。