python:调用函数序列

时间:2015-09-25 17:58:50

标签: python ctypes

33
Printing by msvcrt: Hello World!

上面代码的结果:

render() {
  errorcode = this.props.errorcode;
  if (this.props.errorcode) {
    return <ErrorComponent...>
  }

clearErrors() {
  errorcode = null;
}

为什么首先打印字符串的长度,而不是字符串本身?

3 个答案:

答案 0 :(得分:1)

答案 1 :(得分:0)

您正在使用两个独立的C运行时库实例。 msvcrt.dll以及Python链接的任何版本。我的Python 2.7版本使用msvcr90.dll,它来自Visual Studio 2008。

这意味着缓冲的stdout有两个独立的实例,在你的情况下,Python的缓冲I / O在另一个实例之前刷新。我无法重现你的脚本输出。

答案 2 :(得分:-1)

你已经启动了两个独立的执行线程:一个在Python中,一个在C中(我过度简化)。 Python首先完成。

获得此效果的另一种方法是在使用print语句执行一些非常简单(快速)的代码之后,在Python中生成堆栈跟踪(执行错误)。堆栈跟踪可以与打印输出交错。