书栈网 · BookStack 本次搜索耗时 0.032 秒,为您找到 98600 个相关结果.
  • Thread 编译指示

    Thread 编译指示 Thread 编译指示 出于可读性的考虑,作为新线程执行的程序应该用 thread 编译指示进行标记。 编译器会检查是否违反了 no heap sharing restriction “无堆共享限制”: 这个限制的意思是,由来自不同的(线程本地)堆上的内存所组成的数据结构是无效的。 线程过程可以被传递给 createThre...
  • Packed 编译指示

    Packed 编译指示 Packed 编译指示 packed 编译指示可以用于任意 object 类型,确保对象里的字段一个接一个地紧密排放。 当需要访问网络、硬件驱动,或者与 C 语言进行互操作时,这个编译指示非常有用。将 packed 编译指示与继承相结合是未定义的。它也不应该用于带 GC 的内存(使用引用)。 未来方向 : 在 packed ...
  • Union 编译指示

    Union 编译指示 Union 编译指示 union 编译指示可以应用于任意 object 类型,表示这个对象的每个字段在内存中都重叠在一起。生成 C/C++ 代码时将产生联合体(union)而不是结构体(struct)。声明这个对象时禁止使用继承、禁止使用带 GC 的内存,但目前编译器不做这个检查。 未来的方向 : 应该允许联合体使用带 GC ...
  • Extern 编译指示

    Extern 编译指示 Extern 编译指示 像 exportc 或 importc一样, extern 编译指示也能影响名称混淆。传递给 extern 的字符串字面量可以是一个格式化字符串: proc p ( s : string ) {. extern : "prefix$1" .} = echo s 在示例中,...
  • 宏编译指示

    宏编译指示 宏编译指示 有时可以用编译指示语法来调用宏和模板,比如用在例程(过程、迭代器等)声明或例程类型表达式上。编译器执行以下简单的语法转换: template command ( name : string , def : untyped ) = discard proc p () {. command ( "p...
  • CodegenDecl 编译指示

    CodegenDecl 编译指示 CodegenDecl 编译指示 codegenDecl 指示可以用于直接影响 Nim 的代码生成器。 它接收一个格式字符串,该字符串决定了在生成的代码中如何声明变量、过程或对象类型。 对于变量,格式字符串中的 $1 表示变量的类型,$2 表示变量的名称,$# 按出现的先后顺序依次表示 $1、$2。 以下 Nim...
  • Compile 编译指示

    Compile 编译指示 Compile 编译指示 compile 编译指示用来把 C/C++ 源文件与项目一同编译和链接: 这个 pragma 可以有三种形式。第一种是简单的文件输入: {. compile : "myfile.cpp" .} 第二种形式是元组,其中第二个参数是输出名称的 strutils 格式化程序: {. com...
  • Align 编译指示

    Align 编译指示 Align 编译指示 align 编译指示是针对变量和对象字段成员的,用于修改所声明的实体的字节对齐要求。其参数必须是常数,是 2 的整数次幂。同一个声明存在多个有效的非 0 对齐的编译指示时,较弱的编译指示会被忽略。与类型的对齐要求相比,较弱的对齐编译指示的声明也会被忽略。 type sseType = obj...
  • Bitsize 编译指示

    Bitsize 编译指示 Bitsize 编译指示 bitsize 是对象字段成员的编译指示。表明该字段为 C/C++ 中的位域。 type mybitfield = object flag {. bitsize : 1. }: cuint 生成: struct mybitfield { unsi...
  • used 编译提示

    used 编译提示 used 编译提示 当一个符号既未导出也未被使用时,Nim 会输出一条警告消息。给这个符号加上 used 编译提示可以抑制这条消息。 当通过宏生成符号时,这个编译提示非常有用: template implementArithOps ( T ) = proc echoAdd ( a , b : T ) {. ...