欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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 代碼加密示例就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Python3 pickle模塊的使用方法詳細(xì)介紹

    Python3 pickle模塊的使用方法詳細(xì)介紹

    pickle提供了一個(gè)簡(jiǎn)單的持久化功能??梢詫?duì)象以文件的形式存放在磁盤上,pickle序列化后的數(shù)據(jù),可讀性差,人一般無法識(shí)別,本文詳細(xì)介紹了pickle模塊的使用方法
    2021-10-10
  • 解決pip安裝報(bào)錯(cuò)required?to?install?pyproject.toml-based?projects問題

    解決pip安裝報(bào)錯(cuò)required?to?install?pyproject.toml-based?projec

    這篇文章主要介紹了解決pip安裝報(bào)錯(cuò)required?to?install?pyproject.toml-based?projects問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-05-05
  • Django獲取model中的字段名和字段的verbose_name方式

    Django獲取model中的字段名和字段的verbose_name方式

    這篇文章主要介紹了Django獲取model中的字段名和字段的verbose_name方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-05-05
  • 用Python簡(jiǎn)單實(shí)現(xiàn)個(gè)貪吃蛇小游戲(保姆級(jí)教程)

    用Python簡(jiǎn)單實(shí)現(xiàn)個(gè)貪吃蛇小游戲(保姆級(jí)教程)

    本文基于Windows環(huán)境開發(fā),適合Python新手,文中有非常詳細(xì)的代碼示例,對(duì)正在學(xué)習(xí)python的小伙伴們很有幫助,需要的朋友可以參考下
    2021-06-06
  • Python 40行代碼實(shí)現(xiàn)人臉識(shí)別功能

    Python 40行代碼實(shí)現(xiàn)人臉識(shí)別功能

    很多人都認(rèn)為人臉識(shí)別是一項(xiàng)非常難以實(shí)現(xiàn)的工作,看到名字就害怕,然后心懷忐忑到網(wǎng)上一搜,看到網(wǎng)上N頁的教程立馬就放棄了。其實(shí)如果你不是非要深究其中的原理,只是要實(shí)現(xiàn)這一工作的話,人臉識(shí)別也沒那么難。今天我們就來看看如何在40行代碼以內(nèi)簡(jiǎn)單地實(shí)現(xiàn)人臉識(shí)別。
    2017-04-04
  • Python離線安裝包教程分享

    Python離線安裝包教程分享

    這篇文章主要介紹了Python離線安裝包教程,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-02-02
  • Python 如何限制輸出日志的大小

    Python 如何限制輸出日志的大小

    這篇文章主要介紹了Python 限制輸出日志的大小方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2021-03-03
  • python自動(dòng)化辦公操作PPT的實(shí)現(xiàn)

    python自動(dòng)化辦公操作PPT的實(shí)現(xiàn)

    這篇文章主要介紹了python自動(dòng)化辦公操作PPT的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-02-02
  • 基于Python搭建人臉識(shí)別考勤系統(tǒng)

    基于Python搭建人臉識(shí)別考勤系統(tǒng)

    人臉識(shí)別目前正被用于讓世界更安全、更智能、更方便。在本文中,你將學(xué)習(xí)如何使用 Python 構(gòu)建人臉識(shí)別系統(tǒng)。人臉識(shí)別比人臉檢測(cè)更進(jìn)一步。感興趣的可以學(xué)習(xí)一下
    2021-12-12
  • Django logging配置及使用詳解

    Django logging配置及使用詳解

    這篇文章主要介紹了Django logging配置及使用詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-07-07

最新評(píng)論