本文整理汇总了Python中re_python_pysrc.ffi.dlopen函数的典型用法代码示例。如果您正苦于以下问题:Python dlopen函数的具体用法?Python dlopen怎么用?Python dlopen使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了dlopen函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Python代码示例。
示例1: test_function
def test_function(self):
import _cffi_backend
from re_python_pysrc import ffi
lib = ffi.dlopen(self.extmod)
assert lib.add42(-10) == 32
assert type(lib.add42) is _cffi_backend.FFI.CData
开发者ID:Qointum,项目名称:pypy,代码行数:7,代码来源:test_re_python.py
示例2: test_no_such_function_or_global_var
def test_no_such_function_or_global_var(self):
from re_python_pysrc import ffi
lib = ffi.dlopen(self.extmod)
e = raises(ffi.error, getattr, lib, "no_such_function")
assert str(e.value).startswith("symbol 'no_such_function' not found in library '")
e = raises(ffi.error, getattr, lib, "no_such_globalvar")
assert str(e.value).startswith("symbol 'no_such_globalvar' not found in library '")
开发者ID:Qointum,项目名称:pypy,代码行数:8,代码来源:test_re_python.py
示例3: test_global_var
def test_global_var():
from re_python_pysrc import ffi
lib = ffi.dlopen(extmod)
assert lib.globalvar42 == 1234
p = ffi.addressof(lib, 'globalvar42')
lib.globalvar42 += 5
assert p[0] == 1239
p[0] -= 1
assert lib.globalvar42 == 1238
开发者ID:cloudera,项目名称:hue,代码行数:9,代码来源:test_re_python.py
示例4: test_dlopen_none
def test_dlopen_none():
import _cffi_backend
from re_python_pysrc import ffi
name = None
if sys.platform == 'win32':
import ctypes.util
name = ctypes.util.find_msvcrt()
lib = ffi.dlopen(name)
assert lib.strlen(b"hello") == 5
开发者ID:Piotrek321,项目名称:Voice,代码行数:9,代码来源:test_re_python.py
示例5: test_dlclose
def test_dlclose(self):
import _cffi_backend
from re_python_pysrc import ffi
lib = ffi.dlopen(self.extmod)
ffi.dlclose(lib)
e = raises(ffi.error, ffi.dlclose, lib)
assert str(e.value) == ("library '%s' is already closed" % (self.extmod,))
e = raises(ffi.error, getattr, lib, "add42")
assert str(e.value) == ("library '%s' has been closed" % (self.extmod,))
开发者ID:Qointum,项目名称:pypy,代码行数:10,代码来源:test_re_python.py
示例6: test_dlopen_none
def test_dlopen_none():
import _cffi_backend
from re_python_pysrc import ffi
name = None
if sys.platform == 'win32':
import ctypes.util
name = ctypes.util.find_msvcrt()
if name is None:
py.test.skip("dlopen(None) cannot work on Windows with Python 3")
lib = ffi.dlopen(name)
assert lib.strlen(b"hello") == 5
开发者ID:cloudera,项目名称:hue,代码行数:11,代码来源:test_re_python.py
示例7: test_dlclose
def test_dlclose():
import _cffi_backend
from re_python_pysrc import ffi
lib = ffi.dlopen(extmod)
ffi.dlclose(lib)
e = py.test.raises(ffi.error, ffi.dlclose, lib)
assert str(e.value).startswith(
"library '%s' is already closed" % (extmod,))
e = py.test.raises(ffi.error, getattr, lib, 'add42')
assert str(e.value) == (
"library '%s' has been closed" % (extmod,))
开发者ID:Piotrek321,项目名称:Voice,代码行数:11,代码来源:test_re_python.py
示例8: test_include_1
def test_include_1(self):
from re_py_subsrc import ffi
assert ffi.integer_const('FOOBAR') == -42
assert ffi.integer_const('FOOBAZ') == -43
assert ffi.integer_const('k2') == 121212
lib = ffi.dlopen(self.extmod) # <- a random unrelated library would be fine
assert lib.FOOBAR == -42
assert lib.FOOBAZ == -43
assert lib.k2 == 121212
#
p = ffi.new("bar_t *", [5, b"foobar"])
assert p.a[4] == ord('a')
开发者ID:abhinavthomas,项目名称:pypy,代码行数:12,代码来源:test_re_python.py
示例9: test_dlclose
def test_dlclose():
import _cffi_backend
from re_python_pysrc import ffi
lib = ffi.dlopen(extmod)
ffi.dlclose(lib)
if type(extmod) is not str: # unicode, on python 2
str_extmod = extmod.encode('utf-8')
else:
str_extmod = extmod
e = py.test.raises(ffi.error, getattr, lib, 'add42')
assert str(e.value) == (
"library '%s' has been closed" % (str_extmod,))
ffi.dlclose(lib) # does not raise
开发者ID:chevah,项目名称:python-package,代码行数:13,代码来源:test_re_python.py
示例10: test_include_1
def test_include_1():
sub_ffi = FFI()
sub_ffi.cdef("static const int k2 = 121212;")
sub_ffi.include(original_ffi)
assert 'macro FOOBAR' in original_ffi._parser._declarations
assert 'macro FOOBAZ' in original_ffi._parser._declarations
sub_ffi.set_source('re_python_pysrc', None)
sub_ffi.emit_python_code(str(tmpdir.join('_re_include_1.py')))
#
if sys.version_info[:2] >= (3, 3):
import importlib
importlib.invalidate_caches() # issue 197 (but can't reproduce myself)
#
from _re_include_1 import ffi
assert ffi.integer_const('FOOBAR') == -42
assert ffi.integer_const('FOOBAZ') == -43
assert ffi.integer_const('k2') == 121212
lib = ffi.dlopen(extmod) # <- a random unrelated library would be fine
assert lib.FOOBAR == -42
assert lib.FOOBAZ == -43
assert lib.k2 == 121212
#
p = ffi.new("bar_t *", [5, b"foobar"])
assert p.a[4] == ord('a')
开发者ID:cloudera,项目名称:hue,代码行数:24,代码来源:test_re_python.py
示例11: test_function_with_varargs
def test_function_with_varargs():
import _cffi_backend
from re_python_pysrc import ffi
lib = ffi.dlopen(extmod, 0)
assert lib.add43(45, ffi.cast("int", -5)) == 45
assert type(lib.add43) is _cffi_backend.FFI.CData
开发者ID:cloudera,项目名称:hue,代码行数:6,代码来源:test_re_python.py
示例12: test_global_const_nonint
def test_global_const_nonint():
from re_python_pysrc import ffi
lib = ffi.dlopen(extmod)
assert ffi.string(lib.globalconsthello, 8) == b"hello"
py.test.raises(AttributeError, ffi.addressof, lib, 'globalconsthello')
开发者ID:cloudera,项目名称:hue,代码行数:5,代码来源:test_re_python.py
示例13: test_global_const_int
def test_global_const_int():
from re_python_pysrc import ffi
lib = ffi.dlopen(extmod)
assert lib.globalconst42 == 4321
py.test.raises(AttributeError, ffi.addressof, lib, 'globalconst42')
开发者ID:cloudera,项目名称:hue,代码行数:5,代码来源:test_re_python.py
示例14: test_constant_via_lib
def test_constant_via_lib():
from re_python_pysrc import ffi
lib = ffi.dlopen(extmod)
assert lib.FOOBAR == -42
assert lib.FOOBAZ == -43
开发者ID:cloudera,项目名称:hue,代码行数:5,代码来源:test_re_python.py
示例15: test_global_const_int
def test_global_const_int(self):
from re_python_pysrc import ffi
lib = ffi.dlopen(self.extmod)
assert lib.globalconst42 == 4321
raises(AttributeError, ffi.addressof, lib, "globalconst42")
开发者ID:Qointum,项目名称:pypy,代码行数:6,代码来源:test_re_python.py
注:本文中的re_python_pysrc.ffi.dlopen函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论