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

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

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

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

2. language_level  是python的主版本號(hào),如果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雖有個(gè)編譯參數(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)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論

绥阳县| 灌南县| 丽江市| 临湘市| 正蓝旗| 阆中市| 周宁县| 大宁县| 喀什市| 张北县| 景宁| 广饶县| 改则县| 同德县| 张家港市| 澄迈县| 安福县| 晋城| 保德县| 措美县| 新蔡县| 清苑县| 丹巴县| 平遥县| 寿宁县| 九江市| 江津市| 仲巴县| 昌黎县| 师宗县| 新巴尔虎左旗| 望谟县| 柘城县| 朝阳县| 镇远县| 苏州市| 汉中市| 顺义区| 河源市| 广昌县| 福州市|