魔法命令¶
魔法是内核的特殊命令,不是 C++ 编程语言的一部分。
用符号 %
定义了行魔法和 %%
定义了单元格魔法。
在 xeus-cling 中,有一些魔法是可用的。在未来,用户定义的魔法也将被启用。
%%executable¶
将所有输入的单元格的代码转储到一个可执行的二进制文件中。单元格的内容用于 main 函数的主体。
%%executable filename [-- linker options]
示例
可选参数:
任何额外的参数都会传递给链接器。特别是,这可以与 -l
一起使用,以链接额外的库,否则就会被加载到
#pragma cling load("...")
此外,一些选项影响了代码的生成:
-fsanitize=thread |
用 ThreadSanitizer 启用 instrumentation |
-g |
启用可执行文件中的调试信息 |
%%file¶
这个神奇的命令复制了一个名为 filename
的文件中的单元格内容。
%%file [-a] filename
示例
可选参数:
-a |
将内容追加到文件中。 |
%timeit¶
度量一个行语句(%timeit
)或一个语句块(%%timeit
)的执行时间。
行模式下的用法
%timeit [-n<N> -r<R> -p<P>] statement
单元格模式下的用法
%%timeit [-n<N> -r<R> -p<P>]
statements
示例
可选参数:
-n |
在一个循环中执行给定的语句 <N> 次。如果没有给定这个值,将选择一个拟合值。 |
-r |
重复循环迭代 <R> 次,取最佳结果。默认值:7 |
-p |
使用 <P> 位的精度来显示计时结果。默认值:3 |