魔法命令

魔法命令#

魔法命令是内核的特殊命令,它们不属于 C++ 编程语言。它们使用符号 % 定义为行魔法,使用 %% 定义为单元格魔法。

%%executable#

将所有输入的单元格代码导出到可执行二进制文件中。单元格的内容用于主函数的主体。

%%executable filename [-- linker options]
# include <iostream>
int square(int x) {return x*x;}
%%executable square.x
std::cout << square(4) << std::endl;
!./square.x

您可以使用以下选项,这些选项将传递给链接器并影响代码生成:

  • -fsanitize:使用 ThreadSanitizer 启用仪器

  • -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