最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Cython編譯python為so 代碼加密示例

 更新時間:2019年12月23日 15:35:46   作者:nxeexn  
今天小編就為大家分享一篇Cython編譯python為so 代碼加密示例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

1. 編譯出來的so比網(wǎng)上流傳的其他方法小很多。

2. language_level  是python的主版本號,如果python版本是2.x,目前的版本Cython需要人工指定language_level.

3. python setup.py build_ext --inplace  執(zhí)行腳本

4. 以下是代碼片段

from distutils.core import Extension, setup
 
from Cython.Build import cythonize
from Cython.Compiler import Options
 
 
# __file__ 含有魔術(shù)變量的應(yīng)當(dāng)排除,Cython雖有個編譯參數(shù),但只能設(shè)置靜態(tài)。
exclude_so = ['__init__.py', "mixins.py"]
sources = ['core', 'libs']
 
 
extensions = []
for source in sources:
  for dirpath, foldernames, filenames in os.walk(source):
    for filename in filter(lambda x: re.match(r'.*[.]py$', x), filenames):
      file_path = os.path.join(dirpath, filename)
      if filename not in exclude_so:
        extensions.append(
            Extension(file_path[:-3].replace('/', '.'), [file_path], extra_compile_args = ["-Os", "-g0"],
                 extra_link_args = ["-Wl,--strip-all"]))
 
 
Options.docstrings = False
compiler_directives = {'optimize.unpack_method_calls': False}
setup( 
    # cythonize的exclude全路徑匹配,不靈活,不如在上一步排除。
    ext_modules = cythonize(extensions, exclude = None, nthreads = 20, quiet = True, build_dir = './build',
                language_level = 2 或者3 , compiler_directives = compiler_directives))

以上這篇Cython編譯python為so 代碼加密示例就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評論

蓬溪县| 卢氏县| 萨嘎县| 新郑市| 崇仁县| 三都| 黄梅县| 谷城县| 乐业县| 麻城市| 岚皋县| 苏尼特右旗| 麦盖提县| 新余市| 惠东县| 息烽县| 克拉玛依市| 稷山县| 诸城市| 莱阳市| 安新县| 天水市| 巨野县| 南康市| 烟台市| 隆回县| 洛隆县| 开远市| 广元市| 惠东县| 四川省| 大田县| 内江市| 上虞市| 镇雄县| 肇源县| 屯昌县| 祁阳县| 揭东县| 灵川县| 会宁县|