class_docstr: The main top-level class that you instantiate once, or once per module.
  
  Example usage:
  
      ffi = FFI()
      ffi.cdef("""
          int printf(const char *, ...);
      """)
  
      C = ffi.dlopen(None)   # standard library
      -or-
      C = ffi.verify()  # use a C compiler: verify the decl above is right
  
      C.printf("hello, %s!\n", ffi.new("char[]", "world"))
class_docstr_tok: ["The","main","top-level","class","that","you","instantiate","once",",","or","once","per","module",".","Example","usage",":","ffi","=","FFI","(",")","ffi.cdef","(","``","''","''","int","printf","(","const","char","*",",","...",")",";","``","''","''",")","C","=","ffi.dlopen","(","None",")","#","standard","library","-or-","C","=","ffi.verify","(",")","#","use","a","C","compiler",":","verify","the","decl","above","is","right","C.printf","(","``","hello",",","%","s","!","\\n","''",",","ffi.new","(","``","char","[","]","''",",","``","world","''",")",")"]
docstr: Verify that the current ffi signatures compile on this
  machine, and return a dynamic library object.  The dynamic
  library can be used to call functions and access global
  variables declared in this 'ffi'.  The library is compiled
  by the C compiler: it gives you C-level API compatibility
  (including calling macros).  This is unlike 'ffi.dlopen()',
  which requires binary compatibility in the signatures.
code: def verify(self, source="", tmpdir=None, **kwargs):
      """Verify that the current ffi signatures compile on this
      machine, and return a dynamic library object.  The dynamic
      library can be used to call functions and access global
      variables declared in this 'ffi'.  The library is compiled
      by the C compiler: it gives you C-level API compatibility
      (including calling macros).  This is unlike 'ffi.dlopen()',
      which requires binary compatibility in the signatures.
      """
      from .verifier import Verifier, _caller_dir_pycache
  
      #
      # If set_unicode(True) was called, insert the UNICODE and
      # _UNICODE macro declarations
      if self._windows_unicode:
          self._apply_windows_unicode(kwargs)
      #
      # Set the tmpdir here, and not in Verifier.__init__: it picks
      # up the caller's directory, which we want to be the caller of
      # ffi.verify(), as opposed to the caller of Veritier().
      tmpdir = tmpdir or _caller_dir_pycache()
      #
      # Make a Verifier() and use it to load the library.
      self.verifier = Verifier(self, source, tmpdir, **kwargs)
      lib = self.verifier.load_library()
      #
      # Save the loaded library for keep-alive purposes, even
      # if the caller doesn't keep it alive itself (it should).
      self._libraries.append(lib)
      return lib
  
imports: import sys, types
  from .lock import allocate_lock
  from .error import CDefError
  from .None import model
label_desc: Use image node_id 24 for calling the FFI obj's underlying member method code with example usage: obj.verify(source, tmpdir) and returns: lib